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