Back to home page

EIC code displayed by LXR

 
 

    


Warning, /DD4hep/examples/DDCMS/data/pixfwdBlade.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 Vesna Cuplov (fix overlaps 05.02.07)
0010          
0011          == Subsystem or component described by the file ==
0012          
0013          Aluminum base of a blade with a cooling channel (no nipples, no panels). 
0014          
0015          == Root volume and its reference frame ==
0016          
0017          "PixelForwardBlade"
0018          
0019          Y is along the axis of the blade, from narrow to wider end. Once the blade 
0020          is positioned, its Y axis will be pointing away from the beam line.
0021          Z is perpendicular to the plane of the blade, pointing from "body" (narrow) to "cover" (wide) side.
0022          
0023          == Positioning ==
0024          
0025          The file defines AnchorX, AnchorY, and AnchorZ 
0026          constants that describe the coordinates of the anchor point in the blade 
0027          root volume (PixelForwardBlade) reference frame.
0028          Currently, [AnchorX] = [AnchorZ] = 0.
0029          
0030          Since the origin of the "blade frame" with respect to which DDPixFwdBlades
0031          algorithm positions all one-per-blade items coincides with the blade anchor point,
0032          the "child translation" vector passed to the algorithm should be
0033          (-[pixfwdBlade:AnchorX], -[pixfwdBlade:AnchorY], -[pixfwdBlade:AnchorZ]).
0034          
0035          == Additional comments ==
0036          
0037          Blade is implemented so that it consists of 
0038          "body" (narrow aluminum side), "cover" (wide aluminum side), and
0039          "tip" (part close to inner ring, common to both sides. 
0040          Cooling channel then goes into both "body" and "cover".
0041          
0042          Multiple boolean operations are used in describing the tip of the blade and
0043          the crossbar. As a result, IguanaCMS sometimes fails to visualize it properly.
0044          This seems to be a problem for visualization only, not for tracking at simulation time.
0045          
0046          -->
0047     <!-- Blade geometry parameters: Input from drawings -->
0048     <ConstantsSection label="Common" eval="true">
0049         <Constant name="T01" value="0.5*mm"/>
0050         <!-- Blade01.gif -->
0051         <Constant name="T02" value="3.0*mm"/>
0052         <!-- Blade01.gif -->
0053         <Constant name="T03" value="0.5*mm"/>
0054         <!-- Blade01.gif -->
0055         <Constant name="T04" value="2.5*mm"/>
0056         <!-- Blade01.gif -->
0057         <Constant name="W01" value="6.5*mm"/>
0058         <!-- Blade01.gif -->
0059         <Constant name="W02" value="7.5*mm"/>
0060         <!-- Blade01.gif -->
0061         <Constant name="W03" value="11.5*mm"/>
0062         <!-- Blade01.gif -->
0063         <Constant name="R01" value="8.57*mm"/>
0064         <!-- Blade02.gif -->
0065         <Constant name="L01" value="57.1*mm"/>
0066         <!-- Blade02.gif -->
0067         <Constant name="L02" value="32.38*mm"/>
0068         <!-- Blade02.gif -->
0069         <Constant name="L03" value="32.42*mm"/>
0070         <!-- Blade02.gif -->
0071         <Constant name="L09" value="48.80*mm"/>
0072         <!-- Blade02.gif -->
0073         <Constant name="A01" value="16.625*deg"/>
0074         <!-- Blade03.gif -->
0075         <Constant name="W04" value="1.0*mm"/>
0076         <!-- Blade03.gif -->
0077         <Constant name="W05" value="4.0*mm"/>
0078         <!-- Blade03.gif -->
0079         <Constant name="R02" value="2.0*mm"/>
0080         <!-- Blade03.gif -->
0081         <Constant name="R03" value="2.0*mm"/>
0082         <!-- Blade03.gif -->
0083         <Constant name="L04" value="9.79*mm"/>
0084         <!-- Blade03.gif -->
0085         <Constant name="L05" value="1.83*mm"/>
0086         <!-- Blade03.gif -->
0087         <Constant name="L10" value="3.47*mm"/>
0088         <!-- Blade03.gif -->
0089         <Constant name="W06" value="5.6*mm"/>
0090         <!-- Blade04.gif -->
0091         <Constant name="R04" value="2.0*mm"/>
0092         <!-- Blade04.gif -->
0093         <Constant name="L06" value="3.77*mm"/>
0094         <!-- Blade04.gif -->
0095         <Constant name="L07" value="3.0*mm"/>
0096         <!-- Blade04.gif -->
0097         <Constant name="L08" value="5.79*mm"/>
0098         <!-- Blade04.gif -->
0099     </ConstantsSection>
0100     <!-- Calculating parameters that will be needed by multiple components : -->
0101     <ConstantsSection label="Common" eval="true">
0102         <!-- Root volume dimensions (may need to be changed later) -->
0103         <Constant name="RootHalfLength" value="([L04]+[L03]+[L01]+[W03]/2.)/2."/>
0104         <Constant name="RootHalfWidth" value="([L02]+[W03])/2."/>
0105         <Constant name="RootHalfThickness" value="[BladeHalfThickness]+0.1*mm"/>
0106         <!-- Coordinates of ancor point  -->
0107         <Constant name="AnchorX" value="0."/>
0108         <Constant name="AnchorY" value="-[RootHalfLength]+[L10]"/>
0109         <Constant name="AnchorZ" value="0."/>
0110         <!-- Coordinate of point 0 on Blade02.gif. All other Y-coordinates are relative to it. -->
0111         <Constant name="y00" value="[AnchorY]-[L10]+[L04]+[L03]"/>
0112         <!-- Others -->
0113         <Constant name="zCover" value="([T02]-[T03])/2."/>
0114         <Constant name="zBody" value="-([T01]+[T03])/2."/>
0115         <Constant name="BladeHalfThickness" value="([T01]+[T02])/2."/>
0116         <Constant name="BodyHalfThickness" value="([T02]-[T03])/2."/>
0117         <Constant name="CoverHalfThickness" value="([T01]+[T03])/2."/>
0118     </ConstantsSection>
0119     <!-- Root volume for the blade. This volume is positioned by pixfwdDisk.xml -->
0120     <!-- Previous description from D. Onoprienko
0121          <SolidSection label="Root">
0122          <Box name="PixelForwardBlade" dx="[RootHalfWidth]" dy="[RootHalfLength]" dz="[RootHalfThickness]" />
0123     </SolidSection>
0124          -->
0125     <!-- New Description (05/02/07): Two overlaps were fixed. The overlap with the Nipples was fixed by removing 0.1*mm in the mother volume thickness. The second overlap was: The corners of the box describing the mother volume were going outside the DiskOuterRing, so we remove these corners with a little box for simplicity. -->
0126     <SolidSection label="Root">
0127         <Box name="PixelForwardBlade_main" dx="[RootHalfWidth]" dy="[RootHalfLength]" dz="[RootHalfThickness]-0.1*mm"/>
0128         <Box name="PixelForwardBlade_box" dx="1.5*mm" dy="1.5*mm" dz="[RootHalfThickness]"/>
0129         <SubtractionSolid name="PixelForwardBlade_Left_subtraction">
0130             <rSolid name="PixelForwardBlade_main"/>
0131             <rSolid name="PixelForwardBlade_box"/>
0132             <Translation x="-[RootHalfWidth]" y="[RootHalfLength]" z="0."/>
0133         </SubtractionSolid>
0134         <SubtractionSolid name="PixelForwardBlade">
0135             <rSolid name="PixelForwardBlade_Left_subtraction"/>
0136             <rSolid name="PixelForwardBlade_box"/>
0137             <Translation x="[RootHalfWidth]" y="[RootHalfLength]" z="0."/>
0138         </SubtractionSolid>
0139     </SolidSection>
0140     <LogicalPartSection label="Root">
0141         <LogicalPart name="PixelForwardBlade" category="envelope">
0142             <rSolid name="PixelForwardBlade"/>
0143             <rMaterial name="materials:Air"/>
0144         </LogicalPart>
0145     </LogicalPartSection>
0146     <!-- Constants for Body and Cover -->
0147     <ConstantsSection label="BodyCover" eval="true">
0148         <Constant name="e01" value="[L02]/2."/>
0149         <Constant name="e02" value="sqrt([e01]*[e01]+[L01]*[L01]-[R01]*[R01])"/>
0150         <!-- length of straight part of cooling channel -->
0151         <Constant name="a01" value="atan([e01]/[L01])-atan([R01]/[e02])"/>
0152         <!-- angle between blade axis and straight part of cooling channel -->
0153         <Constant name="sin01" value="sin([a01])"/>
0154         <Constant name="cos01" value="cos([a01])"/>
0155         <Constant name="x04" value="[L02]/2."/>
0156         <Constant name="y05" value="[y00]+[L01]"/>
0157         <Constant name="x03" value="([R01]*[cos01]+[x04])/2."/>
0158         <Constant name="y04" value="[y00]+(-[R01]*[sin01]+[L01])/2."/>
0159         <Constant name="e03" value="([L03]*cos([A01]))/2."/>
0160         <Constant name="r01" value="([R01]+[W02]/2.-[W04]/2.)"/>
0161         <Constant name="y02" value="-[r01]*sin([A01])-[e03]*cos([A01])"/>
0162         <Constant name="x01" value="[r01]*cos([A01])-[e03]*sin([A01])"/>
0163         <Constant name="x06" value="[L07]/2.+[R04]+[L06]/2."/>
0164     </ConstantsSection>
0165     <!-- Body -->
0166     <SolidSection label="Body">
0167         <Box name="PixelForwardBladeBody01" dx="[W02]/2." dy="[e02]/2." dz="[BodyHalfThickness]"/>
0168         <Tubs name="PixelForwardBladeBody02_01" rMin="[R01]-[W02]/2." rMax="[R01]+[W02]/2." dz="[BodyHalfThickness]" startPhi="-180.*deg+[a01]" deltaPhi="180.*deg-2.*[a01]"/>
0169         <Box name="PixelForwardBladeBody02_02" dx="[W04]/2." dy="[e03]" dz="[BodyHalfThickness]"/>
0170         <Box name="PixelForwardBladeBody02_03" dx="[W04]/2." dy="[e03]" dz="[BodyHalfThickness]"/>
0171         <UnionSolid name="PixelForwardBladeBody02_int01">
0172             <rSolid name="PixelForwardBladeBody02_01"/>
0173             <rSolid name="PixelForwardBladeBody02_02"/>
0174             <Translation x="-[x01]" y="[y02]" z="0."/>
0175             <rRotation name="LeftArm02"/>
0176         </UnionSolid>
0177         <UnionSolid name="PixelForwardBladeBody02">
0178             <rSolid name="PixelForwardBladeBody02_int01"/>
0179             <rSolid name="PixelForwardBladeBody02_03"/>
0180             <Translation x="[x01]" y="[y02]" z="0."/>
0181             <rRotation name="RightArm02"/>
0182         </UnionSolid>
0183         <Tubs name="PixelForwardBladeBody03" rMin="0." rMax="[W02]/2." dz="[BodyHalfThickness]" startPhi="0*deg" deltaPhi="180*deg"/>
0184         <!-- Crossbar -->
0185         <Trapezoid name="PixelForwardBladeBody04" dz="[BodyHalfThickness]" bl1="([R01]-[W02]/2.)/[cos01]+([L09]-[W06]/2.)*tan([a01])" bl2="([R01]-[W02]/2.)/[cos01]+([L09]-[W06]/2.)*tan([a01])" tl1="([R01]-[W02]/2.)/[cos01]+([L09]+[W06]/2.)*tan([a01])" tl2="([R01]-[W02]/2.)/[cos01]+([L09]+[W06]/2.)*tan([a01])" h1="[W06]/2." h2="[W06]/2." alp1="0.0" alp2="0.0" phi="90*deg"/>
0186         <Box name="PixelForwardBladeBody05_01" dx="[L08]/2." dy="[R04]" dz="[BodyHalfThickness]"/>
0187         <Tubs name="PixelForwardBladeBody05_02" rMin="0." rMax="[R04]" dz="[BodyHalfThickness]" startPhi="0." deltaPhi="360*deg"/>
0188         <Tubs name="PixelForwardBladeBody05_03" rMin="0." rMax="[R04]" dz="[BodyHalfThickness]" startPhi="0." deltaPhi="360*deg"/>
0189         <UnionSolid name="PixelForwardBladeBody05_int01">
0190             <rSolid name="PixelForwardBladeBody05_01"/>
0191             <rSolid name="PixelForwardBladeBody05_02"/>
0192             <Translation x="[L08]/2." y="0." z="0."/>
0193         </UnionSolid>
0194         <UnionSolid name="PixelForwardBladeBody05">
0195             <rSolid name="PixelForwardBladeBody05_int01"/>
0196             <rSolid name="PixelForwardBladeBody05_03"/>
0197             <Translation x="-[L08]/2." y="0." z="0."/>
0198         </UnionSolid>
0199     </SolidSection>
0200     <LogicalPartSection label="Body">
0201         <LogicalPart name="PixelForwardBladeBody01_Left" category="support">
0202             <rSolid name="PixelForwardBladeBody01"/>
0203             <rMaterial name="trackermaterial:T_Aluminium"/>
0204         </LogicalPart>
0205         <LogicalPart name="PixelForwardBladeBody01_Right" category="support">
0206             <rSolid name="PixelForwardBladeBody01"/>
0207             <rMaterial name="trackermaterial:T_Aluminium"/>
0208         </LogicalPart>
0209         <LogicalPart name="PixelForwardBladeBody02" category="support">
0210             <rSolid name="PixelForwardBladeBody02"/>
0211             <rMaterial name="trackermaterial:T_Aluminium"/>
0212         </LogicalPart>
0213         <LogicalPart name="PixelForwardBladeBody03_Left" category="support">
0214             <rSolid name="PixelForwardBladeBody03"/>
0215             <rMaterial name="trackermaterial:T_Aluminium"/>
0216         </LogicalPart>
0217         <LogicalPart name="PixelForwardBladeBody03_Right" category="support">
0218             <rSolid name="PixelForwardBladeBody03"/>
0219             <rMaterial name="trackermaterial:T_Aluminium"/>
0220         </LogicalPart>
0221         <LogicalPart name="PixelForwardBladeBody04" category="support">
0222             <rSolid name="PixelForwardBladeBody04"/>
0223             <rMaterial name="trackermaterial:T_Aluminium"/>
0224         </LogicalPart>
0225         <LogicalPart name="PixelForwardBladeBody05" category="support">
0226             <rSolid name="PixelForwardBladeBody05"/>
0227             <rMaterial name="materials:Air"/>
0228         </LogicalPart>
0229     </LogicalPartSection>
0230     <PosPartSection label="Body">
0231         <PosPart copyNumber="1">
0232             <rParent name="PixelForwardBlade"/>
0233             <rChild name="PixelForwardBladeBody01_Left"/>
0234             <Translation x="-[x03]" y="[y04]" z="[zBody]"/>
0235             <rRotation name="LeftArm01"/>
0236         </PosPart>
0237         <PosPart copyNumber="1">
0238             <rParent name="PixelForwardBlade"/>
0239             <rChild name="PixelForwardBladeBody01_Right"/>
0240             <Translation x="[x03]" y="[y04]" z="[zBody]"/>
0241             <rRotation name="RightArm01"/>
0242         </PosPart>
0243         <PosPart copyNumber="1">
0244             <rParent name="PixelForwardBlade"/>
0245             <rChild name="PixelForwardBladeBody02"/>
0246             <Translation x="0." y="[y00]" z="[zBody]"/>
0247         </PosPart>
0248         <PosPart copyNumber="1">
0249             <rParent name="PixelForwardBlade"/>
0250             <rChild name="PixelForwardBladeBody03_Left"/>
0251             <Translation x="-[x04]" y="[y05]" z="[zBody]"/>
0252             <rRotation name="LeftArm01"/>
0253         </PosPart>
0254         <PosPart copyNumber="1">
0255             <rParent name="PixelForwardBlade"/>
0256             <rChild name="PixelForwardBladeBody03_Right"/>
0257             <Translation x="[x04]" y="[y05]" z="[zBody]"/>
0258             <rRotation name="RightArm01"/>
0259         </PosPart>
0260         <!-- Crossbar -->
0261         <PosPart copyNumber="1">
0262             <rParent name="PixelForwardBlade"/>
0263             <rChild name="PixelForwardBladeBody04"/>
0264             <Translation x="0." y="[y00]+[L09]" z="[zBody]"/>
0265         </PosPart>
0266         <PosPart copyNumber="1">
0267             <rParent name="PixelForwardBladeBody04"/>
0268             <rChild name="PixelForwardBladeBody05"/>
0269             <Translation x="[x06]" y="0." z="0."/>
0270         </PosPart>
0271         <PosPart copyNumber="2">
0272             <rParent name="PixelForwardBladeBody04"/>
0273             <rChild name="PixelForwardBladeBody05"/>
0274             <Translation x="-[x06]" y="0." z="0."/>
0275         </PosPart>
0276     </PosPartSection>
0277     <!-- Cover -->
0278     <SolidSection label="Cover">
0279         <Box name="PixelForwardBladeCover01" dx="[W03]/2." dy="[e02]/2." dz="[CoverHalfThickness]"/>
0280         <Tubs name="PixelForwardBladeCover02_01" rMin="[R01]-[W03]/2." rMax="[R01]+[W03]/2." dz="[CoverHalfThickness]" startPhi="-180.*deg+[a01]" deltaPhi="180.*deg-2.*[a01]"/>
0281         <Box name="PixelForwardBladeCover02_02" dx="[W04]/2." dy="[e03]" dz="[CoverHalfThickness]"/>
0282         <Box name="PixelForwardBladeCover02_03" dx="[W04]/2." dy="[e03]" dz="[CoverHalfThickness]"/>
0283         <UnionSolid name="PixelForwardBladeCover02_int01">
0284             <rSolid name="PixelForwardBladeCover02_01"/>
0285             <rSolid name="PixelForwardBladeCover02_02"/>
0286             <Translation x="-[x01]" y="[y02]" z="0."/>
0287             <rRotation name="LeftArm02"/>
0288         </UnionSolid>
0289         <UnionSolid name="PixelForwardBladeCover02">
0290             <rSolid name="PixelForwardBladeCover02_int01"/>
0291             <rSolid name="PixelForwardBladeCover02_03"/>
0292             <Translation x="[x01]" y="[y02]" z="0."/>
0293             <rRotation name="RightArm02"/>
0294         </UnionSolid>
0295         <Tubs name="PixelForwardBladeCover03" rMin="0." rMax="[W03]/2." dz="[CoverHalfThickness]" startPhi="0*deg" deltaPhi="180*deg"/>
0296         <!-- Crossbar -->
0297         <Trapezoid name="PixelForwardBladeCover04_01" dz="[CoverHalfThickness]" bl1="([R01]-[W03]/2.)/[cos01]+([L09]-[W06]/2.)*tan([a01])" bl2="([R01]-[W03]/2.)/[cos01]+([L09]-[W06]/2.)*tan([a01])" tl1="([R01]-[W03]/2.)/[cos01]+([L09]+[W06]/2.)*tan([a01])" tl2="([R01]-[W03]/2.)/[cos01]+([L09]+[W06]/2.)*tan([a01])" h1="[W06]/2." h2="[W06]/2." alp1="0.0" alp2="0.0" phi="90*deg"/>
0298         <Box name="PixelForwardBladeCover04_02" dx="[L06]/2." dy="[CoverHalfThickness]+[pixfwdCommon:SmallBool]" dz="[R04]"/>
0299         <Box name="PixelForwardBladeCover04_03" dx="[L06]/2." dy="[CoverHalfThickness]+[pixfwdCommon:SmallBool]" dz="[R04]"/>
0300         <Tubs name="PixelForwardBladeCover04_04" rMin="0." rMax="[R04]" dz="[CoverHalfThickness]+[pixfwdCommon:SmallBool]" startPhi="0." deltaPhi="360*deg"/>
0301         <Tubs name="PixelForwardBladeCover04_05" rMin="0." rMax="[R04]" dz="[CoverHalfThickness]+[pixfwdCommon:SmallBool]" startPhi="0." deltaPhi="360*deg"/>
0302         <Tubs name="PixelForwardBladeCover04_06" rMin="0." rMax="[R04]" dz="[CoverHalfThickness]+[pixfwdCommon:SmallBool]" startPhi="0." deltaPhi="360*deg"/>
0303         <Tubs name="PixelForwardBladeCover04_07" rMin="0." rMax="[R04]" dz="[CoverHalfThickness]+[pixfwdCommon:SmallBool]" startPhi="0." deltaPhi="360*deg"/>
0304         <SubtractionSolid name="PixelForwardBladeCover04_int01">
0305             <rSolid name="PixelForwardBladeCover04_01"/>
0306             <rSolid name="PixelForwardBladeCover04_02"/>
0307             <Translation x="[L07]/2.+[R04]+[L06]/2." y="0." z="0."/>
0308         </SubtractionSolid>
0309         <SubtractionSolid name="PixelForwardBladeCover04_int02">
0310             <rSolid name="PixelForwardBladeCover04_int01"/>
0311             <rSolid name="PixelForwardBladeCover04_03"/>
0312             <Translation x="-[L07]/2.-[R04]-[L06]/2." y="0." z="0."/>
0313         </SubtractionSolid>
0314         <SubtractionSolid name="PixelForwardBladeCover04_int03">
0315             <rSolid name="PixelForwardBladeCover04_int02"/>
0316             <rSolid name="PixelForwardBladeCover04_04"/>
0317             <Translation x="-[L07]/2.-[R04]" y="0." z="0."/>
0318         </SubtractionSolid>
0319         <SubtractionSolid name="PixelForwardBladeCover04_int04">
0320             <rSolid name="PixelForwardBladeCover04_int03"/>
0321             <rSolid name="PixelForwardBladeCover04_05"/>
0322             <Translation x="-[L07]/2.-[R04]-[L06]" y="0." z="0."/>
0323         </SubtractionSolid>
0324         <SubtractionSolid name="PixelForwardBladeCover04_int05">
0325             <rSolid name="PixelForwardBladeCover04_int04"/>
0326             <rSolid name="PixelForwardBladeCover04_06"/>
0327             <Translation x="[L07]/2.+[R04]" y="0." z="0."/>
0328         </SubtractionSolid>
0329         <SubtractionSolid name="PixelForwardBladeCover04">
0330             <rSolid name="PixelForwardBladeCover04_int05"/>
0331             <rSolid name="PixelForwardBladeCover04_07"/>
0332             <Translation x="[L07]/2.+[R04]+[L06]" y="0." z="0."/>
0333         </SubtractionSolid>
0334     </SolidSection>
0335     <LogicalPartSection label="Cover">
0336         <LogicalPart name="PixelForwardBladeCover01_Left" category="support">
0337             <rSolid name="PixelForwardBladeCover01"/>
0338             <rMaterial name="trackermaterial:T_Aluminium"/>
0339         </LogicalPart>
0340         <LogicalPart name="PixelForwardBladeCover01_Right" category="support">
0341             <rSolid name="PixelForwardBladeCover01"/>
0342             <rMaterial name="trackermaterial:T_Aluminium"/>
0343         </LogicalPart>
0344         <LogicalPart name="PixelForwardBladeCover02" category="support">
0345             <rSolid name="PixelForwardBladeCover02"/>
0346             <rMaterial name="trackermaterial:T_Aluminium"/>
0347         </LogicalPart>
0348         <LogicalPart name="PixelForwardBladeCover03_Left" category="support">
0349             <rSolid name="PixelForwardBladeCover03"/>
0350             <rMaterial name="trackermaterial:T_Aluminium"/>
0351         </LogicalPart>
0352         <LogicalPart name="PixelForwardBladeCover03_Right" category="support">
0353             <rSolid name="PixelForwardBladeCover03"/>
0354             <rMaterial name="trackermaterial:T_Aluminium"/>
0355         </LogicalPart>
0356         <LogicalPart name="PixelForwardBladeCover04" category="support">
0357             <rSolid name="PixelForwardBladeCover04"/>
0358             <rMaterial name="trackermaterial:T_Aluminium"/>
0359         </LogicalPart>
0360     </LogicalPartSection>
0361     <PosPartSection label="Cover">
0362         <PosPart copyNumber="1">
0363             <rParent name="PixelForwardBlade"/>
0364             <rChild name="PixelForwardBladeCover01_Left"/>
0365             <Translation x="-[x03]" y="[y04]" z="[zCover]"/>
0366             <rRotation name="LeftArm01"/>
0367         </PosPart>
0368         <PosPart copyNumber="1">
0369             <rParent name="PixelForwardBlade"/>
0370             <rChild name="PixelForwardBladeCover01_Right"/>
0371             <Translation x="[x03]" y="[y04]" z="[zCover]"/>
0372             <rRotation name="RightArm01"/>
0373         </PosPart>
0374         <PosPart copyNumber="1">
0375             <rParent name="PixelForwardBlade"/>
0376             <rChild name="PixelForwardBladeCover02"/>
0377             <Translation x="0." y="[y00]" z="[zCover]"/>
0378         </PosPart>
0379         <PosPart copyNumber="1">
0380             <rParent name="PixelForwardBlade"/>
0381             <rChild name="PixelForwardBladeCover03_Left"/>
0382             <Translation x="-[x04]" y="[y05]" z="[zCover]"/>
0383             <rRotation name="LeftArm01"/>
0384         </PosPart>
0385         <PosPart copyNumber="1">
0386             <rParent name="PixelForwardBlade"/>
0387             <rChild name="PixelForwardBladeCover03_Right"/>
0388             <Translation x="[x04]" y="[y05]" z="[zCover]"/>
0389             <rRotation name="RightArm01"/>
0390         </PosPart>
0391         <!-- Crossbar -->
0392         <PosPart copyNumber="1">
0393             <rParent name="PixelForwardBlade"/>
0394             <rChild name="PixelForwardBladeCover04"/>
0395             <Translation x="0." y="[y00]+[L09]" z="[zCover]"/>
0396         </PosPart>
0397     </PosPartSection>
0398     <!-- Tip -->
0399     <ConstantsSection label="Tip" eval="true">
0400         <Constant name="r02" value="[R01]+[W02]/2.-[L03]*sin([A01])"/>
0401         <Constant name="r03" value="[r02]-[W04]"/>
0402         <Constant name="e04" value="([L04]-[r03])/2."/>
0403         <Constant name="e05" value="(([r02]*cos([A01])-[W05]/2.)/sin([A01]))/2."/>
0404         <Constant name="y03" value="-([r02]-[W04]/2.)*sin([A01])-[e05]*cos([A01])"/>
0405         <Constant name="x02" value="([r02]-[W04]/2.)*cos([A01])-[e05]*sin([A01])"/>
0406     </ConstantsSection>
0407     <SolidSection label="Tip">
0408         <Tubs name="PixelForwardBladeTip01_01" rMin="[r03]" rMax="[r02]" dz="[BladeHalfThickness]" startPhi="180.*deg+[A01]" deltaPhi="180.*deg-2.*[A01]"/>
0409         <Box name="PixelForwardBladeTip01_02" dx="[W05]/2." dy="[e04]-[pixfwdCommon:SmallBool]" dz="[BladeHalfThickness]"/>
0410         <Tubs name="PixelForwardBladeTip01_03" rMin="[R02]" rMax="[R02]*sqrt(2.)" dz="[BladeHalfThickness]+[pixfwdCommon:SmallBool]" startPhi="180.*deg" deltaPhi="180.*deg"/>
0411         <Box name="PixelForwardBladeTip01_04" dx="[W04]/2." dy="[e05]" dz="[BladeHalfThickness]"/>
0412         <Box name="PixelForwardBladeTip01_05" dx="[W04]/2." dy="[e05]" dz="[BladeHalfThickness]"/>
0413         <UnionSolid name="PixelForwardBladeTip01_int01">
0414             <rSolid name="PixelForwardBladeTip01_01"/>
0415             <rSolid name="PixelForwardBladeTip01_04"/>
0416             <Translation x="-[x02]" y="[y03]" z="0."/>
0417             <rRotation name="LeftArm02"/>
0418         </UnionSolid>
0419         <UnionSolid name="PixelForwardBladeTip01_int02">
0420             <rSolid name="PixelForwardBladeTip01_int01"/>
0421             <rSolid name="PixelForwardBladeTip01_05"/>
0422             <Translation x="[x02]" y="[y03]" z="0."/>
0423             <rRotation name="RightArm02"/>
0424         </UnionSolid>
0425         <UnionSolid name="PixelForwardBladeTip01_int03">
0426             <rSolid name="PixelForwardBladeTip01_int02"/>
0427             <rSolid name="PixelForwardBladeTip01_02"/>
0428             <Translation x="0." y="-[r03]-[e04]-[pixfwdCommon:SmallBool]" z="0."/>
0429         </UnionSolid>
0430         <SubtractionSolid name="PixelForwardBladeTip01">
0431             <rSolid name="PixelForwardBladeTip01_int03"/>
0432             <rSolid name="PixelForwardBladeTip01_03"/>
0433             <Translation x="0." y="-[L04]+[L05]" z="0."/>
0434         </SubtractionSolid>
0435     </SolidSection>
0436     <LogicalPartSection label="Tip">
0437         <LogicalPart name="PixelForwardBladeTip01" category="support">
0438             <rSolid name="PixelForwardBladeTip01"/>
0439             <rMaterial name="trackermaterial:T_Aluminium"/>
0440         </LogicalPart>
0441     </LogicalPartSection>
0442     <PosPartSection label="Tip">
0443         <PosPart copyNumber="1">
0444             <rParent name="PixelForwardBlade"/>
0445             <rChild name="PixelForwardBladeTip01"/>
0446             <Translation x="0." y="[y00]-[L03]" z="0."/>
0447         </PosPart>
0448     </PosPartSection>
0449     <!-- Cooling channel -->
0450     <ConstantsSection label="Channel" eval="true">
0451         <Constant name="ChanBodyHalfThickness" value="([T04]-[T03])/2."/>
0452         <Constant name="ChanCoverHalfThickness" value="[T03]/2."/>
0453         <Constant name="z03" value="[BodyHalfThickness]-[ChanBodyHalfThickness]"/>
0454         <!-- Channel central plane inside body -->
0455         <Constant name="z04" value="-[CoverHalfThickness]+[ChanCoverHalfThickness]"/>
0456         <!-- Channel central plane inside cover -->
0457     </ConstantsSection>
0458     <SolidSection label="Channel">
0459         <Box name="PixelForwardBladeChan01_Body" dx="[W01]/2." dy="[e02]/2." dz="[ChanBodyHalfThickness]"/>
0460         <Box name="PixelForwardBladeChan01_Cover" dx="[W01]/2." dy="[e02]/2." dz="[ChanCoverHalfThickness]"/>
0461         <Tubs name="PixelForwardBladeChan02_Body" rMin="[R01]-[W01]/2." rMax="[R01]+[W01]/2." dz="[ChanBodyHalfThickness]" startPhi="180.*deg+[a01]" deltaPhi="180.*deg-2.*[a01]"/>
0462         <Tubs name="PixelForwardBladeChan02_Cover" rMin="[R01]-[W01]/2." rMax="[R01]+[W01]/2." dz="[ChanCoverHalfThickness]" startPhi="180.*deg+[a01]" deltaPhi="180.*deg-2.*[a01]"/>
0463         <Tubs name="PixelForwardBladeChan03_Body" rMin="0." rMax="[W01]/2." dz="[ChanBodyHalfThickness]" startPhi="0*deg" deltaPhi="180*deg"/>
0464         <Tubs name="PixelForwardBladeChan03_Cover" rMin="0." rMax="[W01]/2." dz="[ChanCoverHalfThickness]" startPhi="0*deg" deltaPhi="180*deg"/>
0465     </SolidSection>
0466     <LogicalPartSection label="Channel">
0467         <LogicalPart name="PixelForwardBladeChan01_Body" category="cooling">
0468             <rSolid name="PixelForwardBladeChan01_Body"/>
0469             <rMaterial name="pixfwdMaterials:PixelForwardCoolant"/>
0470         </LogicalPart>
0471         <LogicalPart name="PixelForwardBladeChan01_Cover" category="cooling">
0472             <rSolid name="PixelForwardBladeChan01_Cover"/>
0473             <rMaterial name="pixfwdMaterials:PixelForwardCoolant"/>
0474         </LogicalPart>
0475         <LogicalPart name="PixelForwardBladeChan02_Body" category="cooling">
0476             <rSolid name="PixelForwardBladeChan02_Body"/>
0477             <rMaterial name="pixfwdMaterials:PixelForwardCoolant"/>
0478         </LogicalPart>
0479         <LogicalPart name="PixelForwardBladeChan02_Cover" category="cooling">
0480             <rSolid name="PixelForwardBladeChan02_Cover"/>
0481             <rMaterial name="pixfwdMaterials:PixelForwardCoolant"/>
0482         </LogicalPart>
0483         <LogicalPart name="PixelForwardBladeChan03_Body" category="cooling">
0484             <rSolid name="PixelForwardBladeChan03_Body"/>
0485             <rMaterial name="pixfwdMaterials:PixelForwardCoolant"/>
0486         </LogicalPart>
0487         <LogicalPart name="PixelForwardBladeChan03_Cover" category="cooling">
0488             <rSolid name="PixelForwardBladeChan03_Cover"/>
0489             <rMaterial name="pixfwdMaterials:PixelForwardCoolant"/>
0490         </LogicalPart>
0491     </LogicalPartSection>
0492     <PosPartSection label="Channel">
0493         <PosPart copyNumber="1">
0494             <rParent name="PixelForwardBladeBody01_Left"/>
0495             <rChild name="PixelForwardBladeChan01_Body"/>
0496             <Translation x="0." y="0." z="[z03]"/>
0497         </PosPart>
0498         <PosPart copyNumber="2">
0499             <rParent name="PixelForwardBladeBody01_Right"/>
0500             <rChild name="PixelForwardBladeChan01_Body"/>
0501             <Translation x="0." y="0." z="[z03]"/>
0502         </PosPart>
0503         <PosPart copyNumber="1">
0504             <rParent name="PixelForwardBladeCover01_Left"/>
0505             <rChild name="PixelForwardBladeChan01_Cover"/>
0506             <Translation x="0." y="0." z="[z04]"/>
0507         </PosPart>
0508         <PosPart copyNumber="2">
0509             <rParent name="PixelForwardBladeCover01_Right"/>
0510             <rChild name="PixelForwardBladeChan01_Cover"/>
0511             <Translation x="0." y="0." z="[z04]"/>
0512         </PosPart>
0513         <PosPart copyNumber="1">
0514             <rParent name="PixelForwardBladeBody02"/>
0515             <rChild name="PixelForwardBladeChan02_Body"/>
0516             <Translation x="0." y="0." z="[z03]"/>
0517         </PosPart>
0518         <PosPart copyNumber="1">
0519             <rParent name="PixelForwardBladeCover02"/>
0520             <rChild name="PixelForwardBladeChan02_Cover"/>
0521             <Translation x="0." y="0." z="[z04]"/>
0522         </PosPart>
0523         <PosPart copyNumber="1">
0524             <rParent name="PixelForwardBladeBody03_Left"/>
0525             <rChild name="PixelForwardBladeChan03_Body"/>
0526             <Translation x="0." y="0." z="[z03]"/>
0527         </PosPart>
0528         <PosPart copyNumber="2">
0529             <rParent name="PixelForwardBladeBody03_Right"/>
0530             <rChild name="PixelForwardBladeChan03_Body"/>
0531             <Translation x="0." y="0." z="[z03]"/>
0532         </PosPart>
0533         <PosPart copyNumber="1">
0534             <rParent name="PixelForwardBladeCover03_Left"/>
0535             <rChild name="PixelForwardBladeChan03_Cover"/>
0536             <Translation x="0." y="0." z="[z04]"/>
0537         </PosPart>
0538         <PosPart copyNumber="2">
0539             <rParent name="PixelForwardBladeCover03_Right"/>
0540             <rChild name="PixelForwardBladeChan03_Cover"/>
0541             <Translation x="0." y="0." z="[z04]"/>
0542         </PosPart>
0543     </PosPartSection>
0544     <!-- All rotations -->
0545     <RotationSection label="Blade">
0546         <Rotation name="LeftArm01" phiX="[a01]" thetaX="90.*deg" phiY="90.*deg + [a01]" thetaY="90.*deg" phiZ="0." thetaZ="0."/>
0547         <Rotation name="RightArm01" phiX="-[a01]" thetaX="90.*deg" phiY="90.*deg - [a01]" thetaY="90.*deg" phiZ="0." thetaZ="0."/>
0548         <Rotation name="LeftArm02" phiX="[A01]" thetaX="90.*deg" phiY="90.*deg + [A01]" thetaY="90.*deg" phiZ="0." thetaZ="0."/>
0549         <Rotation name="RightArm02" phiX="-[A01]" thetaX="90.*deg" phiY="90.*deg - [A01]" thetaY="90.*deg" phiZ="0." thetaZ="0."/>
0550     </RotationSection>
0551 </DDDefinition>