]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STRUCT/AliSHIL.cxx
Do not save CVS subdirectories
[u/mrichter/AliRoot.git] / STRUCT / AliSHIL.cxx
CommitLineData
fe4da5cc 1///////////////////////////////////////////////////////////////////////////////
2// //
3// Muon Shield Class //
4// This class contains a description of the muon shield //
5// //
6//Begin_Html
7/*
8<img src="gif/AliSHILClass.gif">
9*/
10//End_Html
11// //
12// //
13///////////////////////////////////////////////////////////////////////////////
14
15#include "AliSHIL.h"
fe4da5cc 16#include "AliRun.h"
fe4da5cc 17#include "AliConst.h"
18
19ClassImp(AliSHIL)
20
21//_____________________________________________________________________________
22AliSHIL::AliSHIL()
23{
24 //
25 // Default constructor for muon shield
26 //
27}
28
29//_____________________________________________________________________________
30AliSHIL::AliSHIL(const char *name, const char *title)
b8032157 31 : AliModule(name,title)
fe4da5cc 32{
33 //
34 // Standard constructor for muon shield
35 //
36 SetMarkerColor(7);
37 SetMarkerStyle(2);
38 SetMarkerSize(0.4);
39}
40
fe4da5cc 41//_____________________________________________________________________________
42void AliSHIL::CreateGeometry()
43{
44 //
45 // Build muon shield geometry
46 //
47 // Origin N.Van Eijndhoven
48 //
49 //Begin_Html
50 /*
51 <img src="gif/AliSHIL.gif">
52 */
53 //End_Html
54 //Begin_Html
55 /*
56 <img src="gif/AliSHILTree.gif">
57 */
58 //End_Html
59
60 Float_t r_pb, cpar[5], parm[12], tpar[3], zmag_out,
61 abs_c, abs_l, r_abs, pcpar[12];
62 Float_t dr, dz,
63 zs, theta_open;
64 Float_t cz1, cz2;
65 Float_t dzcoch1, dzcoch2, acc_min, dzs, zcone_e, zmag_in,
66 z_close, z_l3, shl1, shl4;
67
68 AliMC* pMC = AliMC::GetMC();
69
70 Int_t *idtmed = gAlice->Idtmed();
71
72 //abs_d = 90.; // DEFINES DRIFT LENGTH
73 //z_nose = 102.;
74 //z_cone = 285.;
75 //theta1 = 24.; // 1. angle defining the front absorber
76 //theta2 = 5.; // 2. angle defining the front absorbe
77 //acc_max = 9.; // ANGLE POLAIRE MAXIMUM
78 acc_min = 2.; // ANGLE POLAIRE MINIMUM DE DETECTION
79 abs_l = 503.;
80 //d_steel = 1.; // THICKNESS OF STEEL SUPPORT
81 //d_poly = 7.5;
82 //d_pb = 2.5;
83 //abs_cc = 315.; // DEFINES LENGTH OF CARBON
84 abs_c = 358.;
85 //abs_s = 150.; // DEFINES W-SHIELD LENGTH
86 //abs_n = 80.; // START OF NOSE
87 r_abs = 4.;
88 r_pb = .1;
89 //epsilon = .01;
90 //theta_r = 3.;
91 //d_rear = 35.;
92 theta_open = .75;
93
94 z_l3 = 700.;
95 zmag_in = 725.;
96 zmag_out = 1225.;
97 //zfil_in = 1471.;
98 //zfil_out = 1591.;
99 //zcon_in = 1900.;
100 //zcon_out = 2e3;
101 zcone_e = 859.0875;
102 //spec_l = 1800.;
103 //zplug_in = 1780.;
104 //zplug_out = 1900.;
105
106 // Chamber position
107 // CZ1=515.5
108 cz1 = 511.;
109 cz2 = 686.;
110 //cz3 = 971.;
111 //cz4 = 1245.;
112 //cz5 = 1445.;
113 //cz6 = 1610.;
114 //cz7 = 1710.;
115
116
117 // the mother of all shields
118
119 parm[0] = 0.;
120 parm[1] = 360.;
121 parm[2] = 3.;
122 parm[3] = abs_l;
123 parm[4] = 0.;
124 parm[5] = abs_l * TMath::Tan(acc_min * kDegrad);
125 parm[6] = zcone_e;
126 parm[7] = 0.;
127 parm[8] = 30.;
128 parm[9] = 1900.;
129 parm[10] = 0.;
130 parm[11] = 30.;
131 pMC->Gsvolu("YMOT", "PCON", idtmed[1715], parm, 12);
132
133 // beam shield ouside absorber inside l3
134
135 shl1 = (z_l3 - abs_l) / 2.;
136 cpar[0] = shl1;
137 cpar[1] = 0.;
138 cpar[2] = abs_l * TMath::Tan(acc_min * kDegrad);
139 cpar[3] = 0.;
140 cpar[4] = z_l3 * TMath::Tan(acc_min * kDegrad);
141 pMC->Gsvolu("YMS1", "CONE", idtmed[1759], cpar, 5);
142
143 // OUTSIDE STEEL TUBE
144 // Pb/W
145 cpar[1] = cpar[2] - 4.;
146 cpar[3] = cpar[4] - 4.;
147 pMC->Gsvolu("YSH1", "CONE", idtmed[1718], cpar, 5);
148 pMC->Gspos("YSH1", 1, "YMS1", 0., 0., 0., 0, "ONLY");
149
150 // COCHES FOR CHAMBERS
151 dzcoch1 = cz1 + 4. - (abs_l + shl1);
152 dzcoch2 = cz2 + 4. - (abs_l + shl1);
153
154 // AIR
155 cpar[0] = 7.5;
156 dr = cpar[0] * 2. * TMath::Tan(acc_min * kDegrad);
157 cpar[2] = (cz1 + 4. - cpar[0]) * TMath::Tan(acc_min * kDegrad);
158 cpar[1] = cpar[2] - 3.;
159 cpar[3] = cpar[1] + dr;
160 cpar[4] = cpar[2] + dr;
161 pMC->Gsvolu("YAC1", "CONE", idtmed[1714], cpar, 5);
162 pMC->Gspos("YAC1", 1, "YMS1", 0., 0., dzcoch1, 0, "ONLY");
163 cpar[2] = (cz2 + 4. - cpar[0]) * TMath::Tan(acc_min * kDegrad);
164 cpar[1] = cpar[2] - 3.;
165 cpar[3] = cpar[1] + dr;
166 cpar[4] = cpar[2] + dr;
167 pMC->Gsvolu("YAC2", "CONE", idtmed[1714], cpar, 5);
168 pMC->Gspos("YAC2", 1, "YMS1", 0., 0., dzcoch2, 0, "ONLY");
169
170 // STEEL
171 cpar[0] = (cz1 + 4. + 20. - abs_l) / 2.;
172 dr = cpar[0] * 2. * TMath::Tan(acc_min * kDegrad);
173 // CPAR(3)=ABS_L*TAN(kDegrad*ACC_MIN)-3.
174 cpar[2] = abs_l * TMath::Tan(acc_min * kDegrad) - 4.;
175 cpar[1] = cpar[2] - 3.;
176 cpar[3] = cpar[1] + dr;
177 cpar[4] = cpar[2] + dr;
178 dzcoch1 = abs_l + cpar[0] - (abs_l + shl1);
179 pMC->Gsvolu("YSC1", "CONE", idtmed[1718], cpar, 5);
180 pMC->Gspos("YSC1", 1, "YMS1", 0., 0., dzcoch1, 0, "ONLY");
181
182 cpar[0] = 16.;
183 dr = cpar[0] * 2. * TMath::Tan(acc_min * kDegrad);
184 // CPAR(3)=(CZ2+4.-CPAR(1))*TAN(kDegrad*ACC_MIN)-3.
185 cpar[2] = (cz2 + 4. - cpar[0]) * TMath::Tan(acc_min * kDegrad) - 4.;
186 cpar[1] = cpar[2] - 3.;
187 cpar[3] = cpar[1] + dr;
188 cpar[4] = cpar[2] + dr;
189 pMC->Gsvolu("YSC2", "CONE", idtmed[1718], cpar, 5);
190 pMC->Gspos("YSC2", 1, "YMS1", -4., 0., dzcoch2, 0, "ONLY");
191
192 // ... beam pipe
193 cpar[0] = shl1;
194 cpar[1] = 0.;
195 cpar[2] = r_abs + (abs_l - abs_c) * TMath::Tan(theta_open * kDegrad);
196 cpar[3] = 0.;
197 cpar[4] = cpar[2] + shl1 * 2. * TMath::Tan(theta_open * kDegrad);
198 pMC->Gsvolu("YMB1", "CONE", idtmed[1755], cpar, 5);
199
200 cpar[0] = shl1;
201 cpar[2] += -.8;
202 cpar[1] = cpar[2] - .2;
203 cpar[4] += -.8;
204 cpar[3] = cpar[4] - .2;
205 pMC->Gsvolu("YBS1", "CONE", idtmed[1749], cpar, 5);
206 pMC->Gspos("YBS1", 1, "YMB1", 0., 0., 0., 0, "ONLY");
207
208
209 pMC->Gspos("YMB1", 1, "YMS1", 0., 0., 0., 0, "ONLY");
210 dz = shl1 + abs_l;
211 pMC->Gspos("YMS1", 1, "YMOT", 0., 0., dz, 0, "ONLY");
212
213 // BEAM SHIELD OUTSIDE L3
214
215 // L3->DIPOLE
216 cpar[0] = (zmag_in - z_l3) / 2.;
217 cpar[1] = 0.;
218 cpar[2] = z_l3 * TMath::Tan(acc_min * kDegrad);
219 cpar[3] = 0.;
220 cpar[4] = zmag_in * TMath::Tan(acc_min * kDegrad);
221 pMC->Gsvolu("YMS2", "CONE", idtmed[1759], cpar, 5);
222
223 // OUTSIDE STEEL TUBE
224
225 // Pb/W
226 cpar[1] = cpar[2] - 4.;
227 cpar[3] = cpar[4] - 4.;
228 pMC->Gsvolu("YSH2", "CONE", idtmed[1718], cpar, 5);
229 pMC->Gspos("YSH2", 1, "YMS2", 0., 0., 0., 0, "ONLY");
230
231 // ... beam pipe
232
233 zs = z_l3 - abs_c;
234 cpar[1] = 0.;
235 cpar[2] = r_abs + zs * TMath::Tan(theta_open * kDegrad);
236 cpar[3] = 0.;
237 cpar[4] = cpar[2] + cpar[0] * 2. * TMath::Tan(theta_open * kDegrad);
238 pMC->Gsvolu("YMB2", "CONE", idtmed[1755], cpar, 5);
239
240 cpar[2] += -.8;
241 cpar[1] = cpar[2] - .2;
242 cpar[4] += -.8;
243 cpar[3] = cpar[4] - .2;
244 pMC->Gsvolu("YBS2", "CONE", idtmed[1749], cpar, 5);
245 pMC->Gspos("YBS2", 1, "YMB2", 0., 0., 0., 0, "ONLY");
246
247
248 pMC->Gspos("YMB2", 1, "YMS2", 0., 0., 0., 0, "ONLY");
249 dz = cpar[0] + z_l3;
250 pMC->Gspos("YMS2", 1, "YMOT", 0., 0., dz, 0, "ONLY");
251 pcpar[0] = 0.;
252 pcpar[1] = 360.;
253 pcpar[2] = 3.;
254 pcpar[3] = 0.;
255 pcpar[4] = 0.;
256 pcpar[5] = zmag_in * TMath::Tan(acc_min * kDegrad);
257 pcpar[6] = zcone_e - zmag_in;
258 pcpar[7] = 0.;
259 pcpar[8] = 30.;
260 pcpar[9] = zmag_out - zmag_in;
261 pcpar[10] = 0.;
262 pcpar[11] = 30.;
263 pMC->Gsvolu("YMS3", "PCON", idtmed[1759], pcpar, 12);
264
265 // OUTSIDE STEEL TUBE
266
267 // Pb/W
268 pcpar[4] = pcpar[5] - 4.;
269 pcpar[7] = pcpar[8] - 4.;
270 pcpar[10] = pcpar[11] - 4.;
271 pMC->Gsvolu("YSH3", "PCON", idtmed[1718], pcpar, 12);
272 pMC->Gspos("YSH3", 1, "YMS3", 0., 0., 0., 0, "MANY");
273
274 // ... beam pipe up to closing cone
275
276 zs = zmag_in - abs_c;
277 z_close = 804.;
278
279 cpar[0] = (z_close - zmag_in) / 2.;
280 cpar[1] = 0.;
281 cpar[2] = r_abs + zs * TMath::Tan(theta_open * kDegrad);
282 cpar[3] = 0.;
283 cpar[4] = cpar[2] + cpar[0] * 2. * TMath::Tan(theta_open * kDegrad);
284 pMC->Gsvolu("YMB3", "CONE", idtmed[1755], cpar, 5);
285
286 cpar[2] += -.8;
287 cpar[1] = cpar[2] - .2;
288 cpar[4] += -.8;
289 cpar[3] = cpar[4] - .2;
290 pMC->Gsvolu("YBS3", "CONE", idtmed[1749], cpar, 5);
291 pMC->Gspos("YBS3", 1, "YMB3", 0., 0., 0., 0, "ONLY");
292 pMC->Gspos("YMB3", 1, "YMS3", 0., 0., cpar[0], 0, "ONLY");
293
294 // .closing cone
295
296 dzs = cpar[0] * 2.;
297 zs = z_close - abs_c;
298
299 cpar[0] = 25.;
300 cpar[1] = 0.;
301 cpar[2] = r_abs + zs * TMath::Tan(theta_open * kDegrad);
302 cpar[3] = 0.;
303 cpar[4] = r_abs;
304 pMC->Gsvolu("YMB5", "CONE", idtmed[1755], cpar, 5);
305
306 cpar[2] += -.8;
307 cpar[1] = cpar[2] - .2;
308 cpar[4] += -.8;
309 cpar[3] = cpar[4] - .2;
310 pMC->Gsvolu("YBS5", "CONE", idtmed[1749], cpar, 5);
311 pMC->Gspos("YBS5", 1, "YMB5", 0., 0., 0., 0, "ONLY");
312
313 dzs += cpar[0];
314 pMC->Gspos("YMB5", 1, "YMS3", 0., 0., dzs, 0, "ONLY");
315 dzs += cpar[0];
316
317 // OUTSIDE PB-TUBE
318
319 tpar[0] = 30. - r_pb - 4.;
320 tpar[1] = 30. - r_pb;
321 tpar[2] = (zmag_out - z_close - 50.) / 2.;
322 dzs += tpar[2];
323 pMC->Gsvolu("YNW1", "TUBE", idtmed[1752], tpar, 3);
324 pMC->Gspos("YNW1", 1, "YMS3", 0., 0., dzs, 0, "MANY");
325
326 // constant beam pipe up to end of magnet
327
328 tpar[0] = 0.;
329 tpar[1] = r_abs;
330 tpar[2] = (zmag_out - z_close - 50.) / 2.;
331 pMC->Gsvolu("YMB6", "TUBE", idtmed[1755], tpar, 3);
332
333 tpar[1] = r_abs - .8;
334 tpar[0] = tpar[1] - .2;
335 pMC->Gsvolu("YBS6", "TUBE", idtmed[1749], tpar, 3);
336 pMC->Gspos("YBS6", 1, "YMB6", 0., 0., 0., 0, "ONLY");
337 pMC->Gspos("YMB6", 1, "YMS3", 0., 0., dzs, 0, "ONLY");
338
339 dz = zmag_in;
340 pMC->Gspos("YMS3", 1, "YMOT", 0., 0., dz, 0, "ONLY");
341
342 // DIPOLE->
343
344 tpar[0] = 0.;
345 tpar[1] = 30.;
346 tpar[2] = (1900. - zmag_out) / 2.;
347 shl4 = tpar[2];
348 pMC->Gsvolu("YMS4", "TUBE", idtmed[1759], tpar, 3);
349 // CALL GSVOLU('YMS4','TUBE',IDTMED(1752),TPAR,3,IL3) ! W
350
351 // OUTSIDE STEEL TUBE
352
353 // Pb/W
354 tpar[0] = tpar[1] - 4.;
355 pMC->Gsvolu("YSH4", "TUBE", idtmed[1718], tpar, 3);
356 pMC->Gspos("YSH4", 1, "YMS4", 0., 0., 0., 0, "MANY");
357
358 // OUTSIDE PB-TUBE
359
360 tpar[0] = 30. - r_pb - 4.;
361 tpar[1] = 30. - r_pb;
362 pMC->Gsvolu("YNW2", "TUBE", idtmed[1752], tpar, 3);
363 pMC->Gspos("YNW2", 1, "YMS4", 0., 0., 0., 0, "MANY");
364
365 // ... beam pipe
366
367 tpar[0] = 0.;
368 tpar[1] = r_abs;
369 tpar[2] = shl4;
370 pMC->Gsvolu("YMB4", "TUBE", idtmed[1755], tpar, 3);
371
372 tpar[2] = shl4;
373 tpar[1] = r_abs - .8;
374 tpar[0] = tpar[1] - .2;
375 pMC->Gsvolu("YBS4", "TUBE", idtmed[1749], tpar, 3);
376 pMC->Gspos("YBS4", 1, "YMB4", 0., 0., 0., 0, "ONLY");
377
378
379 dz = zmag_out + shl4;
380 pMC->Gspos("YMB4", 1, "YMS4", 0., 0., 0., 0, "ONLY");
381 pMC->Gspos("YMS4", 1, "YMOT", 0., 0., dz, 0, "ONLY");
382 pMC->Gspos("YMOT", 1, "ALIC", 0., 0., 0., 0, "ONLY");
383}
384
385//_____________________________________________________________________________
386void AliSHIL::CreateMaterials()
387{
388 //
389 // Defines materials for the muon shield
390 //
391 // Origin N. Van Eijndhoven
392 //
393
394 Int_t ISXFLD = gAlice->Field()->Integ();
395 Float_t SXMGMX = gAlice->Field()->Max();
396
397 Float_t asteel[4] = { 55.847,51.9961,58.6934,28.0855 };
398 Float_t zsteel[4] = { 26.,24.,28.,14. };
399 Float_t wsteel[4] = { .715,.18,.1,.005 };
400 Float_t apbw[2] = { 207.2,183.85 };
401 Float_t zpbw[2] = { 82.,74. };
402 Float_t wpbw[2] = { .5,.5 };
403
404 Float_t epsil, stmin, tmaxfd, deemax, stemax;
405
406 // STEEL
407
408
409 // LEAD/TUNGSTEN MIXTURE
410
411
412 // --- Define the various materials for GEANT ---
413 // Aluminum
414 AliMaterial(9, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2);
415 AliMaterial(29, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2);
416 AliMaterial(49, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2);
417
418 // Iron
419 AliMaterial(10, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1);
420 AliMaterial(30, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1);
421 AliMaterial(50, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1);
422
423 // Tungsten
424 AliMaterial(12, "TUNGSTEN$ ", 183.85, 74., 19.3, .35, 10.3);
425 AliMaterial(32, "TUNGSTEN$ ", 183.85, 74., 19.3, .35, 10.3);
426 AliMaterial(52, "TUNGSTEN$ ", 183.85, 74., 19.3, .35, 10.3);
427
428 // Lead
429 AliMaterial(13, "LEAD$ ", 207.19, 82., 11.35, .56, 18.5);
430 AliMaterial(33, "LEAD$ ", 207.19, 82., 11.35, .56, 18.5);
431 AliMaterial(53, "LEAD$ ", 207.19, 82., 11.35, .56, 18.5);
432
433 // Air
434 AliMaterial(15, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500);
435 AliMaterial(35, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500);
436 AliMaterial(55, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500);
437
438 // Vacuum
439 AliMaterial(16, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
440 AliMaterial(36, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
441 AliMaterial(56, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
442
443 // stainless Steel
444 AliMixture(19, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
445 AliMixture(39, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
446 AliMixture(59, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
447
448 // Lead/Tungsten
449 AliMixture(20, "LEAD/TUNGSTEN$", apbw, zpbw, 15.325, 2, wpbw);
450 AliMixture(40, "LEAD/TUNGSTEN$", apbw, zpbw, 15.325, 2, wpbw);
451 AliMixture(60, "LEAD/TUNGSTEN$", apbw, zpbw, 15.325, 2, wpbw);
452
453 // ****************
454 // Defines tracking media parameters.
455 // Les valeurs sont commentees pour laisser le defaut
456 // a GEANT (version 3-21, page CONS200), f.m.
457 epsil = .001; // Tracking precision,
458 stemax = -1.; // Maximum displacement for multiple scat
459 tmaxfd = -20.; // Maximum angle due to field deflection
460 deemax = -.3; // Maximum fractional energy loss, DLS
461 stmin = -.8;
462 // ***************
463
464 // Aluminum
465 AliMedium(1709, "ALU_C0 ", 9, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
466 AliMedium(1729, "ALU_C1 ", 29, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
467 AliMedium(1749, "ALU_C2 ", 49, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
468
469 // Iron
470 AliMedium(1710, "FE_C0 ", 10, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
471 AliMedium(1730, "FE_C1 ", 30, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
472 AliMedium(1750, "FE_C2 ", 50, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
473
474 // Tungsten
475 AliMedium(1712, "W_C0 ", 12, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
476 AliMedium(1732, "W_C1 ", 32, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
477 AliMedium(1752, "W_C2 ", 52, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
478
479 // Lead
480 AliMedium(1713, "PB_C0 ", 13, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
481 AliMedium(1733, "PB_C1 ", 33, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
482 AliMedium(1753, "PB_C2 ", 53, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
483
484 // Air
485 AliMedium(1715, "AIR_C0 ", 15, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
486 AliMedium(1735, "AIR_C1 ", 35, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
487 AliMedium(1755, "AIR_C2 ", 55, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
488
489 // Vacuum
490 AliMedium(1716, "VA_C0 ", 16, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
491 AliMedium(1736, "VA_C1 ", 36, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
492 AliMedium(1756, "VA_C2 ", 56, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
493
494 // Steel
495 AliMedium(1719, "ST_C0 ", 19, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
496 AliMedium(1739, "ST_C1 ", 39, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
497 AliMedium(1759, "ST_C3 ", 59, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
498
499 // Lead/Tungsten
500 AliMedium(1720, "PB/W0 ", 20, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
501 AliMedium(1740, "PB/W1 ", 40, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
502 AliMedium(1760, "PB/W3 ", 60, 0, ISXFLD, SXMGMX, tmaxfd, stemax, deemax, epsil, stmin);
503}
504
505//_____________________________________________________________________________
b8032157 506void AliSHIL::DrawModule ()
fe4da5cc 507{
508 //
509 // Draw a shaded view of the muon shield
510 //
511
512 AliMC* pMC = AliMC::GetMC();
513
514 // Set everything unseen
515 pMC->Gsatt("*", "seen", -1);
516 //
517 // Set ALIC mother transparent
518 pMC->Gsatt("ALIC","SEEN",0);
519 //
520 // Set the volumes visible
521 pMC->Gsatt("YMOT","seen",1);
522 pMC->Gsatt("YMS1","seen",1);
523 pMC->Gsatt("YSH1","seen",1);
524 pMC->Gsatt("YAC1","seen",1);
525 pMC->Gsatt("YAC2","seen",1);
526 pMC->Gsatt("YSC1","seen",1);
527 pMC->Gsatt("YSC2","seen",1);
528 pMC->Gsatt("YMB1","seen",1);
529 pMC->Gsatt("YBS1","seen",1);
530 pMC->Gsatt("YMS2","seen",1);
531 pMC->Gsatt("YSH2","seen",1);
532 pMC->Gsatt("YMB2","seen",1);
533 pMC->Gsatt("YBS2","seen",1);
534 pMC->Gsatt("YMS3","seen",1);
535 pMC->Gsatt("YSH3","seen",1);
536 pMC->Gsatt("YMB3","seen",1);
537 pMC->Gsatt("YBS3","seen",1);
538 pMC->Gsatt("YMB5","seen",1);
539 pMC->Gsatt("YBS5","seen",1);
540 pMC->Gsatt("YNW1","seen",1);
541 pMC->Gsatt("YMB6","seen",1);
542 pMC->Gsatt("YBS6","seen",1);
543 pMC->Gsatt("YMS4","seen",1);
544 pMC->Gsatt("YSH4","seen",1);
545 pMC->Gsatt("YNW2","seen",1);
546 pMC->Gsatt("YMB4","seen",1);
547 pMC->Gsatt("YBS4","seen",1);
548 //
549 pMC->Gdopt("hide", "on");
550 pMC->Gdopt("shad", "on");
551 pMC->Gsatt("*", "fill", 7);
552 pMC->SetClipBox(".");
553 pMC->SetClipBox("*", 0, 3000, -3000, 3000, -6000, 6000);
554 pMC->DefaultRange();
555 pMC->Gdraw("alic", 30, 30, 0, 26.5, 18, .03, .03);
556 pMC->Gdhead(1111, "Muon Shield");
557 pMC->Gdman(16, 6, "MAN");
558}
559
560//_____________________________________________________________________________
561void AliSHIL::Init()
562{
563 //
564 // Initialise the muon shield after it has been built
565 //
566 Int_t i;
567 //
568 printf("\n");
569 for(i=0;i<35;i++) printf("*");
570 printf(" SHIL_INIT ");
571 for(i=0;i<35;i++) printf("*");
572 printf("\n");
573 //
574 // Here the ABSO initialisation code (if any!)
575 for(i=0;i<80;i++) printf("*");
576 printf("\n");
577}
578
579