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