Warning, /Alignment/LaserAlignmentSimulation/data/AlignmentTubes.xml is written in an unsupported language. File is not indexed.
0001 <?xmsl version="1.0"?>
0002 <DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmln:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../DDLSchema/DDLSchema.xsd">
0003
0004 <!-- this file defines the geometry of the Alignment Tubes in the CMS Tracker -->
0005
0006 <SolidSection label="AlignmentTubes.xml">
0007 <!-- define the solids for the alignment tubes -->
0008 <!-- this is for Alignment Tubes in +y direction -->
0009 <Tubs name = "ATEV" dz = "1137.0*mm" rMin = "0.0*fm" rMax = "8.0*mm" startPhi = "0*deg" deltaPhi = "360*deg" />
0010 <!-- this for Alingment Tubes in -y direction -->
0011 <Tubs name = "AlignmentTube" dz = "0.5*1135.0*mm" rMin = "6.0*mm" rMax = "8.0*mm" startPhi = "0*deg" deltaPhi = "360*deg" />
0012 <Tubs name = "Mirror" dz = "0.5*0.6*mm" rMin = "0.0*fm" rMax = "6.0*mm" startPhi = "0*deg" deltaPhi = "360*deg" />
0013 </SolidSection>
0014
0015 <LogicalPartSection label = "AlignmentTubes.xml">
0016 <!-- define the properties of the Solids -->
0017 <LogicalPart name = "ATEV" category = "unspecified">
0018 <rSolid name = "ATEV" />
0019 <rMaterial name = "materials:T_Air" />
0020 </LogicalPart>
0021
0022 <LogicalPart name = "AlignmentTube" category = "unspecified">
0023 <rSolid name = "AlignmentTube" />
0024 <rMaterial name = "tobmaterial:TOB_CF_Str" />
0025 </LogicalPart>
0026
0027 <LogicalPart name = "Mirror" category = "unspecified">
0028 <rSolid name = "Mirror" />
0029 <rMaterial name = "materials:Si O_2" />
0030 </LogicalPart>
0031 </LogicalPartSection>
0032
0033 <PosPartSection label = "AlignmentTubes.xml">
0034 <!-- position the logical parts -->
0035
0036 <!-- position the first alignment tube -->
0037 <Algorithm name="global:DDAngular">
0038 <rParent name = "tob:TOB" />
0039 <String name="ChildName" value="AlignmentTubes:ATEV" />
0040 <Numeric name="N" value="1" />
0041 <Numeric name="StartCopyNo" value="1" />
0042 <Numeric name="IncrCopyNo" value="1" />
0043 <Numeric name="StartAngle" value="0*deg"/>
0044 <Numeric name="RangeAngle" value="360*deg"/>
0045 <Numeric name="Radius" value="0*mm"/>
0046 <Vector name="Center" type="numeric" nEntries="3"> 564*cos(22.5*deg)*mm, 564*sin(22.5*deg)*mm, 0*mm</Vector>
0047 <Vector name="RotateSolid" type="numeric" nEntries="6"> 0*deg, 0*deg, 0*deg, 0*deg, 0*deg, (22.5-90)*deg </Vector>
0048 </Algorithm>
0049
0050 <!-- position the second alignment tube -->
0051 <Algorithm name="global:DDAngular">
0052 <rParent name = "tob:TOB" />
0053 <String name="ChildName" value="AlignmentTubes:ATEV" />
0054 <Numeric name="N" value="1" />
0055 <Numeric name="StartCopyNo" value="1" />
0056 <Numeric name="IncrCopyNo" value="1" />
0057 <Numeric name="StartAngle" value="0*deg"/>
0058 <Numeric name="RangeAngle" value="360*deg"/>
0059 <Numeric name="Radius" value="0*mm"/>
0060 <Vector name="Center" type="numeric" nEntries="3"> 564*cos(73.92857*deg)*mm, 564*sin(73.92857*deg)*mm, 0*mm</Vector>
0061 <Vector name="RotateSolid" type="numeric" nEntries="6"> 0*deg, 0*deg, 0*deg, 0*deg, 0*deg, (73.92857-90)*deg </Vector>
0062 </Algorithm>
0063
0064 <!-- position the third alignment tube -->
0065 <Algorithm name="global:DDAngular">
0066 <rParent name = "tob:TOB" />
0067 <String name="ChildName" value="AlignmentTubes:ATEV" />
0068 <Numeric name="N" value="1" />
0069 <Numeric name="StartCopyNo" value="1" />
0070 <Numeric name="IncrCopyNo" value="1" />
0071 <Numeric name="StartAngle" value="0*deg"/>
0072 <Numeric name="RangeAngle" value="360*deg"/>
0073 <Numeric name="Radius" value="0*mm"/>
0074 <Vector name="Center" type="numeric" nEntries="3"> 564*cos(106.07143*deg)*mm, 564*sin(106.07143*deg)*mm, 0*mm</Vector>
0075 <Vector name="RotateSolid" type="numeric" nEntries="6"> 0*deg, 0*deg, 0*deg, 0*deg, 0*deg, (106.07143-90)*deg </Vector>
0076 </Algorithm>
0077
0078 <!-- position the fourth alignment tube -->
0079 <Algorithm name="global:DDAngular">
0080 <rParent name = "tob:TOB" />
0081 <String name="ChildName" value="AlignmentTubes:ATEV" />
0082 <Numeric name="N" value="1" />
0083 <Numeric name="StartCopyNo" value="1" />
0084 <Numeric name="IncrCopyNo" value="1" />
0085 <Numeric name="StartAngle" value="0*deg"/>
0086 <Numeric name="RangeAngle" value="360*deg"/>
0087 <Numeric name="Radius" value="0*mm"/>
0088 <Vector name="Center" type="numeric" nEntries="3"> 564*cos(157.5*deg)*mm, 564*sin(157.5*deg)*mm, 0*mm</Vector>
0089 <Vector name="RotateSolid" type="numeric" nEntries="6"> 0*deg, 0*deg, 0*deg, 0*deg, 0*deg, (157.5-90)*deg </Vector>
0090 </Algorithm>
0091
0092 <!-- position the fifth alignment tube -->
0093 <Algorithm name="global:DDAngular">
0094 <rParent name = "tob:TOB" />
0095 <String name="ChildName" value="AlignmentTubes:ATEV" />
0096 <Numeric name="N" value="1" />
0097 <Numeric name="StartCopyNo" value="1" />
0098 <Numeric name="IncrCopyNo" value="1" />
0099 <Numeric name="StartAngle" value="0*deg"/>
0100 <Numeric name="RangeAngle" value="360*deg"/>
0101 <Numeric name="Radius" value="0*mm"/>
0102 <Vector name="Center" type="numeric" nEntries="3"> 564*cos(208.92857*deg)*mm, 564*sin(208.92857*deg)*mm, 0*mm</Vector>
0103 <Vector name="RotateSolid" type="numeric" nEntries="6"> 0*deg, 0*deg, 0*deg, 0*deg, 0*deg, (208.92857-90)*deg </Vector>
0104 </Algorithm>
0105
0106 <!-- position the sixth alignment tube -->
0107 <Algorithm name="global:DDAngular">
0108 <rParent name = "tob:TOB" />
0109 <String name="ChildName" value="AlignmentTubes:ATEV" />
0110 <Numeric name="N" value="1" />
0111 <Numeric name="StartCopyNo" value="1" />
0112 <Numeric name="IncrCopyNo" value="1" />
0113 <Numeric name="StartAngle" value="0*deg"/>
0114 <Numeric name="RangeAngle" value="360*deg"/>
0115 <Numeric name="Radius" value="0*mm"/>
0116 <Vector name="Center" type="numeric" nEntries="3"> 564*cos(247.5*deg)*mm, 564*sin(247.5*deg)*mm, 0*mm</Vector>
0117 <Vector name="RotateSolid" type="numeric" nEntries="6"> 0*deg, 0*deg, 0*deg, 0*deg, 0*deg, (247.5-90)*deg </Vector>
0118 </Algorithm>
0119
0120 <!-- position the seventh alignment tube -->
0121 <Algorithm name="global:DDAngular">
0122 <rParent name = "tob:TOB" />
0123 <String name="ChildName" value="AlignmentTubes:ATEV" />
0124 <Numeric name="N" value="1" />
0125 <Numeric name="StartCopyNo" value="1" />
0126 <Numeric name="IncrCopyNo" value="1" />
0127 <Numeric name="StartAngle" value="0*deg"/>
0128 <Numeric name="RangeAngle" value="360*deg"/>
0129 <Numeric name="Radius" value="0*mm"/>
0130 <Vector name="Center" type="numeric" nEntries="3"> 564*cos(298.92857*deg)*mm, 564*sin(298.92857*deg)*mm, 0*mm</Vector>
0131 <Vector name="RotateSolid" type="numeric" nEntries="6"> 0*deg, 0*deg, 0*deg, 0*deg, 0*deg, (298.92857-90)*deg </Vector>
0132 </Algorithm>
0133
0134 <!-- position the eigth alignment tube -->
0135 <Algorithm name="global:DDAngular">
0136 <rParent name = "tob:TOB" />
0137 <String name="ChildName" value="AlignmentTubes:ATEV" />
0138 <Numeric name="N" value="1" />
0139 <Numeric name="StartCopyNo" value="1" />
0140 <Numeric name="IncrCopyNo" value="1" />
0141 <Numeric name="StartAngle" value="0*deg"/>
0142 <Numeric name="RangeAngle" value="360*deg"/>
0143 <Numeric name="Radius" value="0*mm"/>
0144 <Vector name="Center" type="numeric" nEntries="3"> 564*cos(331.07143*deg)*mm, 564*sin(331.07143*deg)*mm, 0*mm</Vector>
0145 <Vector name="RotateSolid" type="numeric" nEntries="6"> 0*deg, 0*deg, 0*deg, 0*deg, 0*deg, (331.07143-90)*deg </Vector>
0146 </Algorithm>
0147
0148 <!-- start of the alignment tube (+z direction) -->
0149 <!-- the Alignment Tube -->
0150 <PosPart copyNumber = "9">
0151 <rParent name = "AlignmentTubes:ATEV" />
0152 <rChild name = "AlignmentTubes:AlignmentTube" />
0153 <rRotation name = "rotations:000D"/>
0154 <Translation x="0*fm" y="0*fm" z="(567.5 + 2.0)*mm" />
0155 </PosPart>
0156
0157 <!-- the first mirror (beam down) -->
0158 <Algorithm name="global:DDAngular">
0159 <rParent name="AlignmentTubes:ATEV"/>
0160 <String name="ChildName" value="AlignmentTubes:Mirror"/>
0161 <Numeric name="N" value="1" />
0162 <Numeric name="StartCopyNo" value="1" />
0163 <Numeric name="IncrCopyNo" value="1" />
0164 <Numeric name="StartAngle" value="0*deg"/>
0165 <Numeric name="RangeAngle" value="360*deg"/>
0166 <Numeric name="Radius" value="0*mm"/>
0167 <Vector name="Center" type="numeric" nEntries="3"> 0*mm, 0*mm, 180*mm</Vector>
0168 <Vector name="RotateSolid" type="numeric" nEntries="6"> 90*deg, 135*deg, 90*deg, 90*deg, 90*deg, 90*deg </Vector>
0169 </Algorithm>
0170
0171 <!-- the second mirror (beam up) -->
0172 <Algorithm name="global:DDAngular">
0173 <rParent name="AlignmentTubes:ATEV"/>
0174 <String name="ChildName" value="AlignmentTubes:Mirror"/>
0175 <Numeric name="N" value="1" />
0176 <Numeric name="StartCopyNo" value="1" />
0177 <Numeric name="IncrCopyNo" value="1" />
0178 <Numeric name="StartAngle" value="0*deg"/>
0179 <Numeric name="RangeAngle" value="360*deg"/>
0180 <Numeric name="Radius" value="0*mm"/>
0181 <Vector name="Center" type="numeric" nEntries="3"> 0*mm, 0*mm, (180 + 40)*mm</Vector>
0182 <Vector name="RotateSolid" type="numeric" nEntries="6"> 90*deg, 45*deg, 90*deg, 90*deg, 90*deg, 90*deg </Vector>
0183 </Algorithm>
0184
0185 <!-- the third mirror (beam down) -->
0186 <Algorithm name="global:DDAngular">
0187 <rParent name="AlignmentTubes:ATEV"/>
0188 <String name="ChildName" value="AlignmentTubes:Mirror"/>
0189 <Numeric name="N" value="1" />
0190 <Numeric name="StartCopyNo" value="1" />
0191 <Numeric name="IncrCopyNo" value="1" />
0192 <Numeric name="StartAngle" value="0*deg"/>
0193 <Numeric name="RangeAngle" value="360*deg"/>
0194 <Numeric name="Radius" value="0*mm"/>
0195 <Vector name="Center" type="numeric" nEntries="3"> 0*mm, 0*mm, 380*mm</Vector>
0196 <Vector name="RotateSolid" type="numeric" nEntries="6"> 90*deg, 135*deg, 90*deg, 90*deg, 90*deg, 90*deg </Vector>
0197 </Algorithm>
0198
0199 <!-- the fourth mirror (beam up) -->
0200 <Algorithm name="global:DDAngular">
0201 <rParent name="AlignmentTubes:ATEV"/>
0202 <String name="ChildName" value="AlignmentTubes:Mirror"/>
0203 <Numeric name="N" value="1" />
0204 <Numeric name="StartCopyNo" value="1" />
0205 <Numeric name="IncrCopyNo" value="1" />
0206 <Numeric name="StartAngle" value="0*deg"/>
0207 <Numeric name="RangeAngle" value="360*deg"/>
0208 <Numeric name="Radius" value="0*mm"/>
0209 <Vector name="Center" type="numeric" nEntries="3"> 0*mm, 0*mm, 580*mm</Vector>
0210 <Vector name="RotateSolid" type="numeric" nEntries="6"> 90*deg, 45*deg, 90*deg, 90*deg, 90*deg, 90*deg </Vector>
0211 </Algorithm>
0212
0213 <!-- the fifth mirror (beam down) -->
0214 <Algorithm name="global:DDAngular">
0215 <rParent name="AlignmentTubes:ATEV"/>
0216 <String name="ChildName" value="AlignmentTubes:Mirror"/>
0217 <Numeric name="N" value="1" />
0218 <Numeric name="StartCopyNo" value="1" />
0219 <Numeric name="IncrCopyNo" value="1" />
0220 <Numeric name="StartAngle" value="0*deg"/>
0221 <Numeric name="RangeAngle" value="360*deg"/>
0222 <Numeric name="Radius" value="0*mm"/>
0223 <Vector name="Center" type="numeric" nEntries="3"> 0*mm, 0*mm, (580+40)*mm</Vector>
0224 <Vector name="RotateSolid" type="numeric" nEntries="6"> 90*deg, 135*deg, 90*deg, 90*deg, 90*deg, 90*deg </Vector>
0225 </Algorithm>
0226
0227 <!-- the sixth mirror (beam up) -->
0228 <Algorithm name="global:DDAngular">
0229 <rParent name="AlignmentTubes:ATEV"/>
0230 <String name="ChildName" value="AlignmentTubes:Mirror"/>
0231 <Numeric name="N" value="1" />
0232 <Numeric name="StartCopyNo" value="1" />
0233 <Numeric name="IncrCopyNo" value="1" />
0234 <Numeric name="StartAngle" value="0*deg"/>
0235 <Numeric name="RangeAngle" value="360*deg"/>
0236 <Numeric name="Radius" value="0*mm"/>
0237 <Vector name="Center" type="numeric" nEntries="3"> 0*mm, 0*mm, 1040*mm</Vector>
0238 <Vector name="RotateSolid" type="numeric" nEntries="6"> 90*deg, 45*deg, 90*deg, 90*deg, 90*deg, 90*deg </Vector>
0239 </Algorithm>
0240
0241 <!-- end of the alignment tube (+z direction) -->
0242
0243 <!-- start of the alignment tube (-z direction) -->
0244 <!-- the Alignment Tube -->
0245 <PosPart copyNumber = "10">
0246 <rParent name = "AlignmentTubes:ATEV" />
0247 <rChild name = "AlignmentTubes:AlignmentTube" />
0248 <rRotation name = "rotations:000D"/>
0249 <Translation x="0*fm" y="0*fm" z="-1*(567.5 + 2.0)*mm" />
0250 </PosPart>
0251
0252 <!-- the first mirror (beam down) -->
0253 <Algorithm name="global:DDAngular">
0254 <rParent name="AlignmentTubes:ATEV"/>
0255 <String name="ChildName" value="AlignmentTubes:Mirror"/>
0256 <Numeric name="N" value="1" />
0257 <Numeric name="StartCopyNo" value="1" />
0258 <Numeric name="IncrCopyNo" value="1" />
0259 <Numeric name="StartAngle" value="0*deg"/>
0260 <Numeric name="RangeAngle" value="360*deg"/>
0261 <Numeric name="Radius" value="0*mm"/>
0262 <Vector name="Center" type="numeric" nEntries="3"> 0*mm, 0*mm, -1*100*mm</Vector>
0263 <Vector name="RotateSolid" type="numeric" nEntries="6"> 90*deg, 135*deg, 90*deg, 90*deg, 90*deg, 90*deg </Vector>
0264 </Algorithm>
0265
0266 <!-- the second mirror (beam up) -->
0267 <Algorithm name="global:DDAngular">
0268 <rParent name="AlignmentTubes:ATEV"/>
0269 <String name="ChildName" value="AlignmentTubes:Mirror"/>
0270 <Numeric name="N" value="1" />
0271 <Numeric name="StartCopyNo" value="1" />
0272 <Numeric name="IncrCopyNo" value="1" />
0273 <Numeric name="StartAngle" value="0*deg"/>
0274 <Numeric name="RangeAngle" value="360*deg"/>
0275 <Numeric name="Radius" value="0*mm"/>
0276 <Vector name="Center" type="numeric" nEntries="3"> 0*mm, 0*mm, -1*(100 + 40)*mm</Vector>
0277 <Vector name="RotateSolid" type="numeric" nEntries="6"> 90*deg, 45*deg, 90*deg, 90*deg, 90*deg, 90*deg </Vector>
0278 </Algorithm>
0279
0280 <!-- the third mirror (beam down) -->
0281 <Algorithm name="global:DDAngular">
0282 <rParent name="AlignmentTubes:ATEV"/>
0283 <String name="ChildName" value="AlignmentTubes:Mirror"/>
0284 <Numeric name="N" value="1" />
0285 <Numeric name="StartCopyNo" value="1" />
0286 <Numeric name="IncrCopyNo" value="1" />
0287 <Numeric name="StartAngle" value="0*deg"/>
0288 <Numeric name="RangeAngle" value="360*deg"/>
0289 <Numeric name="Radius" value="0*mm"/>
0290 <Vector name="Center" type="numeric" nEntries="3"> 0*mm, 0*mm, -1*340*mm</Vector>
0291 <Vector name="RotateSolid" type="numeric" nEntries="6"> 90*deg, 135*deg, 90*deg, 90*deg, 90*deg, 90*deg </Vector>
0292 </Algorithm>
0293
0294 <!-- the fourth mirror (beam up) -->
0295 <Algorithm name="global:DDAngular">
0296 <rParent name="AlignmentTubes:ATEV"/>
0297 <String name="ChildName" value="AlignmentTubes:Mirror"/>
0298 <Numeric name="N" value="1" />
0299 <Numeric name="StartCopyNo" value="1" />
0300 <Numeric name="IncrCopyNo" value="1" />
0301 <Numeric name="StartAngle" value="0*deg"/>
0302 <Numeric name="RangeAngle" value="360*deg"/>
0303 <Numeric name="Radius" value="0*mm"/>
0304 <Vector name="Center" type="numeric" nEntries="3"> 0*mm, 0*mm, -1*500*mm</Vector>
0305 <Vector name="RotateSolid" type="numeric" nEntries="6"> 90*deg, 45*deg, 90*deg, 90*deg, 90*deg, 90*deg </Vector>
0306 </Algorithm>
0307
0308 <!-- the fifth mirror (beam down) -->
0309 <Algorithm name="global:DDAngular">
0310 <rParent name="AlignmentTubes:ATEV"/>
0311 <String name="ChildName" value="AlignmentTubes:Mirror"/>
0312 <Numeric name="N" value="1" />
0313 <Numeric name="StartCopyNo" value="1" />
0314 <Numeric name="IncrCopyNo" value="1" />
0315 <Numeric name="StartAngle" value="0*deg"/>
0316 <Numeric name="RangeAngle" value="360*deg"/>
0317 <Numeric name="Radius" value="0*mm"/>
0318 <Vector name="Center" type="numeric" nEntries="3"> 0*mm, 0*mm, -1*(500 + 40)*mm</Vector>
0319 <Vector name="RotateSolid" type="numeric" nEntries="6"> 90*deg, 135*deg, 90*deg, 90*deg, 90*deg, 90*deg </Vector>
0320 </Algorithm>
0321
0322 <!-- the sixth mirror (beam up) -->
0323 <Algorithm name="global:DDAngular">
0324 <rParent name="AlignmentTubes:ATEV"/>
0325 <String name="ChildName" value="AlignmentTubes:Mirror"/>
0326 <Numeric name="N" value="1" />
0327 <Numeric name="StartCopyNo" value="1" />
0328 <Numeric name="IncrCopyNo" value="1" />
0329 <Numeric name="StartAngle" value="0*deg"/>
0330 <Numeric name="RangeAngle" value="360*deg"/>
0331 <Numeric name="Radius" value="0*mm"/>
0332 <Vector name="Center" type="numeric" nEntries="3"> 0*mm, 0*mm, -1*860*mm</Vector>
0333 <Vector name="RotateSolid" type="numeric" nEntries="6"> 90*deg, 45*deg, 90*deg, 90*deg, 90*deg, 90*deg </Vector>
0334 </Algorithm>
0335 <!-- end of the alignment tube (-z direction) -->
0336
0337 </PosPartSection>
0338
0339 </DDDefinition>