Back to home page

Project CMSSW displayed by LXR

 
 

    


Warning, /Geometry/TrackerCommonData/data/pixfwd.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0"?>
0002 <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 ../../../DetectorDescription/Schema/DDLSchema.xsd">
0003     <!-- 
0004          
0005          == CMS Forward Pixels Geometry ==
0006          
0007          @version 3.02.01 May 30, 2006
0008          @created Dmitry Onoprienko
0009          @modified Xingtao Huang to implement the simplified fpix service cylinder
0010          
0011          == Subsystem or component described by the file ==
0012          
0013          Forward pixels endcap (contains two disks inside a service cylinder).
0014          
0015          == Root volume and its reference frame ==
0016          
0017          Two root volumes are defined:
0018          
0019          PixelForwardZPlus  : +Z half of the detector
0020          PixelForwardZMinus : -Z half of the detector
0021          
0022          X horizontal
0023          Y vertical
0024          Z along the beam line, pointing away from IP
0025          
0026          == Positioning ==
0027          
0028          Anchor point of this component is at the IP-side edge of the service cylider, on 
0029          the axis of the detector (see annotated drawings).
0030          The file defines [AnchorZ] constant that corresponds to the Z coordinate
0031          of the anchor point in the forward pixels endcap reference frame, and the
0032          [ZPixelForward] constant equal to the distance from CMS IP to the 
0033          anchor point. 
0034          
0035          Therefore, in the CMS global reference frame,
0036          PixelForwardZPlus has to be positioned at 
0037          (0., 0., 0.) with no rotation, and 
0038          PixelForwardZMinus has to be positioned at
0039          (0., 0., 0.) 
0040          with pixfwdCommon:Y180 rotation (180 degrees around Y axis).
0041          
0042          -->
0043     <!-- Root volumes -->
0044     <ConstantsSection label="Root" eval="true">
0045         <Constant name="RootRadius" value="[pixfwdCylinder:CylindersOuterRmax]"/>
0046         <Constant name="RootHalfLength" value="[pixfwdCylinder:CylindersOuterLength]/2.+ [pixfwdCylinder:CylindersEndFlangeLength]/2."/>
0047         <Constant name="AnchorZ" value="0.*mm"/>
0048         <Constant name="ZPixelForward" value="325.*mm"/>
0049         <Constant name="RootStartZ" value="-2*mm"/>
0050         <Constant name="RootMidZ3" value="[cms:TrackBeamZ1]-[ZPixelForward]"/>
0051         <Constant name="RootEndZ" value="2*[RootHalfLength]"/>
0052     </ConstantsSection>
0053     <SolidSection label="Root">
0054         <Polycone name="PixelForward" startPhi="0*deg" deltaPhi="360*deg">
0055             <ZSection z="[RootStartZ]" rMin="[cms:TrackBeamR1]" rMax="[RootRadius]"/>
0056             <ZSection z="[RootMidZ3]" rMin="[cms:TrackBeamR1]" rMax="[RootRadius]"/>
0057             <ZSection z="[RootEndZ]" rMin="[cms:TrackBeamR2]" rMax="[RootRadius]"/>
0058         </Polycone>
0059     </SolidSection>
0060     <LogicalPartSection label="Root">
0061         <LogicalPart name="PixelForwardZPlus" category="envelope">
0062             <rSolid name="PixelForward"/>
0063             <rMaterial name="materials:Air"/>
0064         </LogicalPart>
0065         <LogicalPart name="PixelForwardZMinus" category="envelope">
0066             <rSolid name="PixelForward"/>
0067             <rMaterial name="materials:Air"/>
0068         </LogicalPart>
0069     </LogicalPartSection>
0070     <!-- Position disks inside root -->
0071     <ConstantsSection label="Disks" eval="true">
0072         <!-- Distances from IP-side edge of PixelForwardRoot to disk centers -->
0073         <Constant name="Disk1Z" value="30*mm"/>
0074         <Constant name="Disk2Z" value="160*mm"/>
0075         <Constant name="Disk3Z" value="290*mm"/>
0076     </ConstantsSection>
0077     <PosPartSection label="Disks">
0078         <!-- +Z endcap -->
0079         <PosPart copyNumber="1">
0080             <rParent name="PixelForwardZPlus"/>
0081             <rChild name="pixfwdDisk:PixelForwardDiskZPlus"/>
0082             <Translation x="0." y="0." z="[AnchorZ]+[Disk1Z]"/>
0083         </PosPart>
0084         <PosPart copyNumber="2">
0085             <rParent name="PixelForwardZPlus"/>
0086             <rChild name="pixfwdDisk:PixelForwardDiskZPlus"/>
0087             <Translation x="0." y="0." z="[AnchorZ]+[Disk2Z]"/>
0088         </PosPart>
0089         <!-- UNCOMMENT TO SIMULATE THE THIRD DISK -->
0090         <!--  <PosPart copyNumber="3">-->
0091         <!--    <rParent name="PixelForwardZPlus"/>-->
0092         <!--    <rChild name="pixfwdDisk:PixelForwardDiskZPlus"/>-->
0093         <!--    <Translation x="0." y="0." z="[AnchorZ]+ [Disk3Z]" />-->
0094         <!--  </PosPart>-->
0095         <!-- -Z endcap -->
0096         <PosPart copyNumber="1">
0097             <rParent name="PixelForwardZMinus"/>
0098             <rChild name="pixfwdDisk:PixelForwardDiskZMinus"/>
0099             <Translation x="0." y="0." z="[AnchorZ]+[Disk1Z]"/>
0100         </PosPart>
0101         <PosPart copyNumber="2">
0102             <rParent name="PixelForwardZMinus"/>
0103             <rChild name="pixfwdDisk:PixelForwardDiskZMinus"/>
0104             <Translation x="0." y="0." z="[AnchorZ]+[Disk2Z]"/>
0105         </PosPart>
0106         <!-- UNCOMMENT TO SIMULATE THE THIRD DISK -->
0107         <!--  <PosPart copyNumber="3">-->
0108         <!--    <rParent name="PixelForwardZMinus"/>-->
0109         <!--    <rChild name="pixfwdDisk:PixelForwardDiskZMinus"/>-->
0110         <!--    <Translation x="0." y="0." z="[AnchorZ]+[Disk3Z]" />-->
0111         <!--  </PosPart>-->
0112     </PosPartSection>
0113     <!-- Position service cylinders inside root.
0114          Since shapeless volumes are not useable at the moment, 
0115          PixelForwardCylinder.xml does the actual positioning, we just tell it where to place the
0116          cylinders by defining Z position of IP-side edge of service cylinder in PixelForward frame:
0117          -->
0118     <ConstantsSection label="ServiceCylinder" eval="true">
0119         <Constant name="ZCylinder" value="[AnchorZ]"/>
0120     </ConstantsSection>
0121     <PosPartSection label="Cylinders">
0122         <!-- +Z endcap -->
0123         <PosPart copyNumber="1">
0124             <rParent name="pixfwd:PixelForwardZPlus"/>
0125             <rChild name="pixfwdCylinder:PixelForwardServiceCylinder"/>
0126             <Translation x="0." y="0." z="0."/>
0127         </PosPart>
0128         <PosPart copyNumber="1">
0129             <rParent name="pixfwd:PixelForwardZPlus"/>
0130             <rChild name="pixfwdCylinder:PixelForwardCylinderEndFlange"/>
0131             <Translation x="0." y="0." z="[pixfwd:ZCylinder]+[pixfwdCylinder:CylindersOuterLength]+[pixfwdCylinder:CylindersEndFlangeLength]/2."/>
0132             <rRotation name="pixfwdCylinder:EndFlangeRot1"/>
0133         </PosPart>
0134         <PosPart copyNumber="2">
0135             <rParent name="pixfwd:PixelForwardZPlus"/>
0136             <rChild name="pixfwdCylinder:PixelForwardCylinderEndFlange"/>
0137             <Translation x="0." y="0." z="[pixfwd:ZCylinder]+[pixfwdCylinder:CylindersOuterLength]+[pixfwdCylinder:CylindersEndFlangeLength]/2."/>
0138             <rRotation name="pixfwdCylinder:EndFlangeRot2"/>
0139             <!-- xt rRotation name="pixfwdCommon:Z180" / xt-->
0140         </PosPart>
0141         <!-- xt PosPart copyNumber="1">
0142              <rParent name="pixfwd:PixelForwardZPlus"/>
0143              <rChild name="pixfwdCylinder:PixelForwardCylinderBackCyl"/>
0144              <Translation x="0." y="0." z="[pixfwd:ZCylinder]+[pixfwdCylinder:CylindersFrontLength]+[pixfwdCylinder:CylinderBackLength]/2." />
0145         </PosPart xt -->
0146         <!-- -Z endcap -->
0147         <PosPart copyNumber="1">
0148             <rParent name="pixfwd:PixelForwardZMinus"/>
0149             <rChild name="pixfwdCylinder:PixelForwardServiceCylinder"/>
0150             <Translation x="0." y="0." z="0."/>
0151         </PosPart>
0152         <PosPart copyNumber="1">
0153             <rParent name="pixfwd:PixelForwardZMinus"/>
0154             <rChild name="pixfwdCylinder:PixelForwardCylinderEndFlange"/>
0155             <Translation x="0." y="0." z="[pixfwd:ZCylinder]+[pixfwdCylinder:CylindersOuterLength]+[pixfwdCylinder:CylindersEndFlangeLength]/2."/>
0156             <rRotation name="pixfwdCylinder:EndFlangeRot1"/>
0157         </PosPart>
0158         <PosPart copyNumber="2">
0159             <rParent name="pixfwd:PixelForwardZMinus"/>
0160             <rChild name="pixfwdCylinder:PixelForwardCylinderEndFlange"/>
0161             <Translation x="0." y="0." z="[pixfwd:ZCylinder]+[pixfwdCylinder:CylindersOuterLength]+[pixfwdCylinder:CylindersEndFlangeLength]/2."/>
0162             <rRotation name="pixfwdCylinder:EndFlangeRot2"/>
0163         </PosPart>
0164         <!-- xt PosPart copyNumber="1">
0165              <rParent name="pixfwd:PixelForwardZMinus"/>
0166              <rChild name="pixfwdCylinder:PixelForwardCylinderBackCyl"/>
0167              <Translation x="0." y="0." z="[pixfwd:ZCylinder]+[pixfwdCylinder:CylindersFrontLength]+[pixfwdCylinder:CylinderBackLength]/2." />
0168         </PosPart xt -->
0169     </PosPartSection>
0170 </DDDefinition>