Put back the two bellows in front of the absorber.
[u/mrichter/AliRoot.git] / STRUCT / AliDIPOv2.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$
e094dc1b 18Revision 1.11 2000/06/11 12:33:46 morsch
19Coding rule violations corrected
20
b43eb0dc 21Revision 1.10 2000/06/09 19:32:56 morsch
22New detailed and corrected version from Galina Chabratova
23
1b206195 24Revision 1.9 2000/04/27 09:29:53 fca
25Reverting to version 1.6.2
26
d811c12b 27Revision 1.6.2.1 1999/12/03 16:38:51 fca
28Correct overlap in magnet
9e8c9316 29
e821f75f 30Revision 1.6 1999/09/29 09:24:30 fca
31Introduction of the Copyright and cvs Log
32
4c039060 33*/
34
fe4da5cc 35///////////////////////////////////////////////////////////////////////////////
36// //
37// Magnetic Dipole version 1 //
38// //
39//Begin_Html
40/*
d811c12b 41<img src="picts/AliDIPOv2Class.gif">
fe4da5cc 42</pre>
43<br clear=left>
44<font size=+2 color=red>
45<p>The responsible person for this module is
46<a href="mailto:andreas.morsch@cern.ch">Andreas Morsch</a>.
47</font>
48<pre>
49*/
50//End_Html
51// //
52// //
fe4da5cc 53
54#include "AliDIPOv2.h"
55#include "AliRun.h"
fe4da5cc 56#include "AliConst.h"
57
58ClassImp(AliDIPOv2)
59
60//_____________________________________________________________________________
1b206195 61AliDIPOv2::AliDIPOv2()
fe4da5cc 62{
63 //
1b206195 64 // Last design of magnetic dipole version 2
fe4da5cc 65 //
66}
67
68//_____________________________________________________________________________
69AliDIPOv2::AliDIPOv2(const char *name, const char *title)
70 : AliDIPO(name,title)
71{
72 //
73 // Standard constructor for the magnetic dipole version 2
74 SetMarkerColor(7);
75 SetMarkerStyle(2);
76 SetMarkerSize(0.4);
77}
78
79//_____________________________________________________________________________
80void AliDIPOv2::CreateGeometry()
81{
82 //
83 // Creation of the geometry of the magnetic DIPOLE version 2
84 //
1b206195 85
86 // AliMC* gMC = AliMC::GetMC();
87
e094dc1b 88 Float_t cpar[5], tpar[15], ypar[12];
fe4da5cc 89 Float_t dz, dx, dy;
90 Int_t idrotm[1899];
b43eb0dc 91 Float_t accMax, the1, phi1, the2, phi2, the3, phi3;
d811c12b 92
1b206195 93 Int_t *idtmed = fIdtmed->GetArray()-1799;
94
b43eb0dc 95 accMax = 9.; // ANGLE POLAIRE MAXIMUM
1b206195 96
fe4da5cc 97 // DIPOLE MAGNET
1b206195 98
e094dc1b 99 tpar[0] = 0.;
100 tpar[1] = 360.;
101 tpar[2] = 4.;
102 //
103 tpar[3] = -250.55;
104 tpar[4] = 144.;
105 tpar[5] = 527.34;
106 //
107 tpar[6] = -160.7;
108 tpar[7] = 144.;
109 tpar[8] = 527.34;
110 //
111 tpar[9] = 150.8;
112 tpar[10] = 193.3;
113 tpar[11] = 527.34;
114 //
115 tpar[12] = 250.55;
116 tpar[13] = 193.3;
117 tpar[14] = 527.34;
118
1b206195 119
e094dc1b 120 gMC->Gsvolu("DDIP", "PCON", idtmed[1814], tpar, 15);
fe4da5cc 121 // COILS
fe4da5cc 122 // air - m.f.
1b206195 123 cpar[0] = 207.;
124 cpar[1] = 274.;
125 cpar[2] = 37.65;
126 cpar[3] = 119.;
127 cpar[4] = 241. ;
128 // coil - high cuts
129 gMC->Gsvolu("DC1 ", "TUBS", idtmed[1853], cpar, 5);
130 cpar[3] = -61.;
131 cpar[4] = 61.;
132 gMC->Gsvolu("DC2 ", "TUBS", idtmed[1853], cpar, 5);
133
134 // coil - low cuts cuts
135 cpar[0] = 207.;
136// cpar[1] = cpar[0] + 10.;
137 cpar[1] = 217;
138 cpar[3] = 119.;
139 cpar[4] = 241.;
140
141 gMC->Gsvolu("DC3 ", "TUBS", idtmed[1813], cpar, 5);
142 cpar[0] = 207.;
143 cpar[1] = 217;
144 cpar[3] = -61.;
145 cpar[4] = 61.;
146 gMC->Gsvolu("DC4 ", "TUBS", idtmed[1813], cpar, 5);
147
cfce8870 148 gMC->Gspos("DC3 ", 1, "DC1 ", 0., 0., 0., 0, "ONLY");
cfce8870 149 gMC->Gspos("DC4 ", 1, "DC2 ", 0., 0., 0., 0, "ONLY");
1b206195 150
151// dz = 37.65 - 243.55
152 dz = -205.9-2.45;
153 dx = 5.;
154 gMC->Gspos("DC1 ", 1, "DDIP", dx, 0., dz, 0, "ONLY");
155 gMC->Gspos("DC1 ", 2, "DDIP", dx, 0., -dz, 0, "ONLY");
156 gMC->Gspos("DC2 ", 1, "DDIP", -dx, 0., dz, 0, "ONLY");
157 gMC->Gspos("DC2 ", 2, "DDIP", -dx, 0., -dz, 0, "ONLY");
fe4da5cc 158 the1 = 180.;
159 phi1 = 0.;
160 the2 = 90.;
1b206195 161 phi2 = 151.;
fe4da5cc 162 the3 = 90.;
1b206195 163 phi3 = 61.;
fe4da5cc 164 AliMatrix(idrotm[1800], the1, phi1, the2, phi2, the3, phi3);
1b206195 165 phi2 = 29.; //90-61
fe4da5cc 166 the3 = -90.;
1b206195 167 phi3 = -61.;
fe4da5cc 168 AliMatrix(idrotm[1801], the1, phi1, the2, phi2, the3, phi3);
169 the1 = 0.;
170 phi1 = 0.;
171 the2 = 90.;
1b206195 172 phi2 = 151.;
fe4da5cc 173 the3 = 90.;
1b206195 174 phi3 = 61.;
fe4da5cc 175 AliMatrix(idrotm[1802], the1, phi1, the2, phi2, the3, phi3);
1b206195 176 phi2 = 29.;
fe4da5cc 177 the3 = -90.;
1b206195 178 phi3 = -61.;
fe4da5cc 179 AliMatrix(idrotm[1803], the1, phi1, the2, phi2, the3, phi3);
1b206195 180
fe4da5cc 181 cpar[0] = 25.;
1b206195 182 cpar[1] = 100.3; //25+75.3
183 cpar[2] = 33.5;
fe4da5cc 184 cpar[3] = 270.;
185 cpar[4] = 360.;
1b206195 186//* coil high cuts
187 gMC->Gsvolu("DC11", "TUBS", idtmed[1853], cpar, 5);
188
189 dx = TMath::Sin(30.5*kDegrad) * -(207.+33.5)+5./TMath::Sin(30.5*kDegrad) ;
190 dy = TMath::Cos(30.5*kDegrad) * -(207.+33.5);
191 dz = cpar[1] - 243.55-2.45;
cfce8870 192 gMC->Gspos("DC11", 1, "DDIP", dx, dy, dz, idrotm[1800], "ONLY");
193 gMC->Gspos("DC11", 2, "DDIP", dx, dy, -dz, idrotm[1802], "ONLY");
194 gMC->Gspos("DC11", 3, "DDIP", -dx, dy, dz, idrotm[1801], "ONLY");
195 gMC->Gspos("DC11", 4, "DDIP", -dx, dy, -dz, idrotm[1803], "ONLY");
1b206195 196
197
198
199//* ... higher cuts
fe4da5cc 200 cpar[0] = 25.;
1b206195 201 cpar[1] = 100.3; //25+75.3
202 cpar[2] = 33.5;
fe4da5cc 203 cpar[3] = 0.;
204 cpar[4] = 90.;
1b206195 205//* coil high cuts
206 gMC->Gsvolu("DC12", "TUBS", idtmed[1853], cpar, 5);
207
208 dx = TMath::Sin(30.5*kDegrad) * -(207.+33.5)+5./TMath::Sin(30.5*kDegrad) ;
209 dy = TMath::Cos(30.5*kDegrad) *(207.+33.5);
210 dz = cpar[1] - 243.55-2.45;
cfce8870 211 gMC->Gspos("DC12", 1, "DDIP", dx, dy, dz, idrotm[1801], "ONLY");
212 gMC->Gspos("DC12", 2, "DDIP", dx, dy, -dz, idrotm[1803], "ONLY");
213 gMC->Gspos("DC12", 3, "DDIP", -dx, dy, dz, idrotm[1800], "ONLY");
214 gMC->Gspos("DC12", 4, "DDIP", -dx, dy, -dz, idrotm[1802], "ONLY");
1b206195 215
fe4da5cc 216 the1 = 90.;
1b206195 217 phi1 = 61.;
fe4da5cc 218 the2 = 90.;
1b206195 219 phi2 = 151.;
fe4da5cc 220 the3 = 0.;
221 phi3 = 0.;
222 AliMatrix(idrotm[1804], the1, phi1, the2, phi2, the3, phi3);
223 the1 = 90.;
1b206195 224 phi1 = -61.;
fe4da5cc 225 the2 = 90.;
1b206195 226 phi2 = -151.;
fe4da5cc 227 AliMatrix(idrotm[1805], the1, phi1, the2, phi2, the3, phi3);
1b206195 228 the1 = 90.;
229 phi1 = 119.; //180 -61
230 the2 = 90.;
231 phi2 = 209.; //270-61
232 AliMatrix(idrotm[1806], the1, phi1, the2, phi2, the3, phi3);
233 the1 = 90.;
234 phi1 = -119.;
235 the2 = 90.;
236 phi2 = -209.;
237 AliMatrix(idrotm[1807], the1, phi1, the2, phi2, the3, phi3);
238
239//* coil - high cuts
240
241 tpar[0] = 37.65;
242 tpar[1] = 33.5;
243 tpar[2] = 145.5;
244 gMC->Gsvolu("DL1 ", "BOX ", idtmed[1853], tpar, 3);
245
246// coil - low cuts
247
248 tpar[0] = 5.;
249 dx = 37.65 - 5.;
250 gMC->Gsvolu("DL2 ", "BOX ", idtmed[1813], tpar, 3);
251 gMC->Gspos("DL2 ", 1, "DL1 ", dx, 0., 0., 0, "ONLY");
252
253 dx =-53.62;
254 dy =-241.26819;
255 dz = 0.0;
cfce8870 256 gMC->Gspos("DL1 ", 1, "DDIP", dx, dy, dz, idrotm[1804], "ONLY");
257 gMC->Gspos("DL1 ", 2, "DDIP", dx, -dy, dz, idrotm[1805], "ONLY");
1b206195 258 gMC->Gspos("DL1 ", 3, "DDIP",-dx, dy, dz, idrotm[1806], "ONLY");
259 gMC->Gspos("DL1 ", 4, "DDIP",-dx, -dy, dz, idrotm[1807], "ONLY");
260
261 // Contactor
262
263 // high cuts
264
265 //Steel outer face planes
266
267 cpar[0] = 207.-18.6;
268 cpar[1] = 274.+18.6;
269 cpar[2] = 1.;
270 cpar[3] = -50.;
271 cpar[4] = 50.;
272
273 gMC->Gsvolu("DCO1", "TUBS", idtmed[1818], cpar, 5);
274 dx = -5.;
275 dz = 168.25-1.5-1.;
276 gMC->Gspos("DCO1", 1, "DDIP", dx, 0, dz, 0, "ONLY");
277 dz = 243.55+4.5+1.5+1.;
278 gMC->Gspos("DCO1", 2, "DDIP", dx, 0, dz, 0, "ONLY");
d811c12b 279
1b206195 280 // 9.06.2000
281
282 // cpar[0] = 207.-18.6;
283 // cpar[1] = 274.+18.6;
284 // cpar[2] = 1.;
285 cpar[3] = 180.-50.;
286 cpar[4] = 180.+50.;
287
288 gMC->Gsvolu("DCO2", "TUBS", idtmed[1818], cpar, 5);
289 dx = +5.;
290 dz = 168.25-1.5-1.;
291 gMC->Gspos("DCO2", 1, "DDIP", dx, 0, dz, 0, "ONLY");
292 dz = 243.55+4.5+1.5+1.;
293 gMC->Gspos("DCO2", 2, "DDIP", dx, 0, dz, 0, "ONLY");
294
295
296
297 // Resin face planes
298
299 cpar[0] = 207.;
300 cpar[1] = 274.;
301 cpar[2] = .75;
302 cpar[3] = -50.;
303 cpar[4] = 50.;
304
305 gMC->Gsvolu("DCO3", "TUBS", idtmed[1812], cpar, 5);
306 dx = -5;
307 dz = 168.25-0.75;
308 gMC->Gspos("DCO3", 1, "DDIP", dx, 0, dz, 0, "ONLY");
309 dz = 243.55+4.5+0.75;
310 gMC->Gspos("DCO3", 2, "DDIP", dx, 0, dz, 0, "ONLY");
311
312 // 9.06.2000
313
314 cpar[3] = 180.-50.;
315 cpar[4] = 180.+50.;
316 gMC->Gsvolu("DCO4", "TUBS", idtmed[1812], cpar, 5);
317 dx = +5;
318 dz = 168.25-0.75;
319 gMC->Gspos("DCO4", 1, "DDIP", dx, 0, dz, 0, "ONLY");
320 dz = 243.55+4.5+0.75;
321 gMC->Gspos("DCO4", 2, "DDIP", dx, 0, dz, 0, "ONLY");
322
323
324 // G10 face plane
325
326 cpar[0] = 207.;
327 cpar[1] = 274.;
328 cpar[2] = 2.25;
329 cpar[3] = -50.;
330 cpar[4] = 50.;
331
332 gMC->Gsvolu("DCO5", "TUBS", idtmed[1810], cpar, 5);
333
334 dx = -5;
335 dz = 243.55+2.25;
336 gMC->Gspos("DCO5", 1, "DDIP", dx, 0, dz, 0, "ONLY");
337
338 // 9.06.2000
339
340 cpar[3] = 180.-50.;
341 cpar[4] = 180.+50.;
342
343 gMC->Gsvolu("DCO6", "TUBS", idtmed[1810], cpar, 5);
344
345 dx = +5;
346 dz = 243.55+2.25;
347 gMC->Gspos("DCO6", 1, "DDIP", dx, 0, dz, 0, "ONLY");
348
349 //Steel supported planes
350
351 cpar[0] = 274.+1.5+2.;
352 cpar[1] = 274.+18.6;
353 cpar[2] = 1.;
354 cpar[3] = -50.;
355 cpar[4] = 50.;
356
357 gMC->Gsvolu("DCO7", "TUBS", idtmed[1818], cpar, 5);
358
359 dx = -5;
360 dz = 168.25+1.;
361 gMC->Gspos("DCO7", 1, "DDIP", dx, 0, dz, 0, "ONLY");
362
363 // 9.06.2000
364 cpar[0] = 274.+1.5+2.;
365 cpar[1] = 274.+18.6;
366 cpar[2] = 1.;
367 cpar[3] = 180.-50.;
368 cpar[4] = 180.+50.;
369
370
371 gMC->Gsvolu("DCO8", "TUBS", idtmed[1818], cpar, 5);
372
373 dx = +5;
374 dz = 168.25+1.;
375 gMC->Gspos("DCO8", 1, "DDIP", dx, 0, dz, 0, "ONLY");
376
377 //
378
379 cpar[0] = 207.- 18.6;
380 cpar[1] = 207.- 2.- 1.5;
381 cpar[2] = 1.;
382 cpar[3] = -50.;
383 cpar[4] = 50.;
384
385 gMC->Gsvolu("DCO9", "TUBS", idtmed[1818], cpar, 5);
386
387 dx = -5;
388 dz = 168.25+1.;
389 gMC->Gspos("DCO9", 1, "DDIP", dx, 0, dz, 0, "ONLY");
390
391 // 9.06.2000
392
393 cpar[0] = 207.- 18.6;
394 cpar[1] = 207.- 2.- 1.5;
395 cpar[2] = 1.;
396 cpar[3] = 180.-50.;
397 cpar[4] = 180.+50.;
398
399 gMC->Gsvolu("DCOA", "TUBS", idtmed[1818], cpar, 5);
400
401 dx = +5;
402 dz = 168.25+1.;
403 gMC->Gspos("DCOA", 1, "DDIP", dx, 0, dz, 0, "ONLY");
404
405
406 // Sides steel planes
407
408 cpar[0] = 207. - 1.5 -2.;
409 cpar[1] = 207. - 1.5 ;
410 cpar[2] = ((243.55+4.5+1.5)-168.25)/2;
411 cpar[3] = -50.;
412 cpar[4] = 50.;
413
414 gMC->Gsvolu("DCOB", "TUBS", idtmed[1818], cpar, 5);
415
416 cpar[0] = 274. + 1.5;
417 cpar[1] = 274. + 1.5 +2.;
418
419 gMC->Gsvolu("DCOC", "TUBS", idtmed[1818], cpar, 5);
420
421 dx=-5.;
422 dz = ((243.55+4.5+1.5)+168.25)/2;
423 gMC->Gspos("DCOB", 1, "DDIP", dx, 0, dz, 0, "ONLY");
424 gMC->Gspos("DCOC", 1, "DDIP", dx, 0, dz, 0, "ONLY");
425
426 // 9.06.2000
427
428 cpar[0] = 207. - 1.5 -2.;
429 cpar[1] = 207. - 1.5 ;
430 cpar[2] = ((243.55+4.5+1.5)-168.25)/2;
431 cpar[3] = 180.-50.;
432 cpar[4] = 180.+50.;
433
434 gMC->Gsvolu("DCOD", "TUBS", idtmed[1818], cpar, 5);
435
436 cpar[0] = 274. + 1.5;
437 cpar[1] = 274. + 1.5 +2.;
438
439 gMC->Gsvolu("DCOE", "TUBS", idtmed[1818], cpar, 5);
440
441 dx=+5.;
442 dz = ((243.55+4.5+1.5)+168.25)/2;
443 gMC->Gspos("DCOD", 1, "DDIP", dx, 0, dz, 0, "ONLY");
444 gMC->Gspos("DCOE", 1, "DDIP", dx, 0, dz, 0, "ONLY");
445
446
447 // Top and bottom resin planes
448
449 cpar[0] = 207. - 1.5 ;
450 cpar[1] = 207. ;
451 cpar[2] = ((243.55+4.5+1.5)-168.25)/2;
452 cpar[3] = -50.;
453 cpar[4] = 50.;
454
455 gMC->Gsvolu("DCOF", "TUBS", idtmed[1812], cpar, 5);
456
457 cpar[0] = 274.;
458 cpar[1] = 274. + 1.5;
459
460 gMC->Gsvolu("DCOG", "TUBS", idtmed[1812], cpar, 5);
461
462
463 dx=-5.;
464 dz = ((243.55+4.5+1.5)+168.25)/2;
465 gMC->Gspos("DCOF", 1, "DDIP", dx, 0, dz, 0, "ONLY");
466 gMC->Gspos("DCOG", 1, "DDIP", dx, 0, dz, 0, "ONLY");
467
468 // 9.06.2000
469 cpar[0] = 207. - 1.5 ;
470 cpar[1] = 207. ;
471 cpar[2] = ((243.55+4.5+1.5)-168.25)/2;
472
473 cpar[3] = 180.-50.;
474 cpar[4] = 180.+50.;
475
476 gMC->Gsvolu("DCOH", "TUBS", idtmed[1812], cpar, 5);
477
478 cpar[0] = 274.;
479 cpar[1] = 274. + 1.5;
480
481 gMC->Gsvolu("DCOI", "TUBS", idtmed[1812], cpar, 5);
482
483
484 dx=+5.;
485 dz = ((243.55+4.5+1.5)+168.25)/2;
486 gMC->Gspos("DCOH", 1, "DDIP", dx, 0, dz, 0, "ONLY");
487 gMC->Gspos("DCOI", 1, "DDIP", dx, 0, dz, 0, "ONLY");
488
489
490 // Aluminum cabels
491
492 cpar[0] = 274. + 1.5 +2.;
493 cpar[1] = 274. + 1.5 +2. + 80.;
494 cpar[2] = 5.05/2;
495 cpar[3] = -24.;
496 cpar[4] = 24.;
497
498 gMC->Gsvolu("DCOJ", "TUBS", idtmed[1811], cpar, 5);
499
500 // dx = 274. + 1.5 +2. +40.;
501 // dx = 5. + 1.5 +2. +40.;
502 // dx = 5. + 1.5 +2.;
503 dx=-5.;
504 dz = 168.25 + 5.05 + 5.05/2;
505 gMC->Gspos("DCOJ", 1, "DDIP", dx, 0, dz, 0, "ONLY");
506
507 dz = 243.55 - 5.05/2;
508 gMC->Gspos("DCOJ", 2, "DDIP", dx, 0, dz, 0, "ONLY");
509
510 // 9.06.2000
511
512 cpar[3] = 180.-24.;
513 cpar[4] = 180.+24.;
514
515 gMC->Gsvolu("DCOK", "TUBS", idtmed[1811], cpar, 5);
516
517 // dx = 274. + 1.5 +2. +40.;
518 // dx = 5. + 1.5 +2. +40.;
519 // dx = 5. + 1.5 +2.;
520 dx=+5.;
521 dz = 168.25 + 5.05 + 5.05/2;
522 gMC->Gspos("DCOK", 1, "DDIP", dx, 0, dz, 0, "ONLY");
523
524 dz = 243.55 - 5.05/2;
525 gMC->Gspos("DCOK", 2, "DDIP", dx, 0, dz, 0, "ONLY");
526
527
fe4da5cc 528 // YOKE
1b206195 529
530// Top and bottom blocks
531 ypar[0] = 298.1 ;
532 ypar[1] = 69.5;
533 ypar[2] = 155.75;
534
535// iron- high cuts
536 gMC->Gsvolu("DY1 ", "BOX ", idtmed[1858], ypar, 3);
537 ypar[0] = 144.+10. ;
538 ypar[1] = 193.3+10.;
fe4da5cc 539 ypar[2] = 5.;
1b206195 540 ypar[3] = 155.75;
541 dy = -69.5 + 5.;
542// iron- low cuts
543 gMC->Gsvolu("DY11", "TRD1", idtmed[1818], ypar, 4);
544 gMC->Gspos("DY11", 1, "DY1 ", 0., dy, 0., 0, "ONLY");
545
546 dy = 365.5;
547 dz = 4.95;
548 gMC->Gspos("DY1 ", 1, "DDIP", 0., dy, -dz, 0, "ONLY");
549
550 the1 = 270.;
fe4da5cc 551 phi1 = 0.;
1b206195 552 the2 = 270.;
fe4da5cc 553 phi2 = 90.;
1b206195 554 the3 = 0.;
fe4da5cc 555 phi3 = 0.;
1b206195 556 AliMatrix(idrotm[1808], the1, phi1, the2, phi2, the3, phi3);
557 gMC->Gspos("DY1 ", 2, "DDIP", 0., -dy, -dz, idrotm[1808] , "ONLY");
558
559// side walls
560 // ypar[0] = 579./2. ;
561 ypar[0] = 296. ;
562 ypar[1] = 0.;
563 ypar[2] = 0.;
564 ypar[3] = 155.75;
565 ypar[4] = 47.9 ;
566 ypar[5] = 72.55;
567 ypar[6] = 4.3058039629 ;
568 // z+
569 ypar[7] = 155.75;
570 ypar[8] = 47.9 ;
571 ypar[9] = 72.55;
572 ypar[10] = 4.3058039629 ;
573
574// iron - high cuts
575
576 gMC->Gsvolu("DY2 ", "TRAP", idtmed[1858], ypar,11);
577
578 ypar[4] = 47.9 -5.;
579 ypar[5] = 72.55 -5.;
580
581 ypar[8] = 47.9 -5.;
582 ypar[9] = 72.55 -5.;
583
584
585// iron - low cuts
586
587 gMC->Gsvolu("DY22", "TRAP", idtmed[1818], ypar,11);
588
589 dy = 0.;
590 dx = -5.;
591
592 gMC->Gspos("DY22", 1, "DY2 ", dx, dy, 0., 0, "ONLY");
593
594 the1 = 90.;
595 phi1 = 180.;
596 the2 = 180.;
597 phi2 = 180.;
598 the3 = 90.;
599 phi3 = 90.;
600 AliMatrix(idrotm[1809], the1, phi1, the2, phi2, the3, phi3);
601
602 the1 = 90.;
fe4da5cc 603 phi1 = 0.;
1b206195 604 the2 = 180.;
605 phi2 = 0.;
606 the3 = 90. ;
607 phi3 = 90.;
608 AliMatrix(idrotm[1810], the1, phi1, the2, phi2, the3, phi3);
609
610 dx = 228.875;
611 dz = - 4.95;
612 gMC->Gspos("DY2 ", 1, "DDIP", dx, 0.0, dz, idrotm[1809], "ONLY");
613 gMC->Gspos("DY2 ", 2, "DDIP", -dx, 0.0, dz, idrotm[1810], "ONLY");
614
615 dz=975.;
616 gMC->Gspos("DDIP", 1, "ALIC", 0., 0., dz, 0, "ONLY");
617
cfce8870 618 gMC->Gsatt("DDIP", "SEEN", 0);
1b206195 619// gMC->Gsatt("DC21", "SEEN", 0);
620// gMC->Gsatt("DC22", "SEEN", 0);
621// gMC->Gsatt("DC3 ", "SEEN", 0);
622// gMC->Gsatt("DC4 ", "SEEN", 0);
fe4da5cc 623}
624
625//_____________________________________________________________________________
b8032157 626void AliDIPOv2::DrawModule()
fe4da5cc 627{
628 //
629 // Draw a shaded view of the muon absorber
630 //
631
1b206195 632 AliMC* gMC = AliMC::GetMC();
633
fe4da5cc 634 // Set everything unseen
cfce8870 635 gMC->Gsatt("*", "seen", -1);
fe4da5cc 636 //
637 // Set ALIC mother transparent
cfce8870 638 gMC->Gsatt("ALIC","SEEN",0);
fe4da5cc 639 //
640 // Set the volumes visible
cfce8870 641 gMC->Gsatt("DDIP","seen",0);
642 gMC->Gsatt("DC1 ","seen",1);
643 gMC->Gsatt("DC2 ","seen",1);
644 gMC->Gsatt("DC3 ","seen",1);
645 gMC->Gsatt("DC4 ","seen",1);
646 gMC->Gsatt("DC11","seen",1);
647 gMC->Gsatt("DC21","seen",1);
648 gMC->Gsatt("DC12","seen",1);
649 gMC->Gsatt("DC22","seen",1);
650 gMC->Gsatt("DL1 ","seen",1);
651 gMC->Gsatt("DL2 ","seen",1);
652 gMC->Gsatt("DY1 ","seen",1);
653 gMC->Gsatt("DY2 ","seen",1);
654 gMC->Gsatt("DYL ","seen",1);
655 gMC->Gsatt("DY3 ","seen",1);
1b206195 656 // gMC->Gsatt("DY4 ","seen",1);
657 // gMC->Gsatt("DY5 ","seen",1);
658 // gMC->Gsatt("DY6 ","seen",1);
659// gMC->Gsatt("DY7 ","seen",1);
fe4da5cc 660 //
cfce8870 661 gMC->Gdopt("hide", "on");
662 gMC->Gdopt("shad", "on");
663 gMC->Gsatt("*", "fill", 7);
664 gMC->SetClipBox(".");
665 gMC->SetClipBox(".");
666 gMC->DefaultRange();
667 gMC->Gdraw("alic", 30, 30, 0, 17, 13.5, .019, .019);
668 gMC->Gdhead(1111, "Magnetic Dipole Version 2");
669 gMC->Gdman(16, 4, "MAN");
fe4da5cc 670}
671
672//_____________________________________________________________________________
673void AliDIPOv2::CreateMaterials()
674{
675 //
676 // Create Materials for Magnetic Dipole version 2
677 //
678
b43eb0dc 679 Int_t isxfld = gAlice->Field()->Integ();
680 Float_t sxmgmx = gAlice->Field()->Max();
fe4da5cc 681
682 Float_t asteel[4] = { 55.847,51.9961,58.6934,28.0855 };
683 Float_t zsteel[4] = { 26.,24.,28.,14. };
684 Float_t wsteel[4] = { .715,.18,.1,.005 };
1b206195 685
fe4da5cc 686 Float_t acoil[3] = { 26.98,1.01,16. };
687 Float_t zcoil[3] = { 13.,1.,8. };
688 Float_t wcoil[3] = { .66,.226,.114 };
1b206195 689
690 Float_t aresi[3] = { 1.01,12.011,16.};
691 Float_t zresi[3] = { 1.,6.,8. };
692 Float_t wresi[3] = { .0644,.7655,.1701 };
693
694 Float_t aG10[5] = { 1.01,12.011,16.,28.085 ,79.904 };
695 Float_t zG10[5] = { 1.,6.,8.,14.,35. };
696 Float_t wG10[5] = { .02089,.22338,.28493,.41342,.05738 };
697
698 Float_t aAlCon[2] = { 14.61, 26.98};
699 Float_t zAlCon[2] = { 7.3, 13.};
700 Float_t wAlCon[2] = { .0004,.9996};
701
fe4da5cc 702
703 Float_t epsil, stmin, deemax, tmaxfd, stemax;
704
705 // --- Define the various materials for GEANT ---
706 // Aluminum
707 AliMaterial(9, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2);
708 AliMaterial(29, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2);
709 AliMaterial(49, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2);
710
711 // Iron
712 AliMaterial(10, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1);
713 AliMaterial(30, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1);
714 AliMaterial(50, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1);
715
716 // Air
717 AliMaterial(15, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500);
718 AliMaterial(35, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500);
719 AliMaterial(55, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500);
720
721 // Vacuum
722 AliMaterial(16, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
723 AliMaterial(36, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
724 AliMaterial(56, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
725
726 // stainless Steel
727 AliMixture(19, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
728 AliMixture(39, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
729 AliMixture(59, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
730
731 // Coil
732 AliMixture(14, "Al$", acoil, zcoil, 2.122, 3, wcoil);
733 AliMixture(34, "Al$", acoil, zcoil, 2.122, 3, wcoil);
734 AliMixture(54, "Al$", acoil, zcoil, 2.122, 3, wcoil);
1b206195 735
736 //RESIN
737 AliMixture(13, "RESIN$", aresi, zresi, 1.05, 3, wresi);
738 AliMixture(33, "RESIN$", aresi, zresi, 1.05, 3, wresi);
739 AliMixture(53, "RESIN$", aresi, zresi, 1.05, 3, wresi);
740
741 //G10
742 AliMixture(11, "G10$", aG10, zG10, 1.7, 5, wG10);
743 AliMixture(31, "G10$", aG10, zG10, 1.7, 5, wG10);
744 AliMixture(51, "G10$", aG10, zG10, 1.7, 5, wG10);
745
746 //Aluminium Conductor
747 AliMixture(12, "AlCond$", aAlCon, zAlCon, 1.3506, 2, wAlCon);
748 AliMixture(32, "AlCond$", aAlCon, zAlCon, 1.3506, 2, wAlCon);
749 AliMixture(52, "AlCond$", aAlCon, zAlCon, 1.3506, 2, wAlCon);
750
fe4da5cc 751 // ****************
752 // Defines tracking media parameters.
753 // Les valeurs sont commentees pour laisser le defaut
754 // a GEANT (version 3-21, page CONS200), f.m.
755 epsil = .001; // Tracking precision,
756 stemax = -1.; // Maximum displacement for multiple scat
757 tmaxfd = -20.; // Maximum angle due to field deflection
758 deemax = -.3; // Maximum fractional energy loss, DLS
759 stmin = -.8;
760 // ***************
761
762 // Aluminum
b43eb0dc 763 AliMedium(9, "ALU_C0 ", 9, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
764 AliMedium(29, "ALU_C1 ", 29, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
765 AliMedium(49, "ALU_C2 ", 49, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
fe4da5cc 766
767 // Iron
b43eb0dc 768 AliMedium(10, "FE_C0 ", 10, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
769 AliMedium(30, "FE_C1 ", 30, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
770 AliMedium(50, "FE_C2 ", 50, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
fe4da5cc 771
772 // Air
b43eb0dc 773 AliMedium(15, "AIR_C0 ", 15, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
774 AliMedium(35, "AIR_C1 ", 35, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
775 AliMedium(55, "AIR_C2 ", 55, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
fe4da5cc 776
777 // Vacuum
b43eb0dc 778 AliMedium(16, "VA_C0 ", 16, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
779 AliMedium(36, "VA_C1 ", 36, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
780 AliMedium(56, "VA_C2 ", 56, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
fe4da5cc 781
782 // Steel
b43eb0dc 783 AliMedium(19, "ST_C0 ", 19, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
784 AliMedium(39, "ST_C1 ", 39, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
785 AliMedium(59, "ST_C3 ", 59, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
fe4da5cc 786
787 // Coil
b43eb0dc 788 AliMedium(14, "Coil_C1 ", 14, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
789 AliMedium(34, "Coil_C2 ", 34, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
790 AliMedium(54, "Coil_C3 ", 54, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
1b206195 791
792 // Resin
b43eb0dc 793 AliMedium(13, "RESIN_C0 ", 13, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
794 AliMedium(33, "RESIN_C1 ", 33, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
795 AliMedium(53, "RESIN_C2 ", 53, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
1b206195 796
797 // G10
b43eb0dc 798 AliMedium(11, "G10_C0 ", 11, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
799 AliMedium(31, "G10_C1 ", 31, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
800 AliMedium(51, "G10_C2 ", 51, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
1b206195 801
802 //Aluminium Contactor
b43eb0dc 803 AliMedium(12, "AlCond_C0 ", 12, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
804 AliMedium(32, "AlCond_C1 ", 32, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
805 AliMedium(52, "AlCond_C2 ", 52, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
fe4da5cc 806}
807
1b206195 808
809
810
811
812