<?xml version="1.0"?>
<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../DDLSchema/DDLSchema.xsd">

<!-- Declare the geometrical shapes and positions of all tracker --> 
<!-- sensors + any iron boxes etc.                               -->

<SolidSection label="tracker.xml">
 <Box name="BoxTIB" dx="10*cm" dy="10*cm" dz="50*cm"/>
 <Box name="BoxTOB" dx="10*cm" dy="10*cm" dz="50*cm"/>
 <Box name="BoxTEC" dx="10*cm" dy="10*cm" dz="50*cm"/>
 <Box name="BoxIntTIB" dx="9.999*cm" dy="9.999*cm" dz="49.999*cm"/>
 <Box name="BoxIntTOB" dx="9.999*cm" dy="9.999*cm" dz="49.999*cm"/>
 <Box name="BoxIntTEC" dx="9.999*cm" dy="9.999*cm" dz="49.999*cm"/>
 <Box name="TIBSens00" dx="3.072*cm" dy="160*mum" dz="5.84425*cm"/>
 <Box name="TIBLayer" dx="3.072*cm" dy="160*mum" dz="5.84425*cm"/>
 <Box name="TOBSens40" dx="4.6848*cm" dy="250*mum" dz="9.3067*cm"/>
 <Box name="TOBLayer" dx="4.6848*cm" dy="250*mum" dz="9.3067*cm"/>
 <Trd1 name="TECForwardRing5Det2Detector0" dz="9.185*cm" dy1="250*mum" dy2="250*mum" dx1="4.185*cm" dx2="5.24*cm"/>
 <Trd1 name="TECLayer" dz="9.185*cm" dy1="250*mum" dy2="250*mum" dx1="4.185*cm" dx2="5.24*cm"/>
</SolidSection>

 <RotationSection label="tracker.xml">
 <Rotation name="YZflip" phiX="0*deg" thetaX="90*deg" phiY="0*deg" thetaY="180*deg" phiZ="90*deg" thetaZ="90*deg" />
<!-- 10 degree stereo angle -->
 <Rotation name="YZplusStereo" phiX="10*deg" thetaX="90*deg" phiY="0*deg" thetaY="180*deg" phiZ="100*deg" thetaZ="90*deg" />
 </RotationSection>

<LogicalPartSection label="tracker.xml">

<!-- Declare the steel boxes containing the sensors.                -->
<!-- N.B. A box must be declared even if none is physically present -->
<!-- to keep the software happy, which expects sensors to be        -->
<!-- inside layers inside boxes (TIB,TOB,TEC) inside the tracker    -->

 <LogicalPart name="BoxTIB" category="unspecified">
  <rSolid name="BoxTIB"/>
  <rMaterial name="materials:StainlessSteel"/>
 </LogicalPart>
 <LogicalPart name="BoxTOB" category="unspecified">
  <rSolid name="BoxTOB"/>
  <rMaterial name="materials:StainlessSteel"/>
 </LogicalPart>
 <LogicalPart name="BoxTEC" category="unspecified">
  <rSolid name="BoxTEC"/>
  <rMaterial name="materials:StainlessSteel"/>
 </LogicalPart>
 <LogicalPart name="BoxIntTIB" category="unspecified">
  <rSolid name="BoxIntTIB"/>
  <rMaterial name="materials:Air"/>
 </LogicalPart>
 <LogicalPart name="BoxIntTOB" category="unspecified">
  <rSolid name="BoxIntTOB"/>
  <rMaterial name="materials:Air"/>
 </LogicalPart>
 <LogicalPart name="BoxIntTEC" category="unspecified">
  <rSolid name="BoxIntTEC"/>
  <rMaterial name="materials:Air"/>
 </LogicalPart>

<!-- Say what wafers and layers are made of -->

 <LogicalPart name="TIBSens00" category="sensitive">
  <rSolid name="TIBSens00"/>
  <rMaterial name="materials:TIB_Wafer"/>
 </LogicalPart>
 <LogicalPart name="TIBLayer" category="unspecified">
  <rSolid name="TIBLayer"/>
  <rMaterial name="materials:Air"/>
 </LogicalPart>
 <LogicalPart name="TOBLayer" category="unspecified">
  <rSolid name="TOBLayer"/>
  <rMaterial name="materials:Air"/>
 </LogicalPart>
 <LogicalPart name="TECLayer" category="unspecified">
  <rSolid name="TECLayer"/>
  <rMaterial name="materials:Air"/>
 </LogicalPart>
 <LogicalPart name="TOBSens40" category="sensitive">
  <rSolid name="TOBSens40"/>
  <rMaterial name="materials:TOB_Wafer"/>
 </LogicalPart>
<LogicalPart name="TECForwardRing5Det2Detector0" category="sensitive">
  <rSolid name="TECForwardRing5Det2Detector0"/>
  <rMaterial name="materials:TOE_Wafer"/>
 </LogicalPart>
</LogicalPartSection>


<PosPartSection label="tracker.xml">

 <!-- Place barrel and endcap boxes inside tracker /-->

 <PosPart copyNumber="1">
   <rParent name="tb:CMS"/>
   <rChild name="tracker:BoxTOB"/>
   <Translation x="0*fm" y="0*cm" z="-50*cm" />
 </PosPart>
 <PosPart copyNumber="1">
   <rParent name="tb:CMS"/>
   <rChild name="tracker:BoxTEC"/>
   <Translation x="0*fm" y="0*cm" z="50*cm" />
 </PosPart>

 <PosPart copyNumber="1">
   <rParent name="tracker:BoxTOB"/>
   <rChild name="tracker:BoxIntTOB"/>
  <Translation x="0*fm" y="0*cm" z="0*cm" />
 </PosPart>
 <PosPart copyNumber="1">
   <rParent name="tracker:BoxTEC"/>
   <rChild name="tracker:BoxIntTEC"/>
  <Translation x="0*fm" y="0*cm" z="0*cm" />
 </PosPart>

 <!-- Place one detector type inside each layer type /-->

 <PosPart copyNumber="1">
   <rParent name="TOBLayer"/>
   <rChild name="tracker:TOBSens40"/>
  <Translation x="0*fm" y="0*mum" z="0*cm" />
 </PosPart>

 <PosPart copyNumber="1">
   <rParent name="TECLayer"/>
   <rChild name="tracker:TECForwardRing5Det2Detector0"/>
  <Translation x="0*fm" y="0*mum" z="0*cm" />
 </PosPart>

 <!-- Place as many detector (layers) as desired in each box /-->

 <PosPart copyNumber="1">
   <rParent name="BoxIntTOB"/>
   <rChild name="TOBLayer"/>
   <rRotation name="YZplusStereo"/>
  <Translation x="0*fm" y="0*cm" z="-30*cm" />
 </PosPart>

 <PosPart copyNumber="2">
   <rParent name="BoxIntTOB"/>
   <rChild name="TOBLayer"/>
   <rRotation name="YZflip"/>
  <Translation x="0*fm" y="0*cm" z="-20*cm" />
 </PosPart>

 <PosPart copyNumber="3">
   <rParent name="BoxIntTOB"/>
   <rChild name="TOBLayer"/>
   <rRotation name="YZflip"/>
  <Translation x="0*fm" y="0*cm" z="-10*cm" />
 </PosPart>

 <PosPart copyNumber="4">
   <rParent name="BoxIntTOB"/>
   <rChild name="TOBLayer"/>
   <rRotation name="YZflip"/>
  <Translation x="0*fm" y="0*cm" z="0*cm" />
 </PosPart>

 <PosPart copyNumber="5">
   <rParent name="BoxIntTOB"/>
   <rChild name="TOBLayer"/>
   <rRotation name="YZflip"/>
  <Translation x="0*fm" y="0*cm" z="10*cm" />
 </PosPart>

 <PosPart copyNumber="6">
   <rParent name="BoxIntTOB"/>
   <rChild name="TOBLayer"/>
   <rRotation name="YZplusStereo"/>
  <Translation x="0*fm" y="0*cm" z="20*cm" />
 </PosPart>

 <PosPart copyNumber="1">
   <rParent name="BoxIntTEC"/>
   <rChild name="TECLayer"/>
   <rRotation name="YZflip"/>
  <Translation x="0*fm" y="0*cm" z="0*cm" />
 </PosPart>

 <PosPart copyNumber="2">
   <rParent name="BoxIntTEC"/>
   <rChild name="TECLayer"/>
   <rRotation name="YZflip"/>
  <Translation x="0*fm" y="0*cm" z="10*cm" />
 </PosPart>

</PosPartSection>
</DDDefinition>
