1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
<?xml version="1.0"?>
<DDDefinition>
<ConstantsSection label="pixfwdOuterDiskZplus.xml" eval="true">
<Constant name="OuterRingHalfWidth" value="[pixfwdSupportRingParameters:OuterDiskOuterRingHalfWidth]"/>
<Constant name="OuterRingZ" value="-[pixfwdDisks:DiskHalfWidth]+[OuterRingHalfWidth]+[pixfwd:FlexCableDiskHalfThickness]*2"/>
<Constant name="InnerRingHalfWidth" value="[pixfwdSupportRingParameters:OuterDiskInnerRingHalfWidth]"/>
<Constant name="InnerRingZ" value="-[pixfwdDisks:DiskHalfWidth]+[InnerRingHalfWidth]+[pixfwd:FlexCableDiskHalfThickness]*2"/>
</ConstantsSection>
<!-- support ring solids -->
<!-- each Algorithm creates on composite (union) solid that describes a cut
ring according to the given outline. The z_l and z_t arrays describe the
-Z and +Z sides by giving the Z value for each of the values of the Phi
array. The z values are only considered relatively, the object will be
centered around the origin and has to be placed using zPos.
There are two instances each, for the Core and Skin (CF), which use the
same parameters. The parameters are not defined in-place, but names are
passed, which are defined in a different file, to avoid duplication.
-->
<Algorithm name="track:DDCutTubsFromPoints">
<rParent name="pixfwdDisks:PixelForwardDiskZplus"/>
<String name="SolidName" value="PixelForwardOuterDiskOuterRing"/>
<String name="Material" value="pixfwdMaterials:C_C_OuterOuterRing"/>
<Numeric name="zPos" value="[OuterRingZ]"/>
<Numeric name="rMin" value="[pixfwdSupportRingParameters:OuterDiskOuterRingRMin]"/>
<Numeric name="rMax" value="[pixfwdSupportRingParameters:OuterDiskOuterRingRMax]"/>
<String name="Phi" value="pixfwdSupportRingParameters:OuterDiskOuterRing_Phi"/>
<String name="z_t" value="pixfwdSupportRingParameters:OuterDiskOuterRing_z_t_Plus"/>
<String name="z_l" value="pixfwdSupportRingParameters:OuterDiskOuterRing_z_l_Plus"/>
</Algorithm>
<Algorithm name="track:DDCutTubsFromPoints">
<rParent name="pixfwdDisks:PixelForwardDiskZplus"/>
<String name="SolidName" value="PixelForwardOuterDiskCFOuterRing"/>
<String name="Material" value="pixfwdMaterials:FPix_CFSkin_OuterOuterRing"/>
<Numeric name="zPos" value="[OuterRingZ]"/>
<Numeric name="rMin" value="[pixfwdSupportRingParameters:OuterDiskOuterRingCFRMin]"/>
<Numeric name="rMax" value="[pixfwdSupportRingParameters:OuterDiskOuterRingCFRMax]"/>
<String name="Phi" value="pixfwdSupportRingParameters:OuterDiskOuterRing_Phi"/>
<String name="z_t" value="pixfwdSupportRingParameters:OuterDiskOuterRing_z_t_Plus"/>
<String name="z_l" value="pixfwdSupportRingParameters:OuterDiskOuterRing_z_l_Plus"/>
</Algorithm>
<Algorithm name="track:DDCutTubsFromPoints">
<rParent name="pixfwdDisks:PixelForwardDiskZplus"/>
<String name="SolidName" value="PixelForwardOuterDiskInnerRing"/>
<String name="Material" value="pixfwdMaterials:C_C_OuterInnerRing"/>
<Numeric name="zPos" value="[InnerRingZ]"/>
<Numeric name="rMin" value="[pixfwdSupportRingParameters:OuterDiskInnerRingRMin]"/>
<Numeric name="rMax" value="[pixfwdSupportRingParameters:OuterDiskInnerRingRMax]"/>
<String name="Phi" value="pixfwdSupportRingParameters:OuterDiskInnerRing_Phi"/>
<String name="z_t" value="pixfwdSupportRingParameters:OuterDiskInnerRing_z_t_Plus"/>
<String name="z_l" value="pixfwdSupportRingParameters:OuterDiskInnerRing_z_l_Plus"/>
</Algorithm>
<Algorithm name="track:DDCutTubsFromPoints">
<rParent name="pixfwdDisks:PixelForwardDiskZplus"/>
<String name="SolidName" value="PixelForwardOuterDiskCFInnerRing"/>
<String name="Material" value="pixfwdMaterials:FPix_CFSkin_OuterInnerRing"/>
<Numeric name="zPos" value="[InnerRingZ]"/>
<Numeric name="rMin" value="[pixfwdSupportRingParameters:OuterDiskInnerRingCFRMin]"/>
<Numeric name="rMax" value="[pixfwdSupportRingParameters:OuterDiskInnerRingCFRMax]"/>
<String name="Phi" value="pixfwdSupportRingParameters:OuterDiskInnerRing_Phi"/>
<String name="z_t" value="pixfwdSupportRingParameters:OuterDiskInnerRing_z_t_Plus"/>
<String name="z_l" value="pixfwdSupportRingParameters:OuterDiskInnerRing_z_l_Plus"/>
</Algorithm>
<!-- Blades -->
<Algorithm name="track:DDPixPhase1FwdDiskAlgo">
<rParent name="pixfwdDisks:PixelForwardDiskZplus"/>
<String name="ChildName" value="pixfwdbladeOuterZplus:PixelForwardBlade"/>
<Numeric name="StartCopyNo" value="22"/>
<Numeric name="NumberOfBlades" value="34"/>
<Numeric name="BladeAngle" value="-20*deg"/>
<Numeric name="BladeTilt" value="0*deg"/>
<Numeric name="BladeCommonZ" value="0.825*mm-4*mm"/>
<Vector name="BladeZShift" type="numeric" nEntries="34">
-25.381*mm, -22.881*mm, -20.381*mm, -17.881*mm, -15.381*mm, -12.881*mm, -10.381*mm, -7.881*mm,
-25.381*mm, -22.881*mm, -20.381*mm, -17.881*mm, -15.381*mm, -12.881*mm, -10.381*mm, -7.881*mm, -3.381*mm,
-25.381*mm, -22.881*mm, -20.381*mm, -17.881*mm, -15.381*mm, -12.881*mm, -10.381*mm, -7.881*mm,
-25.381*mm, -22.881*mm, -20.381*mm, -17.881*mm, -15.381*mm, -12.881*mm, -10.381*mm, -7.881*mm, -3.381*mm
</Vector>
<Numeric name="AnchorRadius" value="127.819*mm"/>
<String name="RotationName" value="pixfwdOuterDiskZplus:PixOuter"/>
<String name="FlagString" value="YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY"/>
</Algorithm>
<SolidSection label="pixfwdOuterDiskZplus.xml">
<Tubs name="FlexCableDisk" rMin="[pixfwd:FlexCableDiskRmin]" rMax="[pixfwd:FlexCableDiskRmax]" dz="[pixfwd:FlexCableDiskHalfThickness]" startPhi="0." deltaPhi="360*deg"/>
</SolidSection>
<LogicalPartSection label="pixfwdOuterDiskZplus.xml">
<LogicalPart name="FlexCableDisk" category="support">
<rSolid name="FlexCableDisk"/>
<rMaterial name="pixfwdMaterials:Pix_Fwd_AluFlexCable2"/>
</LogicalPart>
</LogicalPartSection>
<PosPartSection label="pixfwdOuterDiskZplus.xml">
<PosPart copyNumber="1">
<rParent name="pixfwdDisks:PixelForwardDiskZplus"/>
<rChild name="FlexCableDisk"/>
<Translation x="0." y="0." z="-[pixfwdDisks:DiskHalfWidth]+[pixfwd:FlexCableDiskHalfThickness]"/>
</PosPart>
<PosPart copyNumber="2">
<rParent name="pixfwdDisks:PixelForwardDiskZplus"/>
<rChild name="FlexCableDisk"/>
<Translation x="0." y="0." z="-[pixfwdDisks:DiskHalfWidth]-[pixfwd:FlexCableDiskHalfThickness]+[OuterRingHalfWidth]*2"/>
</PosPart>
</PosPartSection>
</DDDefinition>
|