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.18 2001/06/21 14:16:43 morsch
19 Use absolute coordinates for mother volume PCON.
21 Revision 1.17 2001/06/21 11:59:25 morsch
22 Some more details in compensator geometry.
24 Revision 1.16 2001/06/20 16:07:08 morsch
25 Compensator dipole MBWMD (MCB@SPS) added.
27 Revision 1.15 2001/03/16 15:34:37 morsch
28 Mothervolume defined MANY because overlap with station 3 mothervolume not avoidable (A. de Falco)
30 Revision 1.14 2000/12/21 16:37:23 morsch
31 Use Al for coil and cable material. The materials used before cause the dipole to
32 have hydrogene on the outer surface leading to unrealistic gamma rates due to
35 Revision 1.13 2000/10/02 21:28:15 fca
36 Removal of useless dependecies via forward declarations
38 Revision 1.12 2000/06/20 10:53:01 morsch
39 Volume placed outside mother volume (DDIP) corrected (Galina Chabratova)
41 Revision 1.11 2000/06/11 12:33:46 morsch
42 Coding rule violations corrected
44 Revision 1.10 2000/06/09 19:32:56 morsch
45 New detailed and corrected version from Galina Chabratova
47 Revision 1.9 2000/04/27 09:29:53 fca
48 Reverting to version 1.6.2
50 Revision 1.6.2.1 1999/12/03 16:38:51 fca
51 Correct overlap in magnet
53 Revision 1.6 1999/09/29 09:24:30 fca
54 Introduction of the Copyright and cvs Log
58 ///////////////////////////////////////////////////////////////////////////////
60 // Magnetic Dipole version 1 //
64 <img src="picts/AliDIPOv2Class.gif">
67 <font size=+2 color=red>
68 <p>The responsible person for this module is
69 <a href="mailto:andreas.morsch@cern.ch">Andreas Morsch</a>.
77 #include "AliDIPOv2.h"
84 //_____________________________________________________________________________
85 AliDIPOv2::AliDIPOv2()
88 // Last design of magnetic dipole version 2
92 //_____________________________________________________________________________
93 AliDIPOv2::AliDIPOv2(const char *name, const char *title)
97 // Standard constructor for the magnetic dipole version 2
103 void AliDIPOv2::CreateGeometry()
106 // Creation of the geometry of the magnetic DIPOLE version 2
109 CreateSpectrometerDipole();
110 CreateCompensatorDipole();
114 //_____________________________________________________________________________
115 void AliDIPOv2::CreateSpectrometerDipole()
118 // Creation of the geometry of the magnetic DIPOLE version 2
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 // Set everything unseen
811 gMC->Gsatt("*", "seen", -1);
813 // Set ALIC mother transparent
814 gMC->Gsatt("ALIC","SEEN",0);
816 // Set the volumes visible
817 gMC->Gsatt("DDIP","seen",0);
818 gMC->Gsatt("DC1 ","seen",1);
819 gMC->Gsatt("DC2 ","seen",1);
820 gMC->Gsatt("DC3 ","seen",1);
821 gMC->Gsatt("DC4 ","seen",1);
822 gMC->Gsatt("DC11","seen",1);
823 gMC->Gsatt("DC21","seen",1);
824 gMC->Gsatt("DC12","seen",1);
825 gMC->Gsatt("DC22","seen",1);
826 gMC->Gsatt("DL1 ","seen",1);
827 gMC->Gsatt("DL2 ","seen",1);
828 gMC->Gsatt("DY1 ","seen",1);
829 gMC->Gsatt("DY2 ","seen",1);
830 gMC->Gsatt("DYL ","seen",1);
831 gMC->Gsatt("DY3 ","seen",1);
832 // gMC->Gsatt("DY4 ","seen",1);
833 // gMC->Gsatt("DY5 ","seen",1);
834 // gMC->Gsatt("DY6 ","seen",1);
835 // gMC->Gsatt("DY7 ","seen",1);
837 gMC->Gdopt("hide", "on");
838 gMC->Gdopt("shad", "on");
839 gMC->Gsatt("*", "fill", 7);
840 gMC->SetClipBox(".");
841 gMC->SetClipBox(".");
843 gMC->Gdraw("alic", 30, 30, 0, 17, 13.5, .019, .019);
844 gMC->Gdhead(1111, "Magnetic Dipole Version 2");
845 gMC->Gdman(16, 4, "MAN");
851 //_____________________________________________________________________________
852 void AliDIPOv2::CreateMaterials()
855 // Create Materials for Magnetic Dipole version 2
858 Int_t isxfld = gAlice->Field()->Integ();
859 Float_t sxmgmx = gAlice->Field()->Max();
861 Float_t asteel[4] = { 55.847,51.9961,58.6934,28.0855 };
862 Float_t zsteel[4] = { 26.,24.,28.,14. };
863 Float_t wsteel[4] = { .715,.18,.1,.005 };
865 Float_t acoil[3] = { 26.98,1.01,16. };
866 Float_t zcoil[3] = { 13.,1.,8. };
867 Float_t wcoil[3] = { .66,.226,.114 };
869 Float_t aresi[3] = { 1.01,12.011,16.};
870 Float_t zresi[3] = { 1.,6.,8. };
871 Float_t wresi[3] = { .0644,.7655,.1701 };
873 Float_t aG10[5] = { 1.01,12.011,16.,28.085 ,79.904 };
874 Float_t zG10[5] = { 1.,6.,8.,14.,35. };
875 Float_t wG10[5] = { .02089,.22338,.28493,.41342,.05738 };
877 Float_t aAlCon[2] = { 14.61, 26.98};
878 Float_t zAlCon[2] = { 7.3, 13.};
879 Float_t wAlCon[2] = { .0004,.9996};
882 Float_t epsil, stmin, deemax, tmaxfd, stemax;
884 // --- Define the various materials for GEANT ---
886 AliMaterial( 9, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2);
887 AliMaterial(29, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2);
888 AliMaterial(49, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2);
891 AliMaterial(10, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1);
892 AliMaterial(30, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1);
893 AliMaterial(50, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1);
895 AliMaterial(17, "COPPER$ ", 63.55, 29., 8.96, 1.43, 15.1);
896 AliMaterial(37, "COPPER$ ", 63.55, 29., 8.96, 1.43, 15.1);
897 AliMaterial(57, "COPPER$ ", 63.55, 29., 8.96, 1.43, 15.1);
899 AliMaterial(15, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500);
900 AliMaterial(35, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500);
901 AliMaterial(55, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500);
904 AliMaterial(16, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
905 AliMaterial(36, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
906 AliMaterial(56, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
909 AliMixture(19, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
910 AliMixture(39, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
911 AliMixture(59, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
914 AliMixture(14, "Al$", acoil, zcoil, 2.122, 3, wcoil);
915 AliMixture(34, "Al$", acoil, zcoil, 2.122, 3, wcoil);
916 AliMixture(54, "Al$", acoil, zcoil, 2.122, 3, wcoil);
919 AliMixture(13, "RESIN$", aresi, zresi, 1.05, 3, wresi);
920 AliMixture(33, "RESIN$", aresi, zresi, 1.05, 3, wresi);
921 AliMixture(53, "RESIN$", aresi, zresi, 1.05, 3, wresi);
924 AliMixture(11, "G10$", aG10, zG10, 1.7, 5, wG10);
925 AliMixture(31, "G10$", aG10, zG10, 1.7, 5, wG10);
926 AliMixture(51, "G10$", aG10, zG10, 1.7, 5, wG10);
928 //Aluminium Conductor
929 AliMixture(12, "AlCond$", aAlCon, zAlCon, 1.3506, 2, wAlCon);
930 AliMixture(32, "AlCond$", aAlCon, zAlCon, 1.3506, 2, wAlCon);
931 AliMixture(52, "AlCond$", aAlCon, zAlCon, 1.3506, 2, wAlCon);
934 // Defines tracking media parameters.
935 // Les valeurs sont commentees pour laisser le defaut
936 // a GEANT (version 3-21, page CONS200), f.m.
937 epsil = .001; // Tracking precision,
938 stemax = -1.; // Maximum displacement for multiple scat
939 tmaxfd = -20.; // Maximum angle due to field deflection
940 deemax = -.3; // Maximum fractional energy loss, DLS
945 AliMedium(9, "ALU_C0 ", 9, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
946 AliMedium(29, "ALU_C1 ", 29, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
947 AliMedium(49, "ALU_C2 ", 49, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
950 AliMedium(10, "FE_C0 ", 10, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
951 AliMedium(30, "FE_C1 ", 30, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
952 AliMedium(50, "FE_C2 ", 50, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
955 AliMedium(15, "AIR_C0 ", 15, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
956 AliMedium(35, "AIR_C1 ", 35, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
957 AliMedium(55, "AIR_C2 ", 55, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
960 AliMedium(16, "VA_C0 ", 16, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
961 AliMedium(36, "VA_C1 ", 36, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
962 AliMedium(56, "VA_C2 ", 56, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
965 AliMedium(19, "ST_C0 ", 19, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
966 AliMedium(39, "ST_C1 ", 39, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
967 AliMedium(59, "ST_C3 ", 59, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
970 AliMedium(14, "Coil_C1 ", 14, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
971 AliMedium(34, "Coil_C2 ", 34, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
972 AliMedium(54, "Coil_C3 ", 54, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
975 AliMedium(13, "RESIN_C0 ", 13, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
976 AliMedium(33, "RESIN_C1 ", 33, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
977 AliMedium(53, "RESIN_C2 ", 53, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
980 AliMedium(11, "G10_C0 ", 11, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
981 AliMedium(31, "G10_C1 ", 31, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
982 AliMedium(51, "G10_C2 ", 51, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
984 //Aluminium Contactor
985 AliMedium(12, "AlCond_C0 ", 12, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
986 AliMedium(32, "AlCond_C1 ", 32, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
987 AliMedium(52, "AlCond_C2 ", 52, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
991 AliMedium(17, "Cu_C0 ", 17, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
992 AliMedium(37, "Cu_C1 ", 37, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
993 AliMedium(57, "Cu_C2 ", 57, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);