20 GeoTrf::RotateX3D rm(90.*Gaudi::Units::deg);
26 GeoTrf::Transform3D offset1 = pos1*rm;
27 GeoTrf::Transform3D offset2 = pos2*rm;
28 const GeoShapeSubtraction& blm1 = blmWallBox->subtract(((*blmWallHole) << offset1));
29 const GeoShapeSubtraction& blmFinal = blm1.subtract(((*blmWallHole)<< offset2));
31 const GeoLogVol* blmWallLog =
new GeoLogVol(
"blmWallLog", &blmFinal, material);
32 GeoPhysVol* blmWallPhys =
new GeoPhysVol(blmWallLog);
67 GeoTrf::RotateX3D rm(90.*Gaudi::Units::deg);
82 GeoTrf::Transform3D offset1 = pos1*rm;
83 GeoTrf::Transform3D offset2 = pos2*rm;
84 GeoTrf::Transform3D offset3 = pos3*rm;
85 GeoTrf::Transform3D offset4 = pos4*rm;
86 GeoTrf::Transform3D offset5 = pos5*rm;
87 GeoTrf::Transform3D offset6 = pos6*rm;
89 const GeoShapeUnion& blm1 = blmWallBox->add(((*blmWallBox1) << offset7));
90 const GeoShapeSubtraction& blm3 = blm1.subtract(((*blmWallHole1)<< offset8));
91 const GeoShapeSubtraction& blm4 = blm3.subtract(((*blmWallHole) << offset1));
92 const GeoShapeSubtraction& blm5 = blm4.subtract(((*blmWallHole) << offset2));
93 const GeoShapeSubtraction& blm6 = blm5.subtract(((*blmWallHole) << offset3));
94 const GeoShapeSubtraction& blm7 = blm6.subtract(((*blmWallHole) << offset4));
95 const GeoShapeSubtraction& blm8 = blm7.subtract(((*blmWallHole) << offset5));
96 const GeoShapeSubtraction& blm9 = blm8.subtract(((*blmWallHole) << offset9));
97 const GeoShapeSubtraction& blm10 = blm9.subtract(((*blmWallHole) << offset10));
98 const GeoShapeSubtraction& blmFinal = blm10.subtract(((*blmWallHole) << offset6));
100 const GeoLogVol* blmWallLog =
new GeoLogVol(
"blmWallLog", &blmFinal, material);
101 GeoPhysVol* blmWallPhys =
new GeoPhysVol(blmWallLog);
111 const GeoShape* blmWallHole =
new GeoTube(0,
s_hole_r, thick);
112 const GeoShape* blmWallHole1 =
new GeoBox(
s_width/2-3.5, thick, 5.9);
113 const GeoShape* blmWallHole2 =
new GeoBox(
s_width/2-6.1, thick, 4);
114 const GeoShape* blmWallHole3 =
new GeoBox(3.89, thick, 3.89);
115 GeoTrf::RotateX3D rm(90.*Gaudi::Units::deg);
116 GeoTrf::RotateY3D rm1(45.*Gaudi::Units::deg);
126 GeoTrf::Transform3D offset1 = pos1*rm;
127 GeoTrf::Transform3D offset2 = pos2*rm;
128 GeoTrf::Transform3D offset3 = pos3*rm;
129 GeoTrf::Transform3D offset4 = pos4*rm;
130 GeoTrf::Transform3D offset7 = pos7*rm1;
131 GeoTrf::Transform3D offset9 = pos9*rm;
132 GeoTrf::Transform3D offset10 = pos10*rm;
134 const GeoShapeSubtraction& blm1 = blmWallBox->subtract(((*blmWallHole3) << offset7));
135 const GeoShapeSubtraction& blm2 = blm1.subtract(((*blmWallHole) << offset2));
136 const GeoShapeSubtraction& blm3 = blm2.subtract(((*blmWallHole) << offset3));
137 const GeoShapeSubtraction& blm4 = blm3.subtract(((*blmWallHole) << offset4));
138 const GeoShapeSubtraction& blm5 = blm4.subtract(((*blmWallHole1) << offset5));
139 const GeoShapeSubtraction& blm6 = blm5.subtract(((*blmWallHole2) << offset6));
140 const GeoShapeSubtraction& blm7 = blm6.subtract(((*blmWallHole) << offset9));
141 const GeoShapeSubtraction& blm8 = blm7.subtract(((*blmWallHole) << offset10));
142 const GeoShapeSubtraction& blmFinal = blm8.subtract(((*blmWallHole) << offset1));
144 const GeoLogVol* blmWallLog =
new GeoLogVol(
"blmWallLog", &blmFinal, material);
145 GeoPhysVol* blmWallPhys =
new GeoPhysVol(blmWallLog);
152 const GeoShape* blmWallHole =
new GeoTube(0,
s_hole_r, thick);
153 GeoTrf::RotateX3D rm(90.*Gaudi::Units::deg);
160 GeoTrf::Transform3D offset1 = pos1*rm;
161 GeoTrf::Transform3D offset2 = pos2*rm;
162 GeoTrf::Transform3D offset3 = pos3*rm;
163 GeoTrf::Transform3D offset4 = pos4*rm;
164 GeoTrf::Transform3D offset5 = pos5*rm;
165 GeoTrf::Transform3D offset6 = pos6*rm;
166 const GeoShapeSubtraction& blm1 = blmWallBox->subtract(((*blmWallHole) << offset1));
167 const GeoShapeSubtraction& blm2 = blm1.subtract(((*blmWallHole) << offset2));
168 const GeoShapeSubtraction& blm3 = blm2.subtract(((*blmWallHole) << offset3));
169 const GeoShapeSubtraction& blm4 = blm3.subtract(((*blmWallHole) << offset4));
170 const GeoShapeSubtraction& blm5 = blm4.subtract(((*blmWallHole) << offset5));
171 const GeoShapeSubtraction& blmFinal = blm5.subtract(((*blmWallHole) << offset6));
173 const GeoLogVol* blmWallLog =
new GeoLogVol(
"blmWallLog", &blmFinal, material);
174 GeoPhysVol* blmWallPhys =
new GeoPhysVol(blmWallLog);
182 const GeoShape* blmWallBox =
new GeoBox(
s_width/2, thick/2,
s_length/2);
183 const GeoShape* blmWallHole =
new GeoTube(0,
s_hole_r, thick);
184 const GeoShape* blmWallHole1 =
new GeoBox(
s_width/2-3.5, thick, 5.9);
185 const GeoShape* blmWallHole2 =
new GeoBox(
s_width/2-6.1, thick, 4);
187 const GeoShape* blmWallHole3 =
new GeoBox(3.9, thick, 3.9);
188 GeoTrf::RotateX3D rm(90.*Gaudi::Units::deg);
189 GeoTrf::RotateY3D rm1(45.*Gaudi::Units::deg);
194 GeoTrf::Translate3D offset5(0, 0, 1.5);
195 GeoTrf::Translate3D offset6(0, 0, -7.175);
198 GeoTrf::Translation3D pos8(0, 0, 6.6-
s_length/2);
199 GeoTrf::Transform3D offset1 = pos1*rm;
200 GeoTrf::Transform3D offset2 = pos2*rm;
201 GeoTrf::Transform3D offset3 = pos3*rm;
202 GeoTrf::Transform3D offset4 = pos4*rm;
204 GeoTrf::Transform3D offset8 = pos8*rm1;
206 const GeoShapeSubtraction& blm1 = blmWallBox->subtract(((*blmWallHole3) << offset8));
207 const GeoShapeSubtraction& blm2 = blm1.subtract(((*blmWallHole) << offset2));
208 const GeoShapeSubtraction& blm3 = blm2.subtract(((*blmWallHole) << offset3));
209 const GeoShapeSubtraction& blm4 = blm3.subtract(((*blmWallHole) << offset4));
210 const GeoShapeSubtraction& blm5 = blm4.subtract(((*blmWallHole1) << offset5));
211 const GeoShapeSubtraction& blm6 = blm5.subtract(((*blmWallHole2) << offset6));
213 const GeoShapeSubtraction& blmFinal = blm6.subtract(((*blmWallHole) << offset1));
215 const GeoLogVol* blmWallLog =
new GeoLogVol(
"blmWallLog", &blmFinal, material);
216 GeoPhysVol* blmWallPhys =
new GeoPhysVol(blmWallLog);
223 const GeoShape* blmWallBox =
new GeoBox(
s_width/2, thick/2,
s_length/2);
224 const GeoShape* blmWallHole =
new GeoTube(0,
s_hole_r, thick);
225 const GeoShape* blmWallHole1 =
new GeoBox(
s_width/2-3.5, thick, 5.425);
226 GeoTrf::RotateX3D rm(90.*Gaudi::Units::deg);
231 GeoTrf::Translate3D offset5(0, 0, 2.075);
232 GeoTrf::Transform3D offset1 = pos1*rm;
233 GeoTrf::Transform3D offset2 = pos2*rm;
234 GeoTrf::Transform3D offset3 = pos3*rm;
235 GeoTrf::Transform3D offset4 = pos4*rm;
236 const GeoShapeSubtraction& blm1 = blmWallBox->subtract(((*blmWallHole) << offset1));
237 const GeoShapeSubtraction& blm2 = blm1.subtract(((*blmWallHole) << offset2));
238 const GeoShapeSubtraction& blm3 = blm2.subtract(((*blmWallHole) << offset3));
239 const GeoShapeSubtraction& blm4 = blm3.subtract(((*blmWallHole) << offset4));
240 const GeoShapeSubtraction& blmFinal = blm4.subtract(((*blmWallHole1) << offset5));
242 const GeoLogVol* blmWallLog =
new GeoLogVol(
"blmWallLog", &blmFinal, material);
243 GeoPhysVol* blmWallPhys =
new GeoPhysVol(blmWallLog);
250 const GeoShape* blmWallBox =
new GeoBox(
s_width/2, thick/2,
s_length/2);
251 const GeoShape* blmWallHole =
new GeoTube(0,
s_hole_r, thick);
252 const GeoShape* blmWallHole1 =
new GeoBox(
s_width/2-3.5, thick, 5.425);
253 const GeoShape* blmWallHole2 =
new GeoBox(
s_width/2-8.1, thick, 4);
254 GeoTrf::RotateX3D rm(90.*Gaudi::Units::deg);
259 GeoTrf::Translate3D offset5(0, 0, 2.075);
260 GeoTrf::Translate3D offset6(0, 0, -7.175);
261 GeoTrf::Transform3D offset1 = pos1*rm;
262 GeoTrf::Transform3D offset2 = pos2*rm;
263 GeoTrf::Transform3D offset3 = pos3*rm;
264 GeoTrf::Transform3D offset4 = pos4*rm;
265 const GeoShapeSubtraction& blm1 = blmWallBox->subtract(((*blmWallHole) << offset1));
266 const GeoShapeSubtraction& blm2 = blm1.subtract(((*blmWallHole) << offset2));
267 const GeoShapeSubtraction& blm3 = blm2.subtract(((*blmWallHole) << offset3));
268 const GeoShapeSubtraction& blm4 = blm3.subtract(((*blmWallHole) << offset4));
269 const GeoShapeSubtraction& blm5 = blm4.subtract(((*blmWallHole1) << offset5));
270 const GeoShapeSubtraction& blmFinal = blm5.subtract(((*blmWallHole2) << offset6));
272 const GeoLogVol* blmWallLog =
new GeoLogVol(
"blmWallLog", &blmFinal, material);
273 GeoPhysVol* blmWallPhys =
new GeoPhysVol(blmWallLog);
280 const GeoShape* blmWallBox =
new GeoBox(
s_width/2, thick/2,
s_length/2);
281 const GeoShape* blmWallHole =
new GeoTube(0,
s_hole_r, thick);
282 GeoTrf::RotateX3D rm(90.*Gaudi::Units::deg);
287 GeoTrf::Transform3D offset1 = pos1*rm;
288 GeoTrf::Transform3D offset2 = pos2*rm;
289 GeoTrf::Transform3D offset3 = pos3*rm;
290 GeoTrf::Transform3D offset4 = pos4*rm;
291 const GeoShapeSubtraction& blm1 = blmWallBox->subtract(((*blmWallHole) << offset1));
292 const GeoShapeSubtraction& blm2 = blm1.subtract(((*blmWallHole) << offset2));
293 const GeoShapeSubtraction& blm3 = blm2.subtract(((*blmWallHole) << offset3));
294 const GeoShapeSubtraction& blmFinal = blm3.subtract(((*blmWallHole) << offset4));
296 const GeoLogVol* blmWallLog =
new GeoLogVol(
"blmWallLog", &blmFinal, material);
297 GeoPhysVol* blmWallPhys =
new GeoPhysVol(blmWallLog);