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.16 2001/06/20 16:07:08 morsch
19 Compensator dipole MBWMD (MCB@SPS) added.
21 Revision 1.15 2001/03/16 15:34:37 morsch
22 Mothervolume defined MANY because overlap with station 3 mothervolume not avoidable (A. de Falco)
24 Revision 1.14 2000/12/21 16:37:23 morsch
25 Use Al for coil and cable material. The materials used before cause the dipole to
26 have hydrogene on the outer surface leading to unrealistic gamma rates due to
29 Revision 1.13 2000/10/02 21:28:15 fca
30 Removal of useless dependecies via forward declarations
32 Revision 1.12 2000/06/20 10:53:01 morsch
33 Volume placed outside mother volume (DDIP) corrected (Galina Chabratova)
35 Revision 1.11 2000/06/11 12:33:46 morsch
36 Coding rule violations corrected
38 Revision 1.10 2000/06/09 19:32:56 morsch
39 New detailed and corrected version from Galina Chabratova
41 Revision 1.9 2000/04/27 09:29:53 fca
42 Reverting to version 1.6.2
44 Revision 1.6.2.1 1999/12/03 16:38:51 fca
45 Correct overlap in magnet
47 Revision 1.6 1999/09/29 09:24:30 fca
48 Introduction of the Copyright and cvs Log
52 ///////////////////////////////////////////////////////////////////////////////
54 // Magnetic Dipole version 1 //
58 <img src="picts/AliDIPOv2Class.gif">
61 <font size=+2 color=red>
62 <p>The responsible person for this module is
63 <a href="mailto:andreas.morsch@cern.ch">Andreas Morsch</a>.
71 #include "AliDIPOv2.h"
79 //_____________________________________________________________________________
80 AliDIPOv2::AliDIPOv2()
83 // Last design of magnetic dipole version 2
87 //_____________________________________________________________________________
88 AliDIPOv2::AliDIPOv2(const char *name, const char *title)
92 // Standard constructor for the magnetic dipole version 2
98 void AliDIPOv2::CreateGeometry()
101 // Creation of the geometry of the magnetic DIPOLE version 2
104 CreateSpectrometerDipole();
105 CreateCompensatorDipole();
109 //_____________________________________________________________________________
110 void AliDIPOv2::CreateSpectrometerDipole()
113 // Creation of the geometry of the magnetic DIPOLE version 2
116 // AliMC* gMC = AliMC::GetMC();
118 Float_t cpar[5], tpar[15], ypar[12];
121 Float_t accMax, the1, phi1, the2, phi2, the3, phi3;
123 Int_t *idtmed = fIdtmed->GetArray()-1799;
125 // const Int_t kCoil = 1813;
126 // const Int_t kCable= 1811;
128 const Int_t kCoil = 1808;
129 const Int_t kCable= 1808;
131 accMax = 9.; // ANGLE POLAIRE MAXIMUM
156 gMC->Gsvolu("DDIP", "PCON", idtmed[1814], tpar, 15);
165 gMC->Gsvolu("DC1 ", "TUBS", idtmed[kCoil+40], cpar, 5);
168 gMC->Gsvolu("DC2 ", "TUBS", idtmed[kCoil+40], cpar, 5);
170 // coil - low cuts cuts
172 // cpar[1] = cpar[0] + 10.;
177 gMC->Gsvolu("DC3 ", "TUBS", idtmed[kCoil], cpar, 5);
182 gMC->Gsvolu("DC4 ", "TUBS", idtmed[kCoil], cpar, 5);
184 gMC->Gspos("DC3 ", 1, "DC1 ", 0., 0., 0., 0, "ONLY");
185 gMC->Gspos("DC4 ", 1, "DC2 ", 0., 0., 0., 0, "ONLY");
187 // dz = 37.65 - 243.55
190 gMC->Gspos("DC1 ", 1, "DDIP", dx, 0., dz, 0, "ONLY");
191 gMC->Gspos("DC1 ", 2, "DDIP", dx, 0., -dz, 0, "ONLY");
192 gMC->Gspos("DC2 ", 1, "DDIP", -dx, 0., dz, 0, "ONLY");
193 gMC->Gspos("DC2 ", 2, "DDIP", -dx, 0., -dz, 0, "ONLY");
200 AliMatrix(idrotm[1800], the1, phi1, the2, phi2, the3, phi3);
204 AliMatrix(idrotm[1801], the1, phi1, the2, phi2, the3, phi3);
211 AliMatrix(idrotm[1802], the1, phi1, the2, phi2, the3, phi3);
215 AliMatrix(idrotm[1803], the1, phi1, the2, phi2, the3, phi3);
218 cpar[1] = 100.3; //25+75.3
223 gMC->Gsvolu("DC11", "TUBS", idtmed[kCoil+40], cpar, 5);
225 dx = TMath::Sin(30.5*kDegrad) * -(207.+33.5)+5./TMath::Sin(30.5*kDegrad) ;
226 dy = TMath::Cos(30.5*kDegrad) * -(207.+33.5);
227 dz = cpar[1] - 243.55-2.45;
228 gMC->Gspos("DC11", 1, "DDIP", dx, dy, dz, idrotm[1800], "ONLY");
229 gMC->Gspos("DC11", 2, "DDIP", dx, dy, -dz, idrotm[1802], "ONLY");
230 gMC->Gspos("DC11", 3, "DDIP", -dx, dy, dz, idrotm[1801], "ONLY");
231 gMC->Gspos("DC11", 4, "DDIP", -dx, dy, -dz, idrotm[1803], "ONLY");
237 cpar[1] = 100.3; //25+75.3
242 gMC->Gsvolu("DC12", "TUBS", idtmed[kCoil+40], cpar, 5);
244 dx = TMath::Sin(30.5*kDegrad) * -(207.+33.5)+5./TMath::Sin(30.5*kDegrad) ;
245 dy = TMath::Cos(30.5*kDegrad) *(207.+33.5);
246 dz = cpar[1] - 243.55-2.45;
247 gMC->Gspos("DC12", 1, "DDIP", dx, dy, dz, idrotm[1801], "ONLY");
248 gMC->Gspos("DC12", 2, "DDIP", dx, dy, -dz, idrotm[1803], "ONLY");
249 gMC->Gspos("DC12", 3, "DDIP", -dx, dy, dz, idrotm[1800], "ONLY");
250 gMC->Gspos("DC12", 4, "DDIP", -dx, dy, -dz, idrotm[1802], "ONLY");
258 AliMatrix(idrotm[1804], the1, phi1, the2, phi2, the3, phi3);
263 AliMatrix(idrotm[1805], the1, phi1, the2, phi2, the3, phi3);
265 phi1 = 119.; //180 -61
267 phi2 = 209.; //270-61
268 AliMatrix(idrotm[1806], the1, phi1, the2, phi2, the3, phi3);
273 AliMatrix(idrotm[1807], the1, phi1, the2, phi2, the3, phi3);
280 gMC->Gsvolu("DL1 ", "BOX ", idtmed[kCoil+40], tpar, 3);
286 gMC->Gsvolu("DL2 ", "BOX ", idtmed[kCoil], tpar, 3);
287 gMC->Gspos("DL2 ", 1, "DL1 ", dx, 0., 0., 0, "ONLY");
292 gMC->Gspos("DL1 ", 1, "DDIP", dx, dy, dz, idrotm[1804], "ONLY");
293 gMC->Gspos("DL1 ", 2, "DDIP", dx, -dy, dz, idrotm[1805], "ONLY");
294 gMC->Gspos("DL1 ", 3, "DDIP",-dx, dy, dz, idrotm[1806], "ONLY");
295 gMC->Gspos("DL1 ", 4, "DDIP",-dx, -dy, dz, idrotm[1807], "ONLY");
301 //Steel outer face planes
309 gMC->Gsvolu("DCO1", "TUBS", idtmed[1818], cpar, 5);
312 gMC->Gspos("DCO1", 1, "DDIP", dx, 0, dz, 0, "ONLY");
313 dz = 243.55+4.5+1.5+1.;
314 gMC->Gspos("DCO1", 2, "DDIP", dx, 0, dz, 0, "ONLY");
318 // cpar[0] = 207.-18.6;
319 // cpar[1] = 274.+18.6;
324 gMC->Gsvolu("DCO2", "TUBS", idtmed[1818], cpar, 5);
327 gMC->Gspos("DCO2", 1, "DDIP", dx, 0, dz, 0, "ONLY");
328 dz = 243.55+4.5+1.5+1.;
329 gMC->Gspos("DCO2", 2, "DDIP", dx, 0, dz, 0, "ONLY");
341 gMC->Gsvolu("DCO3", "TUBS", idtmed[1812], cpar, 5);
344 gMC->Gspos("DCO3", 1, "DDIP", dx, 0, dz, 0, "ONLY");
345 dz = 243.55+4.5+0.75;
346 gMC->Gspos("DCO3", 2, "DDIP", dx, 0, dz, 0, "ONLY");
352 gMC->Gsvolu("DCO4", "TUBS", idtmed[1812], cpar, 5);
355 gMC->Gspos("DCO4", 1, "DDIP", dx, 0, dz, 0, "ONLY");
356 dz = 243.55+4.5+0.75;
357 gMC->Gspos("DCO4", 2, "DDIP", dx, 0, dz, 0, "ONLY");
368 gMC->Gsvolu("DCO5", "TUBS", idtmed[1810], cpar, 5);
372 gMC->Gspos("DCO5", 1, "DDIP", dx, 0, dz, 0, "ONLY");
379 gMC->Gsvolu("DCO6", "TUBS", idtmed[1810], cpar, 5);
383 gMC->Gspos("DCO6", 1, "DDIP", dx, 0, dz, 0, "ONLY");
385 //Steel supported planes
387 cpar[0] = 274.+1.5+2.;
393 gMC->Gsvolu("DCO7", "TUBS", idtmed[1818], cpar, 5);
397 gMC->Gspos("DCO7", 1, "DDIP", dx, 0, dz, 0, "ONLY");
400 cpar[0] = 274.+1.5+2.;
407 gMC->Gsvolu("DCO8", "TUBS", idtmed[1818], cpar, 5);
411 gMC->Gspos("DCO8", 1, "DDIP", dx, 0, dz, 0, "ONLY");
415 cpar[0] = 207.- 18.6;
416 cpar[1] = 207.- 2.- 1.5;
421 gMC->Gsvolu("DCO9", "TUBS", idtmed[1818], cpar, 5);
425 gMC->Gspos("DCO9", 1, "DDIP", dx, 0, dz, 0, "ONLY");
429 cpar[0] = 207.- 18.6;
430 cpar[1] = 207.- 2.- 1.5;
435 gMC->Gsvolu("DCOA", "TUBS", idtmed[1818], cpar, 5);
439 gMC->Gspos("DCOA", 1, "DDIP", dx, 0, dz, 0, "ONLY");
442 // Sides steel planes
444 cpar[0] = 207. - 1.5 -2.;
445 cpar[1] = 207. - 1.5 ;
446 cpar[2] = ((243.55+4.5+1.5)-168.25)/2;
450 gMC->Gsvolu("DCOB", "TUBS", idtmed[1818], cpar, 5);
452 cpar[0] = 274. + 1.5;
453 cpar[1] = 274. + 1.5 +2.;
455 gMC->Gsvolu("DCOC", "TUBS", idtmed[1818], cpar, 5);
458 dz = ((243.55+4.5+1.5)+168.25)/2;
459 gMC->Gspos("DCOB", 1, "DDIP", dx, 0, dz, 0, "ONLY");
460 gMC->Gspos("DCOC", 1, "DDIP", dx, 0, dz, 0, "ONLY");
464 cpar[0] = 207. - 1.5 -2.;
465 cpar[1] = 207. - 1.5 ;
466 cpar[2] = ((243.55+4.5+1.5)-168.25)/2;
470 gMC->Gsvolu("DCOD", "TUBS", idtmed[1818], cpar, 5);
472 cpar[0] = 274. + 1.5;
473 cpar[1] = 274. + 1.5 +2.;
475 gMC->Gsvolu("DCOE", "TUBS", idtmed[1818], cpar, 5);
478 dz = ((243.55+4.5+1.5)+168.25)/2;
479 gMC->Gspos("DCOD", 1, "DDIP", dx, 0, dz, 0, "ONLY");
480 gMC->Gspos("DCOE", 1, "DDIP", dx, 0, dz, 0, "ONLY");
483 // Top and bottom resin planes
485 cpar[0] = 207. - 1.5 ;
487 cpar[2] = ((243.55+4.5+1.5)-168.25)/2;
491 gMC->Gsvolu("DCOF", "TUBS", idtmed[1812], cpar, 5);
494 cpar[1] = 274. + 1.5;
496 gMC->Gsvolu("DCOG", "TUBS", idtmed[1812], cpar, 5);
500 dz = ((243.55+4.5+1.5)+168.25)/2;
501 gMC->Gspos("DCOF", 1, "DDIP", dx, 0, dz, 0, "ONLY");
502 gMC->Gspos("DCOG", 1, "DDIP", dx, 0, dz, 0, "ONLY");
505 cpar[0] = 207. - 1.5 ;
507 cpar[2] = ((243.55+4.5+1.5)-168.25)/2;
512 gMC->Gsvolu("DCOH", "TUBS", idtmed[1812], cpar, 5);
515 cpar[1] = 274. + 1.5;
517 gMC->Gsvolu("DCOI", "TUBS", idtmed[1812], cpar, 5);
521 dz = ((243.55+4.5+1.5)+168.25)/2;
522 gMC->Gspos("DCOH", 1, "DDIP", dx, 0, dz, 0, "ONLY");
523 gMC->Gspos("DCOI", 1, "DDIP", dx, 0, dz, 0, "ONLY");
528 cpar[0] = 274. + 1.5 +2.;
529 cpar[1] = 274. + 1.5 +2. + 80.;
534 gMC->Gsvolu("DCOJ", "TUBS", idtmed[kCable], cpar, 5);
536 // dx = 274. + 1.5 +2. +40.;
537 // dx = 5. + 1.5 +2. +40.;
538 // dx = 5. + 1.5 +2.;
540 dz = 168.25 + 5.05 + 5.05/2;
541 gMC->Gspos("DCOJ", 1, "DDIP", dx, 0, dz, 0, "ONLY");
543 dz = 243.55 - 5.05/2;
544 gMC->Gspos("DCOJ", 2, "DDIP", dx, 0, dz, 0, "ONLY");
551 gMC->Gsvolu("DCOK", "TUBS", idtmed[kCable], cpar, 5);
553 // dx = 274. + 1.5 +2. +40.;
554 // dx = 5. + 1.5 +2. +40.;
555 // dx = 5. + 1.5 +2.;
557 dz = 168.25 + 5.05 + 5.05/2;
558 gMC->Gspos("DCOK", 1, "DDIP", dx, 0, dz, 0, "ONLY");
560 dz = 243.55 - 5.05/2;
561 gMC->Gspos("DCOK", 2, "DDIP", dx, 0, dz, 0, "ONLY");
566 // Top and bottom blocks
572 gMC->Gsvolu("DY1 ", "BOX ", idtmed[1858], ypar, 3);
579 gMC->Gsvolu("DY11", "TRD1", idtmed[1818], ypar, 4);
580 gMC->Gspos("DY11", 1, "DY1 ", 0., dy, 0., 0, "ONLY");
584 gMC->Gspos("DY1 ", 1, "DDIP", 0., dy, -dz, 0, "ONLY");
592 AliMatrix(idrotm[1808], the1, phi1, the2, phi2, the3, phi3);
593 gMC->Gspos("DY1 ", 2, "DDIP", 0., -dy, -dz, idrotm[1808] , "ONLY");
596 // ypar[0] = 579./2. ;
603 ypar[6] = 4.3058039629 ;
608 ypar[10] = 4.3058039629 ;
612 gMC->Gsvolu("DY2 ", "TRAP", idtmed[1858], ypar,11);
623 gMC->Gsvolu("DY22", "TRAP", idtmed[1818], ypar,11);
628 gMC->Gspos("DY22", 1, "DY2 ", dx, dy, 0., 0, "ONLY");
636 AliMatrix(idrotm[1809], the1, phi1, the2, phi2, the3, phi3);
644 AliMatrix(idrotm[1810], the1, phi1, the2, phi2, the3, phi3);
648 gMC->Gspos("DY2 ", 1, "DDIP", dx, 0.0, dz, idrotm[1809], "ONLY");
649 gMC->Gspos("DY2 ", 2, "DDIP", -dx, 0.0, dz, idrotm[1810], "ONLY");
652 gMC->Gspos("DDIP", 1, "ALIC", 0., 0., dz, 0, "MANY");
654 gMC->Gsatt("DDIP", "SEEN", 0);
655 // gMC->Gsatt("DC21", "SEEN", 0);
656 // gMC->Gsatt("DC22", "SEEN", 0);
657 // gMC->Gsatt("DC3 ", "SEEN", 0);
658 // gMC->Gsatt("DC4 ", "SEEN", 0);
662 void AliDIPOv2::CreateCompensatorDipole()
665 // Geometry of the compensator Dipole MBWMD (was MCB @ SPS)
667 Int_t *idtmed = fIdtmed->GetArray()-1799;
670 Float_t pbox[3] = {62.5, 62.5, 170.};
673 gMC->Gsvolu("DCM0", "BOX", idtmed[1814], pbox, 3);
676 // Mother volume containing lower coil
681 gMC->Gsvolu("DCML", "BOX", idtmed[1809], pbox, 3);
686 gMC->Gsvolu("DCBA", "BOX", idtmed[1809], pbox, 3);
688 // Coil: straight sections, horizontal
692 gMC->Gsvolu("DCH1", "BOX", idtmed[1816], pbox, 3);
694 // Coil: straight sections, horizontal
698 gMC->Gsvolu("DCH2", "BOX", idtmed[1816], pbox, 3);
701 // Mother volume containing upper coil
705 gMC->Gsvolu("DCMU", "BOX", idtmed[1809], pbox, 3);
708 // Coil: straight sections, vertical
713 gMC->Gsvolu("DCCV", "BOX", idtmed[1816], pbox, 3);
715 // Coil: circular section
723 // gMC->Gsvolu("DCC1", "TUBS", idtmed[1809], ptubs, 5);
729 gMC->Gsvolu("DCC1", "TUBS", idtmed[1816], ptubs, 5);
743 gMC->Gsvolu("DCLA", "PGON", idtmed[1809], ppgon, 10);
747 AliMatrix(idrotm[1811], -90., 0., 90., 90., 0., 0.);
748 AliMatrix(idrotm[1812], 0., 0., 90., 90., 90., 0.);
749 AliMatrix(idrotm[1813], 180., 0., 90., 90., 90., 0.);
750 AliMatrix(idrotm[1814], 0., 180., 90., 270., 90., 0.);
751 AliMatrix(idrotm[1815], 180., 180., 90., 270., 90., 0.);
753 gMC->Gspos("DCH1", 1, "DCML", 23.25, -13., -17.5, 0, "ONLY");
754 gMC->Gspos("DCCV", 1, "DCM0", 12., 19., -159., 0, "ONLY");
755 gMC->Gspos("DCCV", 2, "DCM0", -12., 19., -159., 0, "ONLY");
756 gMC->Gspos("DCCV", 3, "DCML", 23.25, 20.5, 141.5, 0, "ONLY");
758 gMC->Gspos("DCML", 1, "DCM0", -33.25, -2.5, 17.5, 0, "ONLY");
759 gMC->Gspos("DCML", 2, "DCM0", 33.25, -2.5, 17.5, idrotm[1811], "ONLY");
762 gMC->Gspos("DCH2", 1, "DCMU", 2., 6.5, 0., 0, "ONLY");
763 gMC->Gspos("DCMU", 1, "DCM0", -12., 45., 0., 0, "ONLY");
764 gMC->Gspos("DCMU", 2, "DCM0", 12., 45., 0., idrotm[1811], "ONLY");
766 // gMC->Gspos("DCC2", 1, "DCC1", 0., 0., 0., 0, "ONLY");
768 gMC->Gspos("DCC1", 1, "DCM0", -12., 27.5, 135., idrotm[1812], "ONLY");
769 gMC->Gspos("DCC1", 2, "DCM0", 12., 27.5, 135., idrotm[1812], "ONLY");
770 gMC->Gspos("DCC1", 3, "DCM0", -12., 27.5, -135., idrotm[1813], "ONLY");
771 gMC->Gspos("DCC1", 4, "DCM0", 12., 27.5, -135., idrotm[1813], "ONLY");
773 gMC->Gspos("DCC1", 5, "DCM0", 12., 27.5-32.+13., -135., idrotm[1815], "ONLY");
774 gMC->Gspos("DCC1", 6, "DCM0", -12., 27.5-32.+13., -135., idrotm[1815], "ONLY");
776 gMC->Gspos("DCC1", 7, "DCML", 23.25, -13+13.+11., 117.5, idrotm[1814], "ONLY");
778 gMC->Gspos("DCLA", 1, "DCM0", 20., 27.5, -134., 0, "ONLY");
779 gMC->Gspos("DCLA", 2, "DCM0", 20., 27.5, -44., 0, "ONLY");
780 gMC->Gspos("DCLA", 3, "DCM0", 20., 27.5, 46., 0, "ONLY");
781 gMC->Gspos("DCLA", 4, "DCM0", 20., 27.5, 134., 0, "ONLY");
783 gMC->Gspos("DCLA", 5, "DCM0", -20., 27.5, -134., idrotm[1811], "ONLY");
784 gMC->Gspos("DCLA", 6, "DCM0", -20., 27.5, -44., idrotm[1811], "ONLY");
785 gMC->Gspos("DCLA", 7, "DCM0", -20., 27.5, 46., idrotm[1811], "ONLY");
786 gMC->Gspos("DCLA", 8, "DCM0", -20., 27.5, 134., idrotm[1811], "ONLY");
789 gMC->Gspos("DCBA", 1, "DCM0", 0., -47.5 , 17.5, 0, "ONLY");
790 gMC->Gspos("DCM0", 1, "ALIC", 0., -6.75, -975., 0, "ONLY");
795 //_____________________________________________________________________________
796 void AliDIPOv2::DrawModule()
799 // Draw a shaded view of the muon absorber
802 AliMC* gMC = AliMC::GetMC();
804 // Set everything unseen
805 gMC->Gsatt("*", "seen", -1);
807 // Set ALIC mother transparent
808 gMC->Gsatt("ALIC","SEEN",0);
810 // Set the volumes visible
811 gMC->Gsatt("DDIP","seen",0);
812 gMC->Gsatt("DC1 ","seen",1);
813 gMC->Gsatt("DC2 ","seen",1);
814 gMC->Gsatt("DC3 ","seen",1);
815 gMC->Gsatt("DC4 ","seen",1);
816 gMC->Gsatt("DC11","seen",1);
817 gMC->Gsatt("DC21","seen",1);
818 gMC->Gsatt("DC12","seen",1);
819 gMC->Gsatt("DC22","seen",1);
820 gMC->Gsatt("DL1 ","seen",1);
821 gMC->Gsatt("DL2 ","seen",1);
822 gMC->Gsatt("DY1 ","seen",1);
823 gMC->Gsatt("DY2 ","seen",1);
824 gMC->Gsatt("DYL ","seen",1);
825 gMC->Gsatt("DY3 ","seen",1);
826 // gMC->Gsatt("DY4 ","seen",1);
827 // gMC->Gsatt("DY5 ","seen",1);
828 // gMC->Gsatt("DY6 ","seen",1);
829 // gMC->Gsatt("DY7 ","seen",1);
831 gMC->Gdopt("hide", "on");
832 gMC->Gdopt("shad", "on");
833 gMC->Gsatt("*", "fill", 7);
834 gMC->SetClipBox(".");
835 gMC->SetClipBox(".");
837 gMC->Gdraw("alic", 30, 30, 0, 17, 13.5, .019, .019);
838 gMC->Gdhead(1111, "Magnetic Dipole Version 2");
839 gMC->Gdman(16, 4, "MAN");
845 //_____________________________________________________________________________
846 void AliDIPOv2::CreateMaterials()
849 // Create Materials for Magnetic Dipole version 2
852 Int_t isxfld = gAlice->Field()->Integ();
853 Float_t sxmgmx = gAlice->Field()->Max();
855 Float_t asteel[4] = { 55.847,51.9961,58.6934,28.0855 };
856 Float_t zsteel[4] = { 26.,24.,28.,14. };
857 Float_t wsteel[4] = { .715,.18,.1,.005 };
859 Float_t acoil[3] = { 26.98,1.01,16. };
860 Float_t zcoil[3] = { 13.,1.,8. };
861 Float_t wcoil[3] = { .66,.226,.114 };
863 Float_t aresi[3] = { 1.01,12.011,16.};
864 Float_t zresi[3] = { 1.,6.,8. };
865 Float_t wresi[3] = { .0644,.7655,.1701 };
867 Float_t aG10[5] = { 1.01,12.011,16.,28.085 ,79.904 };
868 Float_t zG10[5] = { 1.,6.,8.,14.,35. };
869 Float_t wG10[5] = { .02089,.22338,.28493,.41342,.05738 };
871 Float_t aAlCon[2] = { 14.61, 26.98};
872 Float_t zAlCon[2] = { 7.3, 13.};
873 Float_t wAlCon[2] = { .0004,.9996};
876 Float_t epsil, stmin, deemax, tmaxfd, stemax;
878 // --- Define the various materials for GEANT ---
880 AliMaterial( 9, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2);
881 AliMaterial(29, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2);
882 AliMaterial(49, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2);
885 AliMaterial(10, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1);
886 AliMaterial(30, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1);
887 AliMaterial(50, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1);
889 AliMaterial(17, "COPPER$ ", 63.55, 29., 8.96, 1.43, 15.1);
890 AliMaterial(37, "COPPER$ ", 63.55, 29., 8.96, 1.43, 15.1);
891 AliMaterial(57, "COPPER$ ", 63.55, 29., 8.96, 1.43, 15.1);
893 AliMaterial(15, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500);
894 AliMaterial(35, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500);
895 AliMaterial(55, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500);
898 AliMaterial(16, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
899 AliMaterial(36, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
900 AliMaterial(56, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
903 AliMixture(19, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
904 AliMixture(39, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
905 AliMixture(59, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
908 AliMixture(14, "Al$", acoil, zcoil, 2.122, 3, wcoil);
909 AliMixture(34, "Al$", acoil, zcoil, 2.122, 3, wcoil);
910 AliMixture(54, "Al$", acoil, zcoil, 2.122, 3, wcoil);
913 AliMixture(13, "RESIN$", aresi, zresi, 1.05, 3, wresi);
914 AliMixture(33, "RESIN$", aresi, zresi, 1.05, 3, wresi);
915 AliMixture(53, "RESIN$", aresi, zresi, 1.05, 3, wresi);
918 AliMixture(11, "G10$", aG10, zG10, 1.7, 5, wG10);
919 AliMixture(31, "G10$", aG10, zG10, 1.7, 5, wG10);
920 AliMixture(51, "G10$", aG10, zG10, 1.7, 5, wG10);
922 //Aluminium Conductor
923 AliMixture(12, "AlCond$", aAlCon, zAlCon, 1.3506, 2, wAlCon);
924 AliMixture(32, "AlCond$", aAlCon, zAlCon, 1.3506, 2, wAlCon);
925 AliMixture(52, "AlCond$", aAlCon, zAlCon, 1.3506, 2, wAlCon);
928 // Defines tracking media parameters.
929 // Les valeurs sont commentees pour laisser le defaut
930 // a GEANT (version 3-21, page CONS200), f.m.
931 epsil = .001; // Tracking precision,
932 stemax = -1.; // Maximum displacement for multiple scat
933 tmaxfd = -20.; // Maximum angle due to field deflection
934 deemax = -.3; // Maximum fractional energy loss, DLS
939 AliMedium(9, "ALU_C0 ", 9, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
940 AliMedium(29, "ALU_C1 ", 29, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
941 AliMedium(49, "ALU_C2 ", 49, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
944 AliMedium(10, "FE_C0 ", 10, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
945 AliMedium(30, "FE_C1 ", 30, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
946 AliMedium(50, "FE_C2 ", 50, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
949 AliMedium(15, "AIR_C0 ", 15, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
950 AliMedium(35, "AIR_C1 ", 35, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
951 AliMedium(55, "AIR_C2 ", 55, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
954 AliMedium(16, "VA_C0 ", 16, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
955 AliMedium(36, "VA_C1 ", 36, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
956 AliMedium(56, "VA_C2 ", 56, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
959 AliMedium(19, "ST_C0 ", 19, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
960 AliMedium(39, "ST_C1 ", 39, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
961 AliMedium(59, "ST_C3 ", 59, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
964 AliMedium(14, "Coil_C1 ", 14, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
965 AliMedium(34, "Coil_C2 ", 34, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
966 AliMedium(54, "Coil_C3 ", 54, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
969 AliMedium(13, "RESIN_C0 ", 13, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
970 AliMedium(33, "RESIN_C1 ", 33, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
971 AliMedium(53, "RESIN_C2 ", 53, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
974 AliMedium(11, "G10_C0 ", 11, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
975 AliMedium(31, "G10_C1 ", 31, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
976 AliMedium(51, "G10_C2 ", 51, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
978 //Aluminium Contactor
979 AliMedium(12, "AlCond_C0 ", 12, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
980 AliMedium(32, "AlCond_C1 ", 32, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
981 AliMedium(52, "AlCond_C2 ", 52, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
985 AliMedium(17, "Cu_C0 ", 17, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
986 AliMedium(37, "Cu_C1 ", 37, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
987 AliMedium(57, "Cu_C2 ", 57, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);