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