1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
18 Revision 1.17 2001/06/21 11:59:25 morsch
19 Some more details in compensator geometry.
21 Revision 1.16 2001/06/20 16:07:08 morsch
22 Compensator dipole MBWMD (MCB@SPS) added.
24 Revision 1.15 2001/03/16 15:34:37 morsch
25 Mothervolume defined MANY because overlap with station 3 mothervolume not avoidable (A. de Falco)
27 Revision 1.14 2000/12/21 16:37:23 morsch
28 Use Al for coil and cable material. The materials used before cause the dipole to
29 have hydrogene on the outer surface leading to unrealistic gamma rates due to
32 Revision 1.13 2000/10/02 21:28:15 fca
33 Removal of useless dependecies via forward declarations
35 Revision 1.12 2000/06/20 10:53:01 morsch
36 Volume placed outside mother volume (DDIP) corrected (Galina Chabratova)
38 Revision 1.11 2000/06/11 12:33:46 morsch
39 Coding rule violations corrected
41 Revision 1.10 2000/06/09 19:32:56 morsch
42 New detailed and corrected version from Galina Chabratova
44 Revision 1.9 2000/04/27 09:29:53 fca
45 Reverting to version 1.6.2
47 Revision 1.6.2.1 1999/12/03 16:38:51 fca
48 Correct overlap in magnet
50 Revision 1.6 1999/09/29 09:24:30 fca
51 Introduction of the Copyright and cvs Log
55 ///////////////////////////////////////////////////////////////////////////////
57 // Magnetic Dipole version 1 //
61 <img src="picts/AliDIPOv2Class.gif">
64 <font size=+2 color=red>
65 <p>The responsible person for this module is
66 <a href="mailto:andreas.morsch@cern.ch">Andreas Morsch</a>.
74 #include "AliDIPOv2.h"
82 //_____________________________________________________________________________
83 AliDIPOv2::AliDIPOv2()
86 // Last design of magnetic dipole version 2
90 //_____________________________________________________________________________
91 AliDIPOv2::AliDIPOv2(const char *name, const char *title)
95 // Standard constructor for the magnetic dipole version 2
101 void AliDIPOv2::CreateGeometry()
104 // Creation of the geometry of the magnetic DIPOLE version 2
107 CreateSpectrometerDipole();
108 CreateCompensatorDipole();
112 //_____________________________________________________________________________
113 void AliDIPOv2::CreateSpectrometerDipole()
116 // Creation of the geometry of the magnetic DIPOLE version 2
119 // AliMC* gMC = AliMC::GetMC();
121 Float_t cpar[5], tpar[18], ypar[12];
124 Float_t accMax, the1, phi1, the2, phi2, the3, phi3;
126 Int_t *idtmed = fIdtmed->GetArray()-1799;
128 // const Int_t kCoil = 1813;
129 // const Int_t kCable= 1811;
131 const Int_t kCoil = 1808;
132 const Int_t kCable= 1808;
134 accMax = 9.; // ANGLE POLAIRE MAXIMUM
137 const Float_t kZDipole = 975;
143 tpar[3] = -250.55+kZDipole;
147 tpar[6] = -160.7+kZDipole;
151 tpar[9] = 30.+kZDipole;
155 tpar[12] = 150.8+kZDipole;
159 tpar[15] = 250.55+kZDipole;
164 gMC->Gsvolu("DDIP", "PCON", idtmed[1814], tpar, 18);
173 gMC->Gsvolu("DC1 ", "TUBS", idtmed[kCoil+40], cpar, 5);
176 gMC->Gsvolu("DC2 ", "TUBS", idtmed[kCoil+40], cpar, 5);
178 // coil - low cuts cuts
180 // cpar[1] = cpar[0] + 10.;
185 gMC->Gsvolu("DC3 ", "TUBS", idtmed[kCoil], cpar, 5);
190 gMC->Gsvolu("DC4 ", "TUBS", idtmed[kCoil], cpar, 5);
192 gMC->Gspos("DC3 ", 1, "DC1 ", 0., 0., 0., 0, "ONLY");
193 gMC->Gspos("DC4 ", 1, "DC2 ", 0., 0., 0., 0, "ONLY");
195 // dz = 37.65 - 243.55
198 gMC->Gspos("DC1 ", 1, "DDIP", dx, 0., dz+kZDipole, 0, "ONLY");
199 gMC->Gspos("DC1 ", 2, "DDIP", dx, 0., -dz+kZDipole, 0, "ONLY");
200 gMC->Gspos("DC2 ", 1, "DDIP", -dx, 0., dz+kZDipole, 0, "ONLY");
201 gMC->Gspos("DC2 ", 2, "DDIP", -dx, 0., -dz+kZDipole, 0, "ONLY");
208 AliMatrix(idrotm[1800], the1, phi1, the2, phi2, the3, phi3);
212 AliMatrix(idrotm[1801], the1, phi1, the2, phi2, the3, phi3);
219 AliMatrix(idrotm[1802], the1, phi1, the2, phi2, the3, phi3);
223 AliMatrix(idrotm[1803], the1, phi1, the2, phi2, the3, phi3);
226 cpar[1] = 100.3; //25+75.3
231 gMC->Gsvolu("DC11", "TUBS", idtmed[kCoil+40], cpar, 5);
233 dx = TMath::Sin(30.5*kDegrad) * -(207.+33.5)+5./TMath::Sin(30.5*kDegrad);
234 dy = TMath::Cos(30.5*kDegrad) * -(207.+33.5);
235 dz = cpar[1] - 243.55-2.45;
236 gMC->Gspos("DC11", 1, "DDIP", dx, dy, dz+kZDipole, idrotm[1800], "ONLY");
237 gMC->Gspos("DC11", 2, "DDIP", dx, dy, -dz+kZDipole, idrotm[1802], "ONLY");
238 gMC->Gspos("DC11", 3, "DDIP", -dx, dy, dz+kZDipole, idrotm[1801], "ONLY");
239 gMC->Gspos("DC11", 4, "DDIP", -dx, dy, -dz+kZDipole, idrotm[1803], "ONLY");
245 cpar[1] = 100.3; //25+75.3
250 gMC->Gsvolu("DC12", "TUBS", idtmed[kCoil+40], cpar, 5);
252 dx = TMath::Sin(30.5*kDegrad) * -(207.+33.5)+5./TMath::Sin(30.5*kDegrad);
253 dy = TMath::Cos(30.5*kDegrad) *(207.+33.5);
254 dz = cpar[1] - 243.55-2.45;
255 gMC->Gspos("DC12", 1, "DDIP", dx, dy, dz+kZDipole, idrotm[1801], "ONLY");
256 gMC->Gspos("DC12", 2, "DDIP", dx, dy, -dz+kZDipole, idrotm[1803], "ONLY");
257 gMC->Gspos("DC12", 3, "DDIP", -dx, dy, dz+kZDipole, idrotm[1800], "ONLY");
258 gMC->Gspos("DC12", 4, "DDIP", -dx, dy, -dz+kZDipole, idrotm[1802], "ONLY");
266 AliMatrix(idrotm[1804], the1, phi1, the2, phi2, the3, phi3);
271 AliMatrix(idrotm[1805], the1, phi1, the2, phi2, the3, phi3);
273 phi1 = 119.; //180 -61
275 phi2 = 209.; //270-61
276 AliMatrix(idrotm[1806], the1, phi1, the2, phi2, the3, phi3);
281 AliMatrix(idrotm[1807], the1, phi1, the2, phi2, the3, phi3);
288 gMC->Gsvolu("DL1 ", "BOX ", idtmed[kCoil+40], tpar, 3);
294 gMC->Gsvolu("DL2 ", "BOX ", idtmed[kCoil], tpar, 3);
295 gMC->Gspos("DL2 ", 1, "DL1 ", dx, 0., 0., 0, "ONLY");
300 gMC->Gspos("DL1 ", 1, "DDIP", dx, dy, dz+kZDipole, idrotm[1804], "ONLY");
301 gMC->Gspos("DL1 ", 2, "DDIP", dx, -dy, dz+kZDipole, idrotm[1805], "ONLY");
302 gMC->Gspos("DL1 ", 3, "DDIP",-dx, dy, dz+kZDipole, idrotm[1806], "ONLY");
303 gMC->Gspos("DL1 ", 4, "DDIP",-dx, -dy, dz+kZDipole, idrotm[1807], "ONLY");
309 //Steel outer face planes
317 gMC->Gsvolu("DCO1", "TUBS", idtmed[1818], cpar, 5);
320 gMC->Gspos("DCO1", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
321 dz = 243.55+4.5+1.5+1.;
322 gMC->Gspos("DCO1", 2, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
326 // cpar[0] = 207.-18.6;
327 // cpar[1] = 274.+18.6;
332 gMC->Gsvolu("DCO2", "TUBS", idtmed[1818], cpar, 5);
335 gMC->Gspos("DCO2", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
336 dz = 243.55+4.5+1.5+1.;
337 gMC->Gspos("DCO2", 2, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
349 gMC->Gsvolu("DCO3", "TUBS", idtmed[1812], cpar, 5);
352 gMC->Gspos("DCO3", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
353 dz = 243.55+4.5+0.75;
354 gMC->Gspos("DCO3", 2, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
360 gMC->Gsvolu("DCO4", "TUBS", idtmed[1812], cpar, 5);
363 gMC->Gspos("DCO4", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
364 dz = 243.55+4.5+0.75 ;
365 gMC->Gspos("DCO4", 2, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
376 gMC->Gsvolu("DCO5", "TUBS", idtmed[1810], cpar, 5);
380 gMC->Gspos("DCO5", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
387 gMC->Gsvolu("DCO6", "TUBS", idtmed[1810], cpar, 5);
391 gMC->Gspos("DCO6", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
393 //Steel supported planes
395 cpar[0] = 274.+1.5+2.;
401 gMC->Gsvolu("DCO7", "TUBS", idtmed[1818], cpar, 5);
405 gMC->Gspos("DCO7", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
408 cpar[0] = 274.+1.5+2.;
415 gMC->Gsvolu("DCO8", "TUBS", idtmed[1818], cpar, 5);
419 gMC->Gspos("DCO8", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
423 cpar[0] = 207.- 18.6;
424 cpar[1] = 207.- 2.- 1.5;
429 gMC->Gsvolu("DCO9", "TUBS", idtmed[1818], cpar, 5);
433 gMC->Gspos("DCO9", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
437 cpar[0] = 207.- 18.6;
438 cpar[1] = 207.- 2.- 1.5;
443 gMC->Gsvolu("DCOA", "TUBS", idtmed[1818], cpar, 5);
447 gMC->Gspos("DCOA", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
450 // Sides steel planes
452 cpar[0] = 207. - 1.5 -2.;
453 cpar[1] = 207. - 1.5;
454 cpar[2] = ((243.55+4.5+1.5)-168.25)/2;
458 gMC->Gsvolu("DCOB", "TUBS", idtmed[1818], cpar, 5);
460 cpar[0] = 274. + 1.5;
461 cpar[1] = 274. + 1.5 +2.;
463 gMC->Gsvolu("DCOC", "TUBS", idtmed[1818], cpar, 5);
466 dz = ((243.55+4.5+1.5)+168.25)/2;
467 gMC->Gspos("DCOB", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
468 gMC->Gspos("DCOC", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
472 cpar[0] = 207. - 1.5 -2.;
473 cpar[1] = 207. - 1.5;
474 cpar[2] = ((243.55+4.5+1.5)-168.25)/2;
478 gMC->Gsvolu("DCOD", "TUBS", idtmed[1818], cpar, 5);
480 cpar[0] = 274. + 1.5;
481 cpar[1] = 274. + 1.5 +2.;
483 gMC->Gsvolu("DCOE", "TUBS", idtmed[1818], cpar, 5);
486 dz = ((243.55+4.5+1.5)+168.25)/2;
487 gMC->Gspos("DCOD", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
488 gMC->Gspos("DCOE", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
491 // Top and bottom resin planes
493 cpar[0] = 207. - 1.5;
495 cpar[2] = ((243.55+4.5+1.5)-168.25)/2;
499 gMC->Gsvolu("DCOF", "TUBS", idtmed[1812], cpar, 5);
502 cpar[1] = 274. + 1.5;
504 gMC->Gsvolu("DCOG", "TUBS", idtmed[1812], cpar, 5);
508 dz = ((243.55+4.5+1.5)+168.25)/2;
509 gMC->Gspos("DCOF", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
510 gMC->Gspos("DCOG", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
513 cpar[0] = 207. - 1.5;
515 cpar[2] = ((243.55+4.5+1.5)-168.25)/2;
520 gMC->Gsvolu("DCOH", "TUBS", idtmed[1812], cpar, 5);
523 cpar[1] = 274. + 1.5;
525 gMC->Gsvolu("DCOI", "TUBS", idtmed[1812], cpar, 5);
529 dz = ((243.55+4.5+1.5)+168.25)/2;
530 gMC->Gspos("DCOH", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
531 gMC->Gspos("DCOI", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
536 cpar[0] = 274. + 1.5 +2.;
537 cpar[1] = 274. + 1.5 +2. + 80.;
542 gMC->Gsvolu("DCOJ", "TUBS", idtmed[kCable], cpar, 5);
544 // dx = 274. + 1.5 +2. +40.;
545 // dx = 5. + 1.5 +2. +40.;
546 // dx = 5. + 1.5 +2.;
548 dz = 168.25 + 5.05 + 5.05/2;
549 gMC->Gspos("DCOJ", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
551 dz = 243.55 - 5.05/2;
552 gMC->Gspos("DCOJ", 2, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
559 gMC->Gsvolu("DCOK", "TUBS", idtmed[kCable], cpar, 5);
561 // dx = 274. + 1.5 +2. +40.;
562 // dx = 5. + 1.5 +2. +40.;
563 // dx = 5. + 1.5 +2.;
565 dz = 168.25 + 5.05 + 5.05/2;
566 gMC->Gspos("DCOK", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
568 dz = 243.55 - 5.05/2;
569 gMC->Gspos("DCOK", 2, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
574 // Top and bottom blocks
580 gMC->Gsvolu("DY1 ", "BOX ", idtmed[1858], ypar, 3);
587 gMC->Gsvolu("DY11", "TRD1", idtmed[1818], ypar, 4);
588 gMC->Gspos("DY11", 1, "DY1 ", 0., dy, 0., 0, "ONLY");
592 gMC->Gspos("DY1 ", 1, "DDIP", 0., dy, -dz+kZDipole, 0, "ONLY");
600 AliMatrix(idrotm[1808], the1, phi1, the2, phi2, the3, phi3);
601 gMC->Gspos("DY1 ", 2, "DDIP", 0., -dy, -dz+kZDipole, idrotm[1808] , "ONLY");
604 // ypar[0] = 579./2.;
611 ypar[6] = 4.3058039629;
616 ypar[10] = 4.3058039629;
620 gMC->Gsvolu("DY2 ", "TRAP", idtmed[1858], ypar,11);
631 gMC->Gsvolu("DY22", "TRAP", idtmed[1818], ypar,11);
636 gMC->Gspos("DY22", 1, "DY2 ", dx, dy, 0., 0, "ONLY");
644 AliMatrix(idrotm[1809], the1, phi1, the2, phi2, the3, phi3);
652 AliMatrix(idrotm[1810], the1, phi1, the2, phi2, the3, phi3);
657 gMC->Gspos("DY2 ", 1, "DDIP", dx, 0.0, dz+kZDipole, idrotm[1809], "ONLY");
658 gMC->Gspos("DY2 ", 2, "DDIP", -dx, 0.0, dz+kZDipole, idrotm[1810], "ONLY");
660 gMC->Gspos("DDIP", 1, "ALIC", 0., 0., 0., 0, "ONLY");
662 gMC->Gsatt("DDIP", "SEEN", 0);
663 // gMC->Gsatt("DC21", "SEEN", 0);
664 // gMC->Gsatt("DC22", "SEEN", 0);
665 // gMC->Gsatt("DC3 ", "SEEN", 0);
666 // gMC->Gsatt("DC4 ", "SEEN", 0);
670 void AliDIPOv2::CreateCompensatorDipole()
673 // Geometry of the compensator Dipole MBWMD (was MCB @ SPS)
675 Int_t *idtmed = fIdtmed->GetArray()-1799;
678 Float_t pbox[3] = {62.5, 62.5, 170.};
681 gMC->Gsvolu("DCM0", "BOX", idtmed[1814], pbox, 3);
684 // Mother volume containing lower coil
689 gMC->Gsvolu("DCML", "BOX", idtmed[1809], pbox, 3);
694 gMC->Gsvolu("DCBA", "BOX", idtmed[1809], pbox, 3);
696 // Coil: straight sections, horizontal
700 gMC->Gsvolu("DCH1", "BOX", idtmed[1816], pbox, 3);
702 // Coil: straight sections, horizontal
706 gMC->Gsvolu("DCH2", "BOX", idtmed[1816], pbox, 3);
709 // Mother volume containing upper coil
713 gMC->Gsvolu("DCMU", "BOX", idtmed[1809], pbox, 3);
716 // Coil: straight sections, vertical
721 gMC->Gsvolu("DCCV", "BOX", idtmed[1816], pbox, 3);
723 // Coil: circular section
731 // gMC->Gsvolu("DCC1", "TUBS", idtmed[1809], ptubs, 5);
737 gMC->Gsvolu("DCC1", "TUBS", idtmed[1816], ptubs, 5);
751 gMC->Gsvolu("DCLA", "PGON", idtmed[1809], ppgon, 10);
755 AliMatrix(idrotm[1811], -90., 0., 90., 90., 0., 0.);
756 AliMatrix(idrotm[1812], 0., 0., 90., 90., 90., 0.);
757 AliMatrix(idrotm[1813], 180., 0., 90., 90., 90., 0.);
758 AliMatrix(idrotm[1814], 0., 180., 90., 270., 90., 0.);
759 AliMatrix(idrotm[1815], 180., 180., 90., 270., 90., 0.);
761 gMC->Gspos("DCH1", 1, "DCML", 23.25, -13., -17.5, 0, "ONLY");
762 gMC->Gspos("DCCV", 1, "DCM0", 12., 19., -159., 0, "ONLY");
763 gMC->Gspos("DCCV", 2, "DCM0", -12., 19., -159., 0, "ONLY");
764 gMC->Gspos("DCCV", 3, "DCML", 23.25, 20.5, 141.5, 0, "ONLY");
766 gMC->Gspos("DCML", 1, "DCM0", -33.25, -2.5, 17.5, 0, "ONLY");
767 gMC->Gspos("DCML", 2, "DCM0", 33.25, -2.5, 17.5, idrotm[1811], "ONLY");
770 gMC->Gspos("DCH2", 1, "DCMU", 2., 6.5, 0., 0, "ONLY");
771 gMC->Gspos("DCMU", 1, "DCM0", -12., 45., 0., 0, "ONLY");
772 gMC->Gspos("DCMU", 2, "DCM0", 12., 45., 0., idrotm[1811], "ONLY");
774 // gMC->Gspos("DCC2", 1, "DCC1", 0., 0., 0., 0, "ONLY");
776 gMC->Gspos("DCC1", 1, "DCM0", -12., 27.5, 135., idrotm[1812], "ONLY");
777 gMC->Gspos("DCC1", 2, "DCM0", 12., 27.5, 135., idrotm[1812], "ONLY");
778 gMC->Gspos("DCC1", 3, "DCM0", -12., 27.5, -135., idrotm[1813], "ONLY");
779 gMC->Gspos("DCC1", 4, "DCM0", 12., 27.5, -135., idrotm[1813], "ONLY");
781 gMC->Gspos("DCC1", 5, "DCM0", 12., 27.5-32.+13., -135., idrotm[1815], "ONLY");
782 gMC->Gspos("DCC1", 6, "DCM0", -12., 27.5-32.+13., -135., idrotm[1815], "ONLY");
784 gMC->Gspos("DCC1", 7, "DCML", 23.25, -13+13.+11., 117.5, idrotm[1814], "ONLY");
786 gMC->Gspos("DCLA", 1, "DCM0", 20., 27.5, -134., 0, "ONLY");
787 gMC->Gspos("DCLA", 2, "DCM0", 20., 27.5, -44., 0, "ONLY");
788 gMC->Gspos("DCLA", 3, "DCM0", 20., 27.5, 46., 0, "ONLY");
789 gMC->Gspos("DCLA", 4, "DCM0", 20., 27.5, 134., 0, "ONLY");
791 gMC->Gspos("DCLA", 5, "DCM0", -20., 27.5, -134., idrotm[1811], "ONLY");
792 gMC->Gspos("DCLA", 6, "DCM0", -20., 27.5, -44., idrotm[1811], "ONLY");
793 gMC->Gspos("DCLA", 7, "DCM0", -20., 27.5, 46., idrotm[1811], "ONLY");
794 gMC->Gspos("DCLA", 8, "DCM0", -20., 27.5, 134., idrotm[1811], "ONLY");
797 gMC->Gspos("DCBA", 1, "DCM0", 0., -47.5 , 17.5, 0, "ONLY");
798 gMC->Gspos("DCM0", 1, "ALIC", 0., -6.75, -975., 0, "ONLY");
803 //_____________________________________________________________________________
804 void AliDIPOv2::DrawModule()
807 // Draw a shaded view of the muon absorber
810 AliMC* gMC = AliMC::GetMC();
812 // Set everything unseen
813 gMC->Gsatt("*", "seen", -1);
815 // Set ALIC mother transparent
816 gMC->Gsatt("ALIC","SEEN",0);
818 // Set the volumes visible
819 gMC->Gsatt("DDIP","seen",0);
820 gMC->Gsatt("DC1 ","seen",1);
821 gMC->Gsatt("DC2 ","seen",1);
822 gMC->Gsatt("DC3 ","seen",1);
823 gMC->Gsatt("DC4 ","seen",1);
824 gMC->Gsatt("DC11","seen",1);
825 gMC->Gsatt("DC21","seen",1);
826 gMC->Gsatt("DC12","seen",1);
827 gMC->Gsatt("DC22","seen",1);
828 gMC->Gsatt("DL1 ","seen",1);
829 gMC->Gsatt("DL2 ","seen",1);
830 gMC->Gsatt("DY1 ","seen",1);
831 gMC->Gsatt("DY2 ","seen",1);
832 gMC->Gsatt("DYL ","seen",1);
833 gMC->Gsatt("DY3 ","seen",1);
834 // gMC->Gsatt("DY4 ","seen",1);
835 // gMC->Gsatt("DY5 ","seen",1);
836 // gMC->Gsatt("DY6 ","seen",1);
837 // gMC->Gsatt("DY7 ","seen",1);
839 gMC->Gdopt("hide", "on");
840 gMC->Gdopt("shad", "on");
841 gMC->Gsatt("*", "fill", 7);
842 gMC->SetClipBox(".");
843 gMC->SetClipBox(".");
845 gMC->Gdraw("alic", 30, 30, 0, 17, 13.5, .019, .019);
846 gMC->Gdhead(1111, "Magnetic Dipole Version 2");
847 gMC->Gdman(16, 4, "MAN");
853 //_____________________________________________________________________________
854 void AliDIPOv2::CreateMaterials()
857 // Create Materials for Magnetic Dipole version 2
860 Int_t isxfld = gAlice->Field()->Integ();
861 Float_t sxmgmx = gAlice->Field()->Max();
863 Float_t asteel[4] = { 55.847,51.9961,58.6934,28.0855 };
864 Float_t zsteel[4] = { 26.,24.,28.,14. };
865 Float_t wsteel[4] = { .715,.18,.1,.005 };
867 Float_t acoil[3] = { 26.98,1.01,16. };
868 Float_t zcoil[3] = { 13.,1.,8. };
869 Float_t wcoil[3] = { .66,.226,.114 };
871 Float_t aresi[3] = { 1.01,12.011,16.};
872 Float_t zresi[3] = { 1.,6.,8. };
873 Float_t wresi[3] = { .0644,.7655,.1701 };
875 Float_t aG10[5] = { 1.01,12.011,16.,28.085 ,79.904 };
876 Float_t zG10[5] = { 1.,6.,8.,14.,35. };
877 Float_t wG10[5] = { .02089,.22338,.28493,.41342,.05738 };
879 Float_t aAlCon[2] = { 14.61, 26.98};
880 Float_t zAlCon[2] = { 7.3, 13.};
881 Float_t wAlCon[2] = { .0004,.9996};
884 Float_t epsil, stmin, deemax, tmaxfd, stemax;
886 // --- Define the various materials for GEANT ---
888 AliMaterial( 9, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2);
889 AliMaterial(29, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2);
890 AliMaterial(49, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2);
893 AliMaterial(10, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1);
894 AliMaterial(30, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1);
895 AliMaterial(50, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1);
897 AliMaterial(17, "COPPER$ ", 63.55, 29., 8.96, 1.43, 15.1);
898 AliMaterial(37, "COPPER$ ", 63.55, 29., 8.96, 1.43, 15.1);
899 AliMaterial(57, "COPPER$ ", 63.55, 29., 8.96, 1.43, 15.1);
901 AliMaterial(15, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500);
902 AliMaterial(35, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500);
903 AliMaterial(55, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500);
906 AliMaterial(16, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
907 AliMaterial(36, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
908 AliMaterial(56, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
911 AliMixture(19, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
912 AliMixture(39, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
913 AliMixture(59, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
916 AliMixture(14, "Al$", acoil, zcoil, 2.122, 3, wcoil);
917 AliMixture(34, "Al$", acoil, zcoil, 2.122, 3, wcoil);
918 AliMixture(54, "Al$", acoil, zcoil, 2.122, 3, wcoil);
921 AliMixture(13, "RESIN$", aresi, zresi, 1.05, 3, wresi);
922 AliMixture(33, "RESIN$", aresi, zresi, 1.05, 3, wresi);
923 AliMixture(53, "RESIN$", aresi, zresi, 1.05, 3, wresi);
926 AliMixture(11, "G10$", aG10, zG10, 1.7, 5, wG10);
927 AliMixture(31, "G10$", aG10, zG10, 1.7, 5, wG10);
928 AliMixture(51, "G10$", aG10, zG10, 1.7, 5, wG10);
930 //Aluminium Conductor
931 AliMixture(12, "AlCond$", aAlCon, zAlCon, 1.3506, 2, wAlCon);
932 AliMixture(32, "AlCond$", aAlCon, zAlCon, 1.3506, 2, wAlCon);
933 AliMixture(52, "AlCond$", aAlCon, zAlCon, 1.3506, 2, wAlCon);
936 // Defines tracking media parameters.
937 // Les valeurs sont commentees pour laisser le defaut
938 // a GEANT (version 3-21, page CONS200), f.m.
939 epsil = .001; // Tracking precision,
940 stemax = -1.; // Maximum displacement for multiple scat
941 tmaxfd = -20.; // Maximum angle due to field deflection
942 deemax = -.3; // Maximum fractional energy loss, DLS
947 AliMedium(9, "ALU_C0 ", 9, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
948 AliMedium(29, "ALU_C1 ", 29, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
949 AliMedium(49, "ALU_C2 ", 49, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
952 AliMedium(10, "FE_C0 ", 10, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
953 AliMedium(30, "FE_C1 ", 30, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
954 AliMedium(50, "FE_C2 ", 50, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
957 AliMedium(15, "AIR_C0 ", 15, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
958 AliMedium(35, "AIR_C1 ", 35, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
959 AliMedium(55, "AIR_C2 ", 55, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
962 AliMedium(16, "VA_C0 ", 16, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
963 AliMedium(36, "VA_C1 ", 36, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
964 AliMedium(56, "VA_C2 ", 56, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
967 AliMedium(19, "ST_C0 ", 19, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
968 AliMedium(39, "ST_C1 ", 39, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
969 AliMedium(59, "ST_C3 ", 59, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
972 AliMedium(14, "Coil_C1 ", 14, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
973 AliMedium(34, "Coil_C2 ", 34, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
974 AliMedium(54, "Coil_C3 ", 54, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
977 AliMedium(13, "RESIN_C0 ", 13, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
978 AliMedium(33, "RESIN_C1 ", 33, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
979 AliMedium(53, "RESIN_C2 ", 53, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
982 AliMedium(11, "G10_C0 ", 11, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
983 AliMedium(31, "G10_C1 ", 31, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
984 AliMedium(51, "G10_C2 ", 51, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
986 //Aluminium Contactor
987 AliMedium(12, "AlCond_C0 ", 12, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
988 AliMedium(32, "AlCond_C1 ", 32, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
989 AliMedium(52, "AlCond_C2 ", 52, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
993 AliMedium(17, "Cu_C0 ", 17, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
994 AliMedium(37, "Cu_C1 ", 37, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
995 AliMedium(57, "Cu_C2 ", 57, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);