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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
|
<?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">
<!--
== CMS Forward Pixels Geometry ==
@version 3.02.01 May 30, 2006
@created Victoria Martin
@modified Dmitry Onoprienko
== Subsystem or component described by the file ==
2x3 Plaquette.
== Root volume and its reference frame ==
Root volume : PixelForwardPlaquette2x3Up and PixelForwardPlaquette2x3Down
Y is in the plane of the plaquette, pointing away from the beam line
Z is perpendicular to the plaquette, pointing to the sensor side
== Positioning ==
The file defines AnchorX and AnchorY constants that
correspond to the anchor point (aka active center) coordinates in the plaquette
root volume.
The two root volumes defined by this file contain identical geometry, but differ
in the directions of X and Y axes of the sensitive volume.
PixelForwardPlaquette2x3Up should be positioned unrotated into "PixelForwardPanel3Right" panel,
and rotated by 180 deg around Z into "PixelForwardPanel4Left" panel.
PixelForwardPlaquette2x3Down should be positioned unrotated into "PixelForwardPanel4Right" panel,
and rotated by 180 deg around Z into "PixelForwardPanel3Left" panel.
== Additional comments ==
The volume representing the active part of the sensor is placed with 90 degrees
rotation around Z axis to make its local reference frame Y go along the longer side.
-->
<ConstantsSection label="Input" eval="true">
<Constant name="PlaquetteW" value="29.458*mm"/>
<Constant name="PlaquetteH" value="27.766*mm"/>
<Constant name="SensorW" value="26.594*mm"/>
<Constant name="SensorH" value="18.494*mm"/>
<Constant name="ActiveW" value="24.300*mm"/>
<Constant name="ActiveH" value="16.200*mm"/>
<Constant name="ROChipX_TopRight" value="3.074*mm"/>
<Constant name="ROChipY_TopRight" value="3.905*mm"/>
<Constant name="ROChipX_BottomLeft" value="27.300*mm"/>
<Constant name="ROChipY_BottomLeft" value="23.860*mm"/>
<Constant name="ActiveCenterX" value="15.187*mm"/>
<Constant name="ActiveCenterY" value="13.883*mm"/>
</ConstantsSection>
<ConstantsSection label="Common" eval="true">
<Constant name="AnchorX" value=" [PlaquetteW]/2.-[ActiveCenterX]"/>
<Constant name="AnchorY" value="0.*mm"/>
</ConstantsSection>
<SolidSection label="All">
<!-- Root volume -->
<Box name="PixelForwardPlaquette2x3" dx="[PlaquetteW]/2." dy="[PlaquetteH]/2." dz="[pixfwdPlaq:PlaquetteT]/2."/>
<!-- Sensor -->
<Box name="PixelForwardSensor2x3" dx="[SensorH]/2." dy="[SensorW]/2" dz="[pixfwdPlaq:SensorT]/2."/>
<Box name="PixelForwardActive2x3" dx="[ActiveH]/2." dy="[ActiveW]/2" dz="[pixfwdPlaq:SensorT]/2."/>
<!-- Passive part -->
<Box name="PixelForwardPassive2x3" dx="[PlaquetteW]/2." dy="[PlaquetteH]/2." dz="[pixfwdPlaq:PassiveT]/2."/>
<Box name="PixelForwardFlexCircuit2x3" dx="[PlaquetteW]/2." dy="[PlaquetteH]/2." dz="[pixfwdPlaq:FlexCircuitT]/2."/>
<Box name="PixelForwardAdhFilm2x3" dx="[PlaquetteW]/2." dy="[PlaquetteH]/2." dz="[pixfwdPlaq:AdhFilmT]/2."/>
<Box name="PixelForwardBacking2x3" dx="[PlaquetteW]/2." dy="[PlaquetteH]/2." dz="[pixfwdPlaq:BackingT]/2."/>
<Box name="PixelForwardChoTherm2x3" dx="[PlaquetteW]/2." dy="[PlaquetteH]/2." dz="[pixfwdPlaq:ChoThermT]/2."/>
</SolidSection>
<LogicalPartSection label="All">
<!-- Root volumes -->
<LogicalPart name="PixelForwardPlaquette2x3Up" category="envelope">
<rSolid name="PixelForwardPlaquette2x3"/>
<rMaterial name="materials:Air"/>
</LogicalPart>
<LogicalPart name="PixelForwardPlaquette2x3Down" category="envelope">
<rSolid name="PixelForwardPlaquette2x3"/>
<rMaterial name="materials:Air"/>
</LogicalPart>
<!-- Sensor -->
<LogicalPart name="PixelForwardSensor2x3" category="unspecified">
<rSolid name="PixelForwardSensor2x3"/>
<rMaterial name="materials:Silicon"/>
</LogicalPart>
<LogicalPart name="PixelForwardActive2x3" category="sensitive">
<rSolid name="PixelForwardActive2x3"/>
<rMaterial name="materials:Silicon"/>
</LogicalPart>
<!-- Passive part -->
<LogicalPart name="PixelForwardPassive2x3" category="envelope">
<rSolid name="PixelForwardPassive2x3"/>
<rMaterial name="materials:Air"/>
</LogicalPart>
<LogicalPart name="PixelForwardFlexCircuit2x3" category="unspecified">
<rSolid name="PixelForwardFlexCircuit2x3"/>
<rMaterial name="pixfwdMaterials:Pix_Fwd_VHDI"/>
</LogicalPart>
<LogicalPart name="PixelForwardAdhFilm2x3" category="unspecified">
<rSolid name="PixelForwardAdhFilm2x3"/>
<rMaterial name="pixfwdMaterials:Pix_Fwd_AdhFilm"/>
</LogicalPart>
<LogicalPart name="PixelForwardBacking2x3" category="unspecified">
<rSolid name="PixelForwardBacking2x3"/>
<rMaterial name="materials:Silicon"/>
</LogicalPart>
<LogicalPart name="PixelForwardChoTherm2x3" category="unspecified">
<rSolid name="PixelForwardChoTherm2x3"/>
<rMaterial name="pixfwdMaterials:Pix_Fwd_AgEpoxy"/>
</LogicalPart>
</LogicalPartSection>
<PosPartSection label="All">
<!-- Sensor -->
<PosPart copyNumber="1">
<rParent name="PixelForwardSensor2x3"/>
<rChild name="PixelForwardActive2x3"/>
</PosPart>
<PosPart copyNumber="1">
<rParent name="PixelForwardPlaquette2x3Up"/>
<rChild name="PixelForwardSensor2x3"/>
<Translation x="[AnchorX]" y="[AnchorY]" z="[pixfwdPlaq:SensorZ]"/>
<rRotation name="pixfwdPlaq:Z90"/>
</PosPart>
<PosPart copyNumber="2">
<rParent name="PixelForwardPlaquette2x3Down"/>
<rChild name="PixelForwardSensor2x3"/>
<Translation x="[AnchorX]" y="[AnchorY]" z="[pixfwdPlaq:SensorZ]"/>
<rRotation name="pixfwdPlaq:Z270"/>
</PosPart>
<!-- Passive part -->
<PosPart copyNumber="1">
<rParent name="PixelForwardPlaquette2x3Up"/>
<rChild name="PixelForwardPassive2x3"/>
<Translation x="0.*mm" y="0.*mm" z="[pixfwdPlaq:PassiveZ]"/>
</PosPart>
<PosPart copyNumber="2">
<rParent name="PixelForwardPlaquette2x3Down"/>
<rChild name="PixelForwardPassive2x3"/>
<Translation x="0.*mm" y="0.*mm" z="[pixfwdPlaq:PassiveZ]"/>
</PosPart>
<PosPart copyNumber="1">
<rParent name="PixelForwardPassive2x3"/>
<rChild name="PixelForwardFlexCircuit2x3"/>
<Translation x="0." y="0." z="[pixfwdPlaq:FlexCircuitZ]"/>
</PosPart>
<PosPart copyNumber="1">
<rParent name="PixelForwardPassive2x3"/>
<rChild name="PixelForwardAdhFilm2x3"/>
<Translation x="0." y="0." z="[pixfwdPlaq:AdhFilmZ]"/>
</PosPart>
<PosPart copyNumber="1">
<rParent name="PixelForwardPassive2x3"/>
<rChild name="PixelForwardBacking2x3"/>
<Translation x="0." y="0." z="[pixfwdPlaq:BackingZ]"/>
</PosPart>
<PosPart copyNumber="1">
<rParent name="PixelForwardPassive2x3"/>
<rChild name="PixelForwardChoTherm2x3"/>
<Translation x="0." y="0." z="[pixfwdPlaq:ChoThermZ]"/>
</PosPart>
<!-- Readout chips in the passive part -->
<PosPart copyNumber="8">
<rParent name="PixelForwardPassive2x3"/>
<rChild name="pixfwdPlaq:PixelForwardBumpROChipEpoxy"/>
<Translation x="[PlaquetteW]/2.-[ROChipX_TopRight]-[pixfwdPlaq:ROChipW]/2." y="[PlaquetteH]/2.-[ROChipY_TopRight]-[pixfwdPlaq:ROChipH]/2." z="[pixfwdPlaq:BumpROChipEpoxyZ]"/>
</PosPart>
<PosPart copyNumber="9">
<rParent name="PixelForwardPassive2x3"/>
<rChild name="pixfwdPlaq:PixelForwardBumpROChipEpoxy"/>
<Translation x="[PlaquetteW]/2.-[ROChipX_TopRight]-[pixfwdPlaq:ROChipSpaceW]-[pixfwdPlaq:ROChipW]/2." y="[PlaquetteH]/2.-[ROChipY_TopRight]-[pixfwdPlaq:ROChipH]/2." z="[pixfwdPlaq:BumpROChipEpoxyZ]"/>
</PosPart>
<PosPart copyNumber="10">
<rParent name="PixelForwardPassive2x3"/>
<rChild name="pixfwdPlaq:PixelForwardBumpROChipEpoxy"/>
<Translation x="[PlaquetteW]/2.-[ROChipX_TopRight]-2.*[pixfwdPlaq:ROChipSpaceW]-[pixfwdPlaq:ROChipW]/2." y="[PlaquetteH]/2.-[ROChipY_TopRight]-[pixfwdPlaq:ROChipH]/2." z="[pixfwdPlaq:BumpROChipEpoxyZ]"/>
</PosPart>
<PosPart copyNumber="11">
<rParent name="PixelForwardPassive2x3"/>
<rChild name="pixfwdPlaq:PixelForwardBumpROChipEpoxy"/>
<Translation x="[PlaquetteW]/2.-[ROChipX_BottomLeft]+[pixfwdPlaq:ROChipW]/2." y="[PlaquetteH]/2.-[ROChipY_BottomLeft]+[pixfwdPlaq:ROChipH]/2." z="[pixfwdPlaq:BumpROChipEpoxyZ]"/>
</PosPart>
<PosPart copyNumber="12">
<rParent name="PixelForwardPassive2x3"/>
<rChild name="pixfwdPlaq:PixelForwardBumpROChipEpoxy"/>
<Translation x="[PlaquetteW]/2.-[ROChipX_BottomLeft]+[pixfwdPlaq:ROChipSpaceW]+[pixfwdPlaq:ROChipW]/2." y="[PlaquetteH]/2.-[ROChipY_BottomLeft]+[pixfwdPlaq:ROChipH]/2." z="[pixfwdPlaq:BumpROChipEpoxyZ]"/>
</PosPart>
<PosPart copyNumber="13">
<rParent name="PixelForwardPassive2x3"/>
<rChild name="pixfwdPlaq:PixelForwardBumpROChipEpoxy"/>
<Translation x="[PlaquetteW]/2.-[ROChipX_BottomLeft]+2.*[pixfwdPlaq:ROChipSpaceW]+[pixfwdPlaq:ROChipW]/2." y="[PlaquetteH]/2.-[ROChipY_BottomLeft]+[pixfwdPlaq:ROChipH]/2." z="[pixfwdPlaq:BumpROChipEpoxyZ]"/>
</PosPart>
</PosPartSection>
</DDDefinition>
|