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