Back to home page

Project CMSSW displayed by LXR

 
 

    


Warning, /Geometry/ForwardCommonData/data/brm.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          ********           IMPORTANT!!! WHILE SECTIONS ARE LABELED ABOVE, COMMENTS ARE UNDERNEATH THE LINES THEY ARE ABOUT!!!
0005          
0006          notes:
0007          When I refer to central pad, I am speaking of the circular detection area of the BSC.
0008          When I refer to the trapezoidal paddles, I am speaking of the 4 trapezoidal parts of the detector. 
0009          ************************************************************************************************************************-->
0010     <ConstantsSection label="brm.xml" eval="true">
0011         <!--BSC1_Specifications(below)-->
0012         <Constant name="rMinBSC" value="22.0*cm"/>
0013         <Constant name="rMaxBSC" value="45.0*cm"/>
0014         <Constant name="rMaxBSCActive" value="43.4*cm"/>
0015         <Constant name="rMinBSCActive" value="26.3*cm"/>
0016         <!--^^^^Specifications for the central pad of the BSC1^^^^-->
0017         <Constant name="dzBSC1" value="1.0*cm"/>
0018         <!--^^^^Thickness from center of BSC^^^^-->
0019         <Constant name="dhTrapezoid" value="48.691*cm"/>
0020         <Constant name="dlTrapezoid" value="5.409*cm"/>
0021         <Constant name="dLTrapezoid" value="12.179*cm"/>
0022         <Constant name="posTrapezoid" value="675.76*mm"/>
0023         <!--^^^^Trapezoidal Paddles of the BSC1^^^^-->
0024         <!--^^^^^Where the BSC1 is located down the beampipe^^^-->
0025         <Constant name="dzBSCAl1" value="0.2*cm"/>
0026         <Constant name="dzBSCAl1F" value="0.4*cm"/>
0027         <Constant name="dzBSCExtra" value="([dzBSCAl1]+[dzBSCAl1F])"/>
0028         <Constant name="dzBSC1Total" value="([dzBSC1]+[dzBSCExtra])"/>
0029         <Constant name="zposBSC1" value="[forwardshield:FixShldZ1]-[dzBSC1Total]"/>
0030         <!--^^^^ Thickness of Aluminum shield of the central pad on the back and front respectively-->
0031         <Constant name="dzBSCAlTrap1" value="0.2*cm"/>
0032         <Constant name="dzBSCAlTrap1F" value="0.1*cm"/>
0033         <Constant name="dzBSC1Extra" value="([dzBSCAlTrap1]+[dzBSCAlTrap1F])"/>
0034         <Constant name="dzBSC1Trap" value="([dzBSC1]+[dzBSC1Extra])"/>
0035         <Constant name="zposBSC1Trap" value="[dzBSC1Total]-[dzBSC1Trap]"/>
0036         <Constant name="zposBSC1TrapT" value="[dzBSC1Trap]-[dzBSC1]-2*[dzBSCAlTrap1]"/>
0037         <Constant name="zposBSC1Pad" value="[dzBSC1Total]-[dzBSC1]-2*[dzBSCAl1]"/>
0038         <!--^^^ Thickness of Aluminum shields of trapezoidal paddles on bsc1 (back,then front)-->
0039         <!--BSC2 Specifications-->
0040         <Constant name="dzBSC2" value="0.8*cm"/>
0041         <Constant name="dzBSC2Total" value="([dzBSC2]+[dzBSCExtra])"/>
0042         <!--^^^ Thickness of BSC2 ^^^^-->
0043         <Constant name="zposBSC2" value="[forward:CastorZ1]-[dzBSC2Total]"/>
0044         <!--^^^Where BSC2 rests along the beamline-->
0045     </ConstantsSection>
0046     <SolidSection label="brm.xml">
0047         <!--BSC1 Section (below)-->
0048         <Tubs name="BSC1" rMin="[cms:ForwdBeamR1]" rMax="95*cm" dz="[dzBSC1Total]" startPhi="0*deg" deltaPhi="360*deg"/>
0049         <!--^^Making an invisible volume, radius of 95cm and 360degrees around beam-->
0050         <TruncTubs name="BSCPadAir" rMin="[rMinBSC]" rMax="[rMaxBSC]" zHalf="[dzBSC1Total]" cutAtStart="[rMinBSC]" cutAtDelta="[rMinBSC]" startPhi="0*deg" deltaPhi="45*deg" cutInside="true"/>
0051         <!--^^^Creating a pad which will be the central BSC pad with max radius defined above, this is only an octant of a circle as seen by deltaPhi being 45deg. This will be a hollowed out volume-->
0052         <TruncTubs name="BSCPad" rMin="[rMinBSC]" rMax="[rMaxBSC]" zHalf="[dzBSC1]" cutAtStart="[rMinBSC]" cutAtDelta="[rMinBSC]" startPhi="0*deg" deltaPhi="45*deg" cutInside="true"/>
0053         <!-- ^^^We just created the stainless steal mount which the scintillator is on.-->
0054         <TruncTubs name="BSCPadActive" rMin="[rMinBSCActive]" rMax="[rMaxBSCActive]" zHalf="[dzBSC1]" cutAtStart="[rMinBSCActive]" cutAtDelta="[rMinBSCActive]" startPhi="0*deg" deltaPhi="45*deg" cutInside="true"/>
0055         <!--^^^ Making the detector part of the pad. This covers 45 degrees and will then be rotated to make a complete circle.-->
0056         <Trapezoid name="BSCTrap" dz="[dzBSC1]+[dzBSC1Extra]" alp1="0*deg" bl1="[dlTrapezoid]" tl1="[dLTrapezoid]" h1="[dhTrapezoid]" alp2="0*deg" bl2="[dlTrapezoid]" tl2="[dLTrapezoid]" h2="[dhTrapezoid]" phi="0*deg" theta="0*deg"/>
0057         <!--^^^ Creating the hollowed out trapezoidal space that will become the BSC1 paddles.-->
0058         <Trapezoid name="BSCTopTrapezoid" dz="[dzBSC1]" alp1="0*deg" bl1="([dlTrapezoid]+[dLTrapezoid])/2" tl1="[dLTrapezoid]" h1="[dhTrapezoid]/2" alp2="0*deg" bl2="([dlTrapezoid]+[dLTrapezoid])/2" tl2="[dLTrapezoid]" h2="[dhTrapezoid]/2" phi="0*deg" theta="0*deg"/>
0059         <!--^^^The bigger half of the bisected trapezoidal paddle-->
0060         <Trapezoid name="BSCBottomTrapezoid" dz="[dzBSC1]" alp1="0*deg" bl1="[dlTrapezoid]" tl1="([dlTrapezoid]+[dLTrapezoid])/2" h1="[dhTrapezoid]/2" alp2="0*deg" bl2="[dlTrapezoid]" tl2="([dlTrapezoid]+[dLTrapezoid])/2" h2="[dhTrapezoid]/2" phi="0*deg" theta="0*deg"/>
0061         <!--^^^The smaller half of the bisceted trapezoidal paddle-->
0062         <!--Now to add in aluminum volumes(below)-->
0063         <TruncTubs name="BSCAlPadCoversBack" rMin="[rMinBSC]" rMax="[rMaxBSC]" zHalf="[dzBSCAl1]" cutAtStart="[rMinBSC]" cutAtDelta="[rMinBSC]" startPhi="0*deg" deltaPhi="45*deg" cutInside="true"/>
0064         <!--^^^Aluminum cover on the back of the BSC pad, these will be rotated to cover the whole of the active area-->
0065         <TruncTubs name="BSCAlPadCoversFront" rMin="[rMinBSC]" rMax="[rMaxBSC]" zHalf="[dzBSCAl1F]" cutAtStart="[rMinBSC]" cutAtDelta="[rMinBSC]" startPhi="0*deg" deltaPhi="45*deg" cutInside="true"/>
0066         <!--^^Aluminum cover on the front of the BSC pad-->
0067         <Trapezoid name="BSCAlTrapCoversBack" dz="[dzBSCAlTrap1]" alp1="0*deg" bl1="[dlTrapezoid]" tl1="[dLTrapezoid]" alp2="0*deg" bl2="[dlTrapezoid]" tl2="[dLTrapezoid]" h1="[dhTrapezoid]" h2="[dhTrapezoid]" phi="0*deg" theta="0*deg"/>
0068         <Trapezoid name="BSCAlTrapCoversFront" dz="[dzBSCAlTrap1F]" alp1="0*deg" bl1="[dlTrapezoid]" tl1="[dLTrapezoid]" alp2="0*deg" bl2="[dlTrapezoid]" tl2="[dLTrapezoid]" h1="[dhTrapezoid]" h2="[dhTrapezoid]" phi="0*deg" theta="0*deg"/>
0069         <!--^^Aluminum covers on the trapezoidal paddles of the BSC1-->
0070         <!--BSC2 Information(below)-->
0071         <Tubs name="BSC2" rMin="[cms:ForwdBeamR4]" rMax="[cms:ForwdDetsR1]" dz="[dzBSC2Total]" startPhi="0*deg" deltaPhi="360*deg"/>
0072         <!--^^^ Weve just created a volume in which we will place the BSC2-->
0073         <Tubs name="BSC2MountArea" rMin="5.4*cm" rMax="32.0*cm" dz="[dzBSC2Total]" startPhi="0*deg" deltaPhi="360*deg"/>
0074         <!-- We have just made the area that holds the BSC2 Pads-->
0075         <TruncTubs name="BSC2Pad" rMin="9.7*cm" rMax="31.0*cm" zHalf="[dzBSC2Total]" cutAtStart="9.7*cm" cutAtDelta="9.7*cm" startPhi="0*deg" deltaPhi="45*deg" cutInside="true"/>
0076         <!-- We have just made what will become the two active tiles on the BSC2-->
0077         <TruncTubs name="BSC2AlPadCoversBack" rMin="9.7*cm" rMax="31.0*cm" zHalf="[dzBSCAl1]" cutAtStart="9.7*cm" cutAtDelta="9.7*cm" startPhi="0*deg" deltaPhi="45*deg" cutInside="true"/>
0078         <TruncTubs name="BSC2AlPadCoversFront" rMin="9.7*cm" rMax="31.0*cm" zHalf="[dzBSCAl1F]" cutAtStart="9.7*cm" cutAtDelta="9.7*cm" startPhi="0*deg" deltaPhi="45*deg" cutInside="true"/>
0079         <!--We have just made the covers that will go on the two active areas of the BSC2-->
0080     </SolidSection>
0081     <LogicalPartSection label="brm.xml">
0082         <!--BSC1 Definitions-->
0083         <LogicalPart name="BSC1" category="unspecified">
0084             <rSolid name="BSC1"/>
0085             <rMaterial name="materials:Air"/>
0086         </LogicalPart>
0087         <!--^^Making BSC1 hollowed area full of air-->
0088         <LogicalPart name="BSCPadAir" category="unspecified">
0089             <rSolid name="BSCPadAir"/>
0090             <rMaterial name="materials:Air"/>
0091         </LogicalPart>
0092         <!--just made the air section for the central pad-->
0093         <LogicalPart name="BSCPad" category="unspecified">
0094             <rSolid name="BSCPad"/>
0095             <rMaterial name="materials:StainlessSteel"/>
0096             <!--<rMaterial name="materials:Air"/>-->
0097         </LogicalPart>
0098         <!--^^Doing the same thing for the central pad-->
0099         <LogicalPart name="BSCPadActive" category="unspecified">
0100             <rSolid name="BSCPadActive"/>
0101             <rMaterial name="materials:Scintillator"/>
0102         </LogicalPart>
0103         <!--^^Making the octants be made of scintillator-->
0104         <LogicalPart name="BSCTrap" category="unspecified">
0105             <rSolid name="BSCTrap"/>
0106             <rMaterial name="materials:Air"/>
0107         </LogicalPart>
0108         <!--^^repeat above process for the trapezoidal paddles-->
0109         <LogicalPart name="BSCTopTrapezoid" category="unspecified">
0110             <rSolid name="BSCTopTrapezoid"/>
0111             <rMaterial name="materials:Scintillator"/>
0112         </LogicalPart>
0113         <LogicalPart name="BSCBottomTrapezoid" category="unspecified">
0114             <rSolid name="BSCBottomTrapezoid"/>
0115             <rMaterial name="materials:Scintillator"/>
0116         </LogicalPart>
0117         <!--Aluminum Definitions (below)-->
0118         <LogicalPart name="BSCAlTrapCoversBack" category="unspecified">
0119             <rSolid name="BSCAlTrapCoversBack"/>
0120             <rMaterial name="materials:Aluminium"/>
0121         </LogicalPart>
0122         <LogicalPart name="BSCAlTrapCoversFront" category="unspecified">
0123             <rSolid name="BSCAlTrapCoversFront"/>
0124             <rMaterial name="materials:Aluminium"/>
0125         </LogicalPart>
0126         <LogicalPart name="BSCAlPadCoversBack" category="unspecified">
0127             <rSolid name="BSCAlPadCoversBack"/>
0128             <rMaterial name="materials:Aluminium"/>
0129         </LogicalPart>
0130         <LogicalPart name="BSCAlPadCoversFront" category="unspecified">
0131             <rSolid name="BSCAlPadCoversFront"/>
0132             <rMaterial name="materials:Aluminium"/>
0133         </LogicalPart>
0134         <!--^^In the above part we have made an Aluminum trapezoid, we have covered the octants in aluminum on both sides, front and back -->
0135         <!--BSC2 definitions(below)-->
0136         <LogicalPart name="BSC2" category="unspecified">
0137             <rSolid name="BSC2"/>
0138             <rMaterial name="materials:Air"/>
0139         </LogicalPart>
0140         <LogicalPart name="BSC2MountArea" category="unspecified">
0141             <rSolid name="BSC2MountArea"/>
0142             <rMaterial name="materials:StainlessSteel"/>
0143         </LogicalPart>
0144         <LogicalPart name="BSC2Pad" category="unspecified">
0145             <rSolid name="BSC2Pad"/>
0146             <rMaterial name="materials:Scintillator"/>
0147         </LogicalPart>
0148         <LogicalPart name="BSC2AlPadCoversBack" category="unspecified">
0149             <rSolid name="BSC2AlPadCoversBack"/>
0150             <rMaterial name="materials:Aluminium"/>
0151         </LogicalPart>
0152         <LogicalPart name="BSC2AlPadCoversFront" category="unspecified">
0153             <rSolid name="BSC2AlPadCoversFront"/>
0154             <rMaterial name="materials:Aluminium"/>
0155         </LogicalPart>
0156     </LogicalPartSection>
0157     <PosPartSection label="brm.xml">
0158         <!--We will start with the BSC2(below)-->
0159         <PosPart copyNumber="1">
0160             <rParent name="cms:CMSE"/>
0161             <rChild name="brm:BSC2"/>
0162             <rRotation name="rotations:000D"/>
0163             <Translation x="0*fm" y="0*fm" z="[zposBSC2]"/>
0164         </PosPart>
0165         <PosPart copyNumber="2">
0166             <rParent name="cms:CMSE"/>
0167             <rChild name="brm:BSC2"/>
0168             <rRotation name="rotations:000D"/>
0169             <Translation x="0*fm" y="0*fm" z="-[zposBSC2]"/>
0170         </PosPart>
0171         <PosPart copyNumber="1">
0172             <rParent name="brm:BSC2"/>
0173             <rChild name="brm:BSC2MountArea"/>
0174             <rRotation name="rotations:000D"/>
0175             <Translation x="0*cm" y="0*fm" z="0*fm"/>
0176         </PosPart>
0177         <!--Above we have just placed the stainless steel mount for the BSC2 inside of the volume of air-->
0178         <PosPart copyNumber="1">
0179             <rParent name="brm:BSC2MountArea"/>
0180             <rChild name="brm:BSC2Pad"/>
0181             <rRotation name="brmrotations:B202X"/>
0182             <Translation x="0*cm" y="0*fm" z="0*fm"/>
0183         </PosPart>
0184         <PosPart copyNumber="2">
0185             <rParent name="brm:BSC2MountArea"/>
0186             <rChild name="brm:BSC2Pad"/>
0187             <rRotation name="brmrotations:B22X"/>
0188             <Translation x="0*cm" y="0*fm" z="0*fm"/>
0189         </PosPart>
0190         <!--Above we have just mounted the BSC2 scintillator pads onto the BSC2 mounting area-->
0191         <PosPart copyNumber="1">
0192             <rParent name="brm:BSC2Pad"/>
0193             <rChild name="brm:BSC2AlPadCoversFront"/>
0194             <rRotation name="rotations:000D"/>
0195             <Translation x="0*cm" y="0*cm" z="-([dzBSC2Total]-[dzBSCAl1F])"/>
0196         </PosPart>
0197         <!--We have just put the frontal aluminium shields on the BSC2 scintillator tiles-->
0198         <PosPart copyNumber="1">
0199             <rParent name="brm:BSC2Pad"/>
0200             <rChild name="brm:BSC2AlPadCoversBack"/>
0201             <rRotation name="rotations:000D"/>
0202             <Translation x="0*cm" y="0*cm" z="([dzBSC2Total]-[dzBSCAl1])"/>
0203         </PosPart>
0204         <!--We have just put the rear aluminium shields on the BSC2 scintillator tiles-->
0205         <!--Now we work on the BSC1(below)-->
0206         <PosPart copyNumber="1">
0207             <rParent name="forwardshield:OQUA"/>
0208             <rChild name="brm:BSC1"/>
0209             <rRotation name="brmrotations:B45R"/>
0210             <Translation x="0*fm" y="0*fm" z="[zposBSC1]"/>
0211         </PosPart>
0212         <!--We have just finished creating the large hollow area where we are gonna put the BSC1-->
0213         <PosPart copyNumber="1">
0214             <rParent name="brm:BSC1"/>
0215             <rChild name="brm:BSCTrap"/>
0216             <rRotation name="rotations:000D"/>
0217             <Translation x="+[posTrapezoid]" y="0*cm" z="[zposBSC1Trap]"/>
0218         </PosPart>
0219         <!--We have just created the trapezoidal paddles and declared it as being a part of the large hollow area-->
0220         <PosPart copyNumber="2">
0221             <rParent name="brm:BSC1"/>
0222             <rChild name="brm:BSCTrap"/>
0223             <rRotation name="brmrotations:B90P"/>
0224             <Translation x="0*cm" y="+[posTrapezoid]" z="[zposBSC1Trap]"/>
0225         </PosPart>
0226         <PosPart copyNumber="3">
0227             <rParent name="brm:BSC1"/>
0228             <rChild name="brm:BSCTrap"/>
0229             <rRotation name="brmrotations:B90M"/>
0230             <Translation x="0*cm" y="-[posTrapezoid]" z="[zposBSC1Trap]"/>
0231         </PosPart>
0232         <PosPart copyNumber="4">
0233             <rParent name="brm:BSC1"/>
0234             <rChild name="brm:BSCTrap"/>
0235             <rRotation name="brmrotations:B90L"/>
0236             <Translation x="-[posTrapezoid]" y="0*cm" z="[zposBSC1Trap]"/>
0237         </PosPart>
0238         <!--Above we have just duplicated the first trapezoid 4 times to make the 4 trapezoidal panels of the BSC1-->
0239         <PosPart copyNumber="1">
0240             <rParent name="brm:BSCTrap"/>
0241             <rChild name="brm:BSCTopTrapezoid"/>
0242             <rRotation name="rotations:000D"/>
0243             <Translation x="0*cm" y="([dhTrapezoid]/2)" z="[zposBSC1TrapT]"/>
0244         </PosPart>
0245         <PosPart copyNumber="1">
0246             <rParent name="brm:BSCTrap"/>
0247             <rChild name="brm:BSCBottomTrapezoid"/>
0248             <rRotation name="rotations:000D"/>
0249             <Translation x="0*cm" y="(-[dhTrapezoid]/2)" z="[zposBSC1TrapT]"/>
0250         </PosPart>
0251         <!--We have just made the two different sections of the trapezoid and put them into their appropriate places inside the large hollow trapezoid-->
0252         <!--Now we will make the aluminum covers for the Trapezoidal sections and tie them onto the trapezoids we just made-->
0253         <PosPart copyNumber="1">
0254             <rParent name="brm:BSCTrap"/>
0255             <rChild name="brm:BSCAlTrapCoversFront"/>
0256             <rRotation name="rotations:000D"/>
0257             <Translation x="0*cm" y="0*cm" z="-([dzBSC1Trap]-[dzBSCAlTrap1F])"/>
0258         </PosPart>
0259         <PosPart copyNumber="1">
0260             <rParent name="brm:BSCTrap"/>
0261             <rChild name="brm:BSCAlTrapCoversBack"/>
0262             <rRotation name="rotations:000D"/>
0263             <Translation x="0*cm" y="0*cm" z="([dzBSC1Trap]-[dzBSCAlTrap1])"/>
0264         </PosPart>
0265         <!--Just put aluminum covers on the BSC trapezoidal paddles-->
0266         <!--Now we will work on the BSC central pad-->
0267         <PosPart copyNumber="1">
0268             <rParent name="brm:BSCPadAir"/>
0269             <rChild name="brm:BSCPad"/>
0270             <rRotation name="rotations:000D"/>
0271             <Translation x="0*cm" y="0*cm" z="[zposBSC1Pad]"/>
0272         </PosPart>
0273         <!--Just tied the stainless steel pads onto the hollow octants on the central pad-->
0274         <PosPart copyNumber="1">
0275             <rParent name="brm:BSCPad"/>
0276             <rChild name="brm:BSCPadActive"/>
0277             <rRotation name="rotations:000D"/>
0278             <Translation x="0*cm" y="0*cm" z="0*cm"/>
0279         </PosPart>
0280         <!--Just made the scintillator pads embedded inside of the stainless steel mounts-->
0281         <PosPart copyNumber="1">
0282             <rParent name="brm:BSCPadAir"/>
0283             <rChild name="brm:BSCAlPadCoversBack"/>
0284             <rRotation name="rotations:000D"/>
0285             <Translation x="0*cm" y="0*cm" z="([dzBSC1Total]-[dzBSCAl1])"/>
0286         </PosPart>
0287         <!--Just tied the aluminum shield to the back of one of the octants-->
0288         <PosPart copyNumber="1">
0289             <rParent name="brm:BSCPadAir"/>
0290             <rChild name="brm:BSCAlPadCoversFront"/>
0291             <rRotation name="rotations:000D"/>
0292             <Translation x="0*cm" y="0*cm" z="-([dzBSC1Total]-[dzBSCAl1F])"/>
0293         </PosPart>
0294         <!--Just tied the aluminum to the front of one of the octants-->
0295         <Algorithm name="hcal:DDHCalAngular">
0296             <rParent name="brm:BSC1"/>
0297             <String name="ChildName" value="BSCPadAir"/>
0298             <String name="RotNameSpace" value="hcalrotations"/>
0299             <Numeric name="n" value="8"/>
0300             <Numeric name="startCopyNo" value="1"/>
0301             <Numeric name="incrCopyNo" value="1"/>
0302             <Numeric name="rangeAngle" value="360*deg"/>
0303             <Numeric name="startAngle" value="0*deg"/>
0304             <Numeric name="shiftY" value="0*fm"/>
0305             <Numeric name="shiftX" value="0*fm"/>
0306             <Numeric name="zoffset" value="0*fm"/>
0307         </Algorithm>
0308         <!--This above algorithim takes the aluminum covered octants and rotates them and copies them 8 times leaving the finished central pad-->
0309     </PosPartSection>
0310 </DDDefinition>