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