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
|
<?xml version="1.0"?>
<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">
<ConstantsSection label="pixfwd.xml" eval="true">
<Constant name="RootRadius" value="[pixfwdCylinder:CylindersOuterRmax]"/>
<Constant name="RootHalfLength" value="[pixfwdCylinder:CylindersOuterLength]/2.+ [pixfwdCylinder:CylindersEndFlangeLength]/2."/>
<Constant name="AnchorZ" value="0.*mm"/>
<Constant name="ZPixelForward" value="291.*mm"/>
<Constant name="RootStartZ" value="-4*mm"/> <!-- -2*mm-->
<Constant name="RootMidSupZ1" value="[cms:TrackBeamSupZ1]-[ZPixelForward]"/>
<Constant name="RootMidSupZ2" value="[cms:TrackBeamSupZ2]-[ZPixelForward]"/>
<Constant name="RootMidZ1" value="[cms:TrackLumiZ1]-[ZPixelForward]"/>
<Constant name="RootMidZ2" value="[cms:TrackLumiZ2]-[ZPixelForward]"/>
<Constant name="RootMidZ3" value="[cms:TrackBeamZ1]-[ZPixelForward]"/>
<Constant name="RootEndZ" value="2*[RootHalfLength]"/>
<Constant name="Disk1Z" value="[pixfwdDisks:DiskHalfWidth]+[RootStartZ]"/> <!-- 35.75*mm-->
<Constant name="Disk2Z" value="[Disk1Z]+75.0*mm"/> <!-- +72.5*mm--> <!-- +105.0*mm -->
<Constant name="Disk3Z" value="[Disk2Z]+95.0*mm"/> <!-- +120.0*mm-->
<Constant name="ZCylinder" value="[AnchorZ]"/>
</ConstantsSection>
<SolidSection label="pixfwd.xml">
<Polycone name="PixelForward" startPhi="0*deg" deltaPhi="360*deg" >
<ZSection z="[RootStartZ]" rMin="[cms:TrackBeamR1]" rMax="[RootRadius]"/>
<ZSection z="[RootMidSupZ1]" rMin="[cms:TrackBeamR1]" rMax="[RootRadius]"/>
<ZSection z="[RootMidSupZ1]" rMin="[cms:TrackBeamSupR1]" rMax="[RootRadius]"/>
<ZSection z="[RootMidSupZ2]" rMin="[cms:TrackBeamSupR1]" rMax="[RootRadius]"/>
<ZSection z="[RootMidSupZ2]" rMin="[cms:TrackBeamR1]" rMax="[RootRadius]"/>
<ZSection z="[RootMidZ1]" rMin="[cms:TrackBeamR1]" rMax="[RootRadius]"/>
<ZSection z="[RootMidZ1]" rMin="[cms:TrackLumiR1]" rMax="[RootRadius]"/>
<ZSection z="[RootMidZ2]" rMin="[cms:TrackLumiR1]" rMax="[RootRadius]"/>
<ZSection z="[RootMidZ2]" rMin="[cms:TrackBeamR1]" rMax="[RootRadius]"/>
<ZSection z="[RootMidZ3]" rMin="[cms:TrackBeamR1]" rMax="[RootRadius]"/>
<ZSection z="[RootEndZ]" rMin="[cms:TrackBeamR2]" rMax="[RootRadius]"/>
</Polycone>
</SolidSection>
<LogicalPartSection label="pixfwd.xml">
<LogicalPart name="PixelForward" category="envelope">
<rSolid name="PixelForward"/>
<rMaterial name="materials:Air"/>
</LogicalPart>
</LogicalPartSection>
<!-- Position disks inside root -->
<PosPartSection label="pixfwd.xml">
<PosPart copyNumber="1">
<rParent name="pixfwd:PixelForward"/>
<rChild name="pixfwdDisks:PixelForwardDisk1"/>
<Translation x="0." y="0." z="[AnchorZ]+[Disk1Z]"/>
</PosPart>
<PosPart copyNumber="1">
<rParent name="pixfwd:PixelForward"/>
<rChild name="pixfwdDisks:PixelForwardDisk2"/>
<Translation x="0." y="0." z="[AnchorZ]+[Disk2Z]"/>
</PosPart>
<PosPart copyNumber="1">
<rParent name="pixfwd:PixelForward"/>
<rChild name="pixfwdDisks:PixelForwardDisk3"/>
<Translation x="0." y="0." z="[AnchorZ]+ [Disk3Z]" />
</PosPart>
<PosPart copyNumber="1">
<rParent name="pixfwd:PixelForward"/>
<rChild name="pixfwdCylinder:PixelForwardServiceCylinder"/>
<Translation x="0." y="0." z="0."/>
</PosPart>
<PosPart copyNumber="1">
<rParent name="pixfwd:PixelForward"/>
<rChild name="pixfwdCylinder:PixelForwardCylinderEndFlange"/>
<Translation x="0." y="0." z="[pixfwd:ZCylinder]+[pixfwdCylinder:CylindersOuterLength]+[pixfwdCylinder:CylindersEndFlangeLength]/2."/>
<rRotation name="pixfwdCylinder:EndFlangeRot1"/>
</PosPart>
<PosPart copyNumber="2">
<rParent name="pixfwd:PixelForward"/>
<rChild name="pixfwdCylinder:PixelForwardCylinderEndFlange"/>
<Translation x="0." y="0." z="[pixfwd:ZCylinder]+[pixfwdCylinder:CylindersOuterLength]+[pixfwdCylinder:CylindersEndFlangeLength]/2."/>
<rRotation name="pixfwdCylinder:EndFlangeRot2"/> <!-- xt rRotation name="pixfwdCommon:Z180" / xt-->
</PosPart>
<!-- xt PosPart copyNumber="1">
<rParent name="pixfwd:PixelForward"/>
<rChild name="pixfwdCylinder:PixelForwardCylinderBackCyl"/>
<Translation x="0." y="0." z="[pixfwd:ZCylinder]+[pixfwdCylinder:CylindersFrontLength]+[pixfwdCylinder:CylinderBackLength]/2." />
</PosPart xt -->
</PosPartSection>
</DDDefinition>
|