Line data Source code
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 : /* $Id$ */
17 :
18 : ///////////////////////////////////////////////////////////////////////////////
19 : // //
20 : // Magnetic Dipole version 1 //
21 : // //
22 : //Begin_Html
23 : /*
24 : <img src="picts/AliDIPOv2Class.gif">
25 : </pre>
26 : <br clear=left>
27 : <font size=+2 color=red>
28 : <p>The responsible person for this module is
29 : <a href="mailto:andreas.morsch@cern.ch">Andreas Morsch</a>.
30 : </font>
31 : <pre>
32 : */
33 : //End_Html
34 : // //
35 : // //
36 :
37 : #include <TGeoManager.h>
38 : #include <TGeoGlobalMagField.h>
39 : #include <TGeoVolume.h>
40 : #include <TVirtualMC.h>
41 : #include <TArrayI.h>
42 :
43 : #include "AliConst.h"
44 : #include "AliDIPOv2.h"
45 : #include "AliMagF.h"
46 : #include "AliRun.h"
47 :
48 12 : ClassImp(AliDIPOv2)
49 :
50 : //_____________________________________________________________________________
51 12 : AliDIPOv2::AliDIPOv2()
52 36 : {
53 : //
54 : // Last design of magnetic dipole version 2
55 : //
56 12 : }
57 :
58 : //_____________________________________________________________________________
59 : AliDIPOv2::AliDIPOv2(const char *name, const char *title)
60 1 : : AliDIPO(name,title)
61 3 : {
62 : //
63 : // Standard constructor for the magnetic dipole version 2
64 1 : }
65 :
66 : void AliDIPOv2::CreateGeometry()
67 : {
68 : //
69 : // Creation of the geometry of the magnetic DIPOLE version 2
70 : //
71 :
72 2 : CreateSpectrometerDipole();
73 1 : CreateCompensatorDipole();
74 1 : }
75 :
76 :
77 : //_____________________________________________________________________________
78 : void AliDIPOv2::CreateSpectrometerDipole()
79 : {
80 : //
81 : // Creation of the geometry of the magnetic DIPOLE version 2
82 : //
83 :
84 0 : Float_t cpar[5], tpar[18], ypar[12];
85 : Float_t dz, dx, dy;
86 0 : Int_t idrotm[1899];
87 : Float_t accMax, the1, phi1, the2, phi2, the3, phi3;
88 :
89 0 : Int_t *idtmed = fIdtmed->GetArray()-1799;
90 :
91 : // const Int_t kCoil = 1813;
92 : // const Int_t kCable= 1811;
93 :
94 : const Int_t kCoil = 1808;
95 : const Int_t kCable= 1808;
96 :
97 : accMax = 9.; // ANGLE POLAIRE MAXIMUM
98 :
99 : // DIPOLE MAGNET
100 : const Float_t kZDipole = 975;
101 :
102 0 : tpar[ 0] = 0.;
103 0 : tpar[ 1] = 360.;
104 0 : tpar[ 2] = 4.;
105 : //
106 0 : tpar[ 3] = -250.55 + kZDipole;
107 0 : tpar[ 4] = 30.1;
108 0 : tpar[ 5] = 527.34;
109 : //
110 0 : tpar[ 6] = 37. + kZDipole;
111 0 : tpar[ 7] = 30.1;
112 0 : tpar[ 8] = 527.34;
113 : //
114 0 : tpar[ 9] = 37. + kZDipole;
115 0 : tpar[10] = tpar[ 9] * TMath::Tan(2. * TMath::Pi() / 180.);
116 0 : tpar[11] = 527.34;
117 : //
118 0 : tpar[12] = 260.55 + kZDipole;
119 0 : tpar[13] = tpar[12] * TMath::Tan(2. * TMath::Pi() / 180.);
120 0 : tpar[14] = 527.34;
121 0 : TVirtualMC::GetMC()->Gsvolu("DDIP", "PCON", idtmed[1874], tpar, 15);
122 : //
123 : // Coils
124 : // air - m.f.
125 0 : cpar[0] = 207.;
126 0 : cpar[1] = 274.;
127 0 : cpar[2] = 37.65;
128 0 : cpar[3] = 119.;
129 0 : cpar[4] = 241.;
130 : // coil - high cuts
131 0 : TVirtualMC::GetMC()->Gsvolu("DC1 ", "TUBS", idtmed[kCoil+40], cpar, 5);
132 0 : cpar[3] = -61.;
133 0 : cpar[4] = 61.;
134 0 : TVirtualMC::GetMC()->Gsvolu("DC2 ", "TUBS", idtmed[kCoil+40], cpar, 5);
135 :
136 : // coil - low cuts cuts
137 0 : cpar[0] = 207.;
138 : // cpar[1] = cpar[0] + 10.;
139 0 : cpar[1] = 217;
140 0 : cpar[3] = 119.;
141 0 : cpar[4] = 241.;
142 :
143 0 : TVirtualMC::GetMC()->Gsvolu("DC3 ", "TUBS", idtmed[kCoil], cpar, 5);
144 0 : cpar[0] = 207.;
145 0 : cpar[1] = 217;
146 0 : cpar[3] = -61.;
147 0 : cpar[4] = 61.;
148 0 : TVirtualMC::GetMC()->Gsvolu("DC4 ", "TUBS", idtmed[kCoil], cpar, 5);
149 :
150 0 : TVirtualMC::GetMC()->Gspos("DC3 ", 1, "DC1 ", 0., 0., 0., 0, "ONLY");
151 0 : TVirtualMC::GetMC()->Gspos("DC4 ", 1, "DC2 ", 0., 0., 0., 0, "ONLY");
152 :
153 : // dz = 37.65 - 243.55
154 : dz = -205.9-2.45;
155 : dx = 5.;
156 0 : TVirtualMC::GetMC()->Gspos("DC1 ", 1, "DDIP", dx, 0., dz+kZDipole, 0, "ONLY");
157 0 : TVirtualMC::GetMC()->Gspos("DC1 ", 2, "DDIP", dx, 0., -dz+kZDipole, 0, "ONLY");
158 0 : TVirtualMC::GetMC()->Gspos("DC2 ", 1, "DDIP", -dx, 0., dz+kZDipole, 0, "ONLY");
159 0 : TVirtualMC::GetMC()->Gspos("DC2 ", 2, "DDIP", -dx, 0., -dz+kZDipole, 0, "ONLY");
160 : the1 = 180.;
161 : phi1 = 0.;
162 : the2 = 90.;
163 : phi2 = 151.;
164 : the3 = 90.;
165 : phi3 = 61.;
166 0 : AliMatrix(idrotm[1800], the1, phi1, the2, phi2, the3, phi3);
167 : phi2 = 29.; //90-61
168 : the3 = -90.;
169 : phi3 = -61.;
170 0 : AliMatrix(idrotm[1801], the1, phi1, the2, phi2, the3, phi3);
171 : the1 = 0.;
172 : phi1 = 0.;
173 : the2 = 90.;
174 : phi2 = 151.;
175 : the3 = 90.;
176 : phi3 = 61.;
177 0 : AliMatrix(idrotm[1802], the1, phi1, the2, phi2, the3, phi3);
178 : phi2 = 29.;
179 : the3 = -90.;
180 : phi3 = -61.;
181 0 : AliMatrix(idrotm[1803], the1, phi1, the2, phi2, the3, phi3);
182 :
183 0 : cpar[0] = 25.;
184 0 : cpar[1] = 100.3; //25+75.3
185 0 : cpar[2] = 33.5;
186 0 : cpar[3] = 270.;
187 0 : cpar[4] = 360.;
188 : //* coil high cuts
189 0 : TVirtualMC::GetMC()->Gsvolu("DC11", "TUBS", idtmed[kCoil+40], cpar, 5);
190 :
191 0 : dx = TMath::Sin(30.5*kDegrad) * -(207.+33.5)+5./TMath::Sin(30.5*kDegrad);
192 0 : dy = TMath::Cos(30.5*kDegrad) * -(207.+33.5);
193 0 : dz = cpar[1] - 243.55-2.45;
194 0 : TVirtualMC::GetMC()->Gspos("DC11", 1, "DDIP", dx, dy, dz+kZDipole, idrotm[1800], "ONLY");
195 0 : TVirtualMC::GetMC()->Gspos("DC11", 2, "DDIP", dx, dy, -dz+kZDipole, idrotm[1802], "ONLY");
196 0 : TVirtualMC::GetMC()->Gspos("DC11", 3, "DDIP", -dx, dy, dz+kZDipole, idrotm[1801], "ONLY");
197 0 : TVirtualMC::GetMC()->Gspos("DC11", 4, "DDIP", -dx, dy, -dz+kZDipole, idrotm[1803], "ONLY");
198 :
199 :
200 :
201 : //* ... higher cuts
202 0 : cpar[0] = 25.;
203 0 : cpar[1] = 100.3; //25+75.3
204 0 : cpar[2] = 33.5;
205 0 : cpar[3] = 0.;
206 0 : cpar[4] = 90.;
207 : //* coil high cuts
208 0 : TVirtualMC::GetMC()->Gsvolu("DC12", "TUBS", idtmed[kCoil+40], cpar, 5);
209 :
210 0 : dx = TMath::Sin(30.5*kDegrad) * -(207.+33.5)+5./TMath::Sin(30.5*kDegrad);
211 0 : dy = TMath::Cos(30.5*kDegrad) *(207.+33.5);
212 0 : dz = cpar[1] - 243.55-2.45;
213 0 : TVirtualMC::GetMC()->Gspos("DC12", 1, "DDIP", dx, dy, dz+kZDipole, idrotm[1801], "ONLY");
214 0 : TVirtualMC::GetMC()->Gspos("DC12", 2, "DDIP", dx, dy, -dz+kZDipole, idrotm[1803], "ONLY");
215 0 : TVirtualMC::GetMC()->Gspos("DC12", 3, "DDIP", -dx, dy, dz+kZDipole, idrotm[1800], "ONLY");
216 0 : TVirtualMC::GetMC()->Gspos("DC12", 4, "DDIP", -dx, dy, -dz+kZDipole, idrotm[1802], "ONLY");
217 :
218 : the1 = 90.;
219 : phi1 = 61.;
220 : the2 = 90.;
221 : phi2 = 151.;
222 : the3 = 0.;
223 : phi3 = 0.;
224 0 : AliMatrix(idrotm[1804], the1, phi1, the2, phi2, the3, phi3);
225 : the1 = 90.;
226 : phi1 = -61.;
227 : the2 = 90.;
228 : phi2 = -151.;
229 0 : AliMatrix(idrotm[1805], the1, phi1, the2, phi2, the3, phi3);
230 : the1 = 90.;
231 : phi1 = 119.; //180 -61
232 : the2 = 90.;
233 : phi2 = 209.; //270-61
234 0 : AliMatrix(idrotm[1806], the1, phi1, the2, phi2, the3, phi3);
235 : the1 = 90.;
236 : phi1 = -119.;
237 : the2 = 90.;
238 : phi2 = -209.;
239 0 : AliMatrix(idrotm[1807], the1, phi1, the2, phi2, the3, phi3);
240 :
241 : //* coil - high cuts
242 :
243 0 : tpar[0] = 37.65;
244 0 : tpar[1] = 33.5;
245 0 : tpar[2] = 145.5;
246 0 : TVirtualMC::GetMC()->Gsvolu("DL1 ", "BOX ", idtmed[kCoil+40], tpar, 3);
247 :
248 : // coil - low cuts
249 :
250 0 : tpar[0] = 5.;
251 : dx = 37.65 - 5.;
252 0 : TVirtualMC::GetMC()->Gsvolu("DL2 ", "BOX ", idtmed[kCoil], tpar, 3);
253 0 : TVirtualMC::GetMC()->Gspos("DL2 ", 1, "DL1 ", dx, 0., 0., 0, "ONLY");
254 :
255 : dx =-53.62;
256 : dy =-241.26819;
257 : dz = 0.;
258 0 : TVirtualMC::GetMC()->Gspos("DL1 ", 1, "DDIP", dx, dy, dz+kZDipole, idrotm[1804], "ONLY");
259 0 : TVirtualMC::GetMC()->Gspos("DL1 ", 2, "DDIP", dx, -dy, dz+kZDipole, idrotm[1805], "ONLY");
260 0 : TVirtualMC::GetMC()->Gspos("DL1 ", 3, "DDIP",-dx, dy, dz+kZDipole, idrotm[1806], "ONLY");
261 0 : TVirtualMC::GetMC()->Gspos("DL1 ", 4, "DDIP",-dx, -dy, dz+kZDipole, idrotm[1807], "ONLY");
262 :
263 : // Contactor
264 :
265 : // high cuts
266 :
267 : //Steel outer face planes
268 :
269 0 : cpar[0] = 207.-18.6;
270 0 : cpar[1] = 274.+18.6;
271 0 : cpar[2] = 1.;
272 0 : cpar[3] = -50.;
273 0 : cpar[4] = 50.;
274 :
275 0 : TVirtualMC::GetMC()->Gsvolu("DCO1", "TUBS", idtmed[1818], cpar, 5);
276 : dx = -5.;
277 : dz = 168.25-1.5-1.;
278 0 : TVirtualMC::GetMC()->Gspos("DCO1", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
279 : dz = 243.55+4.5+1.5+1.;
280 0 : TVirtualMC::GetMC()->Gspos("DCO1", 2, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
281 :
282 : // 9.06.2000
283 :
284 : // cpar[0] = 207.-18.6;
285 : // cpar[1] = 274.+18.6;
286 : // cpar[2] = 1.;
287 0 : cpar[3] = 180.-50.;
288 0 : cpar[4] = 180.+50.;
289 :
290 0 : TVirtualMC::GetMC()->Gsvolu("DCO2", "TUBS", idtmed[1818], cpar, 5);
291 : dx = +5.;
292 : dz = 168.25-1.5-1.;
293 0 : TVirtualMC::GetMC()->Gspos("DCO2", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
294 : dz = 243.55+4.5+1.5+1.;
295 0 : TVirtualMC::GetMC()->Gspos("DCO2", 2, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
296 :
297 :
298 :
299 : // Resin face planes
300 :
301 0 : cpar[0] = 207.;
302 0 : cpar[1] = 274.;
303 0 : cpar[2] = .75;
304 0 : cpar[3] = -50.;
305 0 : cpar[4] = 50.;
306 :
307 0 : TVirtualMC::GetMC()->Gsvolu("DCO3", "TUBS", idtmed[1812], cpar, 5);
308 : dx = -5;
309 : dz = 168.25-0.75;
310 0 : TVirtualMC::GetMC()->Gspos("DCO3", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
311 : dz = 243.55+4.5+0.75;
312 0 : TVirtualMC::GetMC()->Gspos("DCO3", 2, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
313 :
314 : // 9.06.2000
315 :
316 0 : cpar[3] = 180.-50.;
317 0 : cpar[4] = 180.+50.;
318 0 : TVirtualMC::GetMC()->Gsvolu("DCO4", "TUBS", idtmed[1812], cpar, 5);
319 : dx = +5;
320 : dz = 168.25-0.75;
321 0 : TVirtualMC::GetMC()->Gspos("DCO4", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
322 : dz = 243.55+4.5+0.75 ;
323 0 : TVirtualMC::GetMC()->Gspos("DCO4", 2, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
324 :
325 :
326 : // G10 face plane
327 :
328 0 : cpar[0] = 207.;
329 0 : cpar[1] = 274.;
330 0 : cpar[2] = 2.25;
331 0 : cpar[3] = -50.;
332 0 : cpar[4] = 50.;
333 :
334 0 : TVirtualMC::GetMC()->Gsvolu("DCO5", "TUBS", idtmed[1810], cpar, 5);
335 :
336 : dx = -5;
337 : dz = 243.55+2.25;
338 0 : TVirtualMC::GetMC()->Gspos("DCO5", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
339 :
340 : // 9.06.2000
341 :
342 0 : cpar[3] = 180.-50.;
343 0 : cpar[4] = 180.+50.;
344 :
345 0 : TVirtualMC::GetMC()->Gsvolu("DCO6", "TUBS", idtmed[1810], cpar, 5);
346 :
347 : dx = +5;
348 : dz = 243.55+2.25;
349 0 : TVirtualMC::GetMC()->Gspos("DCO6", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
350 :
351 : //Steel supported planes
352 :
353 0 : cpar[0] = 274.+1.5+2.;
354 0 : cpar[1] = 274.+18.6;
355 0 : cpar[2] = 1.;
356 0 : cpar[3] = -50.;
357 0 : cpar[4] = 50.;
358 :
359 0 : TVirtualMC::GetMC()->Gsvolu("DCO7", "TUBS", idtmed[1818], cpar, 5);
360 :
361 : dx = -5;
362 : dz = 168.25+1.;
363 0 : TVirtualMC::GetMC()->Gspos("DCO7", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
364 :
365 : // 9.06.2000
366 0 : cpar[0] = 274.+1.5+2.;
367 0 : cpar[1] = 274.+18.6;
368 0 : cpar[2] = 1.;
369 0 : cpar[3] = 180.-50.;
370 0 : cpar[4] = 180.+50.;
371 :
372 :
373 0 : TVirtualMC::GetMC()->Gsvolu("DCO8", "TUBS", idtmed[1818], cpar, 5);
374 :
375 : dx = +5;
376 : dz = 168.25+1.;
377 0 : TVirtualMC::GetMC()->Gspos("DCO8", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
378 :
379 : //
380 :
381 0 : cpar[0] = 207.- 18.6;
382 0 : cpar[1] = 207.- 2.- 1.5;
383 0 : cpar[2] = 1.;
384 0 : cpar[3] = -50.;
385 0 : cpar[4] = 50.;
386 :
387 0 : TVirtualMC::GetMC()->Gsvolu("DCO9", "TUBS", idtmed[1818], cpar, 5);
388 :
389 : dx = -5;
390 : dz = 168.25+1.;
391 0 : TVirtualMC::GetMC()->Gspos("DCO9", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
392 :
393 : // 9.06.2000
394 :
395 0 : cpar[0] = 207.- 18.6;
396 0 : cpar[1] = 207.- 2.- 1.5;
397 0 : cpar[2] = 1.;
398 0 : cpar[3] = 180.-50.;
399 0 : cpar[4] = 180.+50.;
400 :
401 0 : TVirtualMC::GetMC()->Gsvolu("DCOA", "TUBS", idtmed[1818], cpar, 5);
402 :
403 : dx = +5;
404 : dz = 168.25+1.;
405 0 : TVirtualMC::GetMC()->Gspos("DCOA", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
406 :
407 :
408 : // Sides steel planes
409 :
410 0 : cpar[0] = 207. - 1.5 -2.;
411 0 : cpar[1] = 207. - 1.5;
412 0 : cpar[2] = ((243.55+4.5+1.5)-168.25)/2;
413 0 : cpar[3] = -50.;
414 0 : cpar[4] = 50.;
415 :
416 0 : TVirtualMC::GetMC()->Gsvolu("DCOB", "TUBS", idtmed[1818], cpar, 5);
417 :
418 0 : cpar[0] = 274. + 1.5;
419 0 : cpar[1] = 274. + 1.5 +2.;
420 :
421 0 : TVirtualMC::GetMC()->Gsvolu("DCOC", "TUBS", idtmed[1818], cpar, 5);
422 :
423 : dx=-5.;
424 : dz = ((243.55+4.5+1.5)+168.25)/2;
425 0 : TVirtualMC::GetMC()->Gspos("DCOB", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
426 0 : TVirtualMC::GetMC()->Gspos("DCOC", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
427 :
428 : // 9.06.2000
429 :
430 0 : cpar[0] = 207. - 1.5 -2.;
431 0 : cpar[1] = 207. - 1.5;
432 0 : cpar[2] = ((243.55+4.5+1.5)-168.25)/2;
433 0 : cpar[3] = 180.-50.;
434 0 : cpar[4] = 180.+50.;
435 :
436 0 : TVirtualMC::GetMC()->Gsvolu("DCOD", "TUBS", idtmed[1818], cpar, 5);
437 :
438 0 : cpar[0] = 274. + 1.5;
439 0 : cpar[1] = 274. + 1.5 +2.;
440 :
441 0 : TVirtualMC::GetMC()->Gsvolu("DCOE", "TUBS", idtmed[1818], cpar, 5);
442 :
443 : dx=+5.;
444 : dz = ((243.55+4.5+1.5)+168.25)/2;
445 0 : TVirtualMC::GetMC()->Gspos("DCOD", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
446 0 : TVirtualMC::GetMC()->Gspos("DCOE", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
447 :
448 :
449 : // Top and bottom resin planes
450 :
451 0 : cpar[0] = 207. - 1.5;
452 0 : cpar[1] = 207.;
453 0 : cpar[2] = ((243.55+4.5+1.5)-168.25)/2;
454 0 : cpar[3] = -50.;
455 0 : cpar[4] = 50.;
456 :
457 0 : TVirtualMC::GetMC()->Gsvolu("DCOF", "TUBS", idtmed[1812], cpar, 5);
458 :
459 0 : cpar[0] = 274.;
460 0 : cpar[1] = 274. + 1.5;
461 :
462 0 : TVirtualMC::GetMC()->Gsvolu("DCOG", "TUBS", idtmed[1812], cpar, 5);
463 :
464 :
465 : dx=-5.;
466 : dz = ((243.55+4.5+1.5)+168.25)/2;
467 0 : TVirtualMC::GetMC()->Gspos("DCOF", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
468 0 : TVirtualMC::GetMC()->Gspos("DCOG", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
469 :
470 : // 9.06.2000
471 0 : cpar[0] = 207. - 1.5;
472 0 : cpar[1] = 207.;
473 0 : cpar[2] = ((243.55+4.5+1.5)-168.25)/2;
474 :
475 0 : cpar[3] = 180.-50.;
476 0 : cpar[4] = 180.+50.;
477 :
478 0 : TVirtualMC::GetMC()->Gsvolu("DCOH", "TUBS", idtmed[1812], cpar, 5);
479 :
480 0 : cpar[0] = 274.;
481 0 : cpar[1] = 274. + 1.5;
482 :
483 0 : TVirtualMC::GetMC()->Gsvolu("DCOI", "TUBS", idtmed[1812], cpar, 5);
484 :
485 :
486 : dx=+5.;
487 : dz = ((243.55+4.5+1.5)+168.25)/2;
488 0 : TVirtualMC::GetMC()->Gspos("DCOH", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
489 0 : TVirtualMC::GetMC()->Gspos("DCOI", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
490 :
491 :
492 : // Aluminum cabels
493 :
494 0 : cpar[0] = 274. + 1.5 +2.;
495 0 : cpar[1] = 274. + 1.5 +2. + 80.;
496 0 : cpar[2] = 5.05/2;
497 0 : cpar[3] = -24.;
498 0 : cpar[4] = 24.;
499 :
500 0 : TVirtualMC::GetMC()->Gsvolu("DCOJ", "TUBS", idtmed[kCable], cpar, 5);
501 :
502 : // dx = 274. + 1.5 +2. +40.;
503 : // dx = 5. + 1.5 +2. +40.;
504 : // dx = 5. + 1.5 +2.;
505 : dx=-5.;
506 : dz = 168.25 + 5.05 + 5.05/2;
507 0 : TVirtualMC::GetMC()->Gspos("DCOJ", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
508 :
509 : dz = 243.55 - 5.05/2;
510 0 : TVirtualMC::GetMC()->Gspos("DCOJ", 2, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
511 :
512 : // 9.06.2000
513 :
514 0 : cpar[3] = 180.-24.;
515 0 : cpar[4] = 180.+24.;
516 :
517 0 : TVirtualMC::GetMC()->Gsvolu("DCOK", "TUBS", idtmed[kCable], cpar, 5);
518 :
519 : // dx = 274. + 1.5 +2. +40.;
520 : // dx = 5. + 1.5 +2. +40.;
521 : // dx = 5. + 1.5 +2.;
522 : dx=+5.;
523 : dz = 168.25 + 5.05 + 5.05/2;
524 0 : TVirtualMC::GetMC()->Gspos("DCOK", 1, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
525 :
526 : dz = 243.55 - 5.05/2;
527 0 : TVirtualMC::GetMC()->Gspos("DCOK", 2, "DDIP", dx, 0, dz+kZDipole, 0, "ONLY");
528 :
529 :
530 : // YOKE
531 :
532 : // Top and bottom blocks
533 0 : ypar[0] = 298.1;
534 0 : ypar[1] = 69.5;
535 0 : ypar[2] = 155.75;
536 :
537 : // iron- high cuts
538 0 : TVirtualMC::GetMC()->Gsvolu("DY1 ", "BOX ", idtmed[1858], ypar, 3);
539 0 : ypar[0] = 144.+10.;
540 0 : ypar[1] = 193.3+10.;
541 0 : ypar[2] = 5.;
542 0 : ypar[3] = 155.75;
543 : dy = -69.5 + 5.;
544 : // iron- low cuts
545 0 : TVirtualMC::GetMC()->Gsvolu("DY11", "TRD1", idtmed[1818], ypar, 4);
546 0 : TVirtualMC::GetMC()->Gspos("DY11", 1, "DY1 ", 0., dy, 0., 0, "ONLY");
547 :
548 : dy = 365.5;
549 : dz = 4.95;
550 0 : TVirtualMC::GetMC()->Gspos("DY1 ", 1, "DDIP", 0., dy, -dz+kZDipole, 0, "ONLY");
551 :
552 : the1 = 270.;
553 : phi1 = 0.;
554 : the2 = 270.;
555 : phi2 = 90.;
556 : the3 = 0.;
557 : phi3 = 0.;
558 0 : AliMatrix(idrotm[1808], the1, phi1, the2, phi2, the3, phi3);
559 0 : TVirtualMC::GetMC()->Gspos("DY1 ", 2, "DDIP", 0., -dy, -dz+kZDipole, idrotm[1808] , "ONLY");
560 :
561 : // side walls
562 : // ypar[0] = 579./2.;
563 0 : ypar[0] = 296.;
564 0 : ypar[1] = 0.;
565 0 : ypar[2] = 0.;
566 0 : ypar[3] = 155.75;
567 0 : ypar[4] = 47.9;
568 0 : ypar[5] = 72.55;
569 0 : ypar[6] = 4.3058039629;
570 : // z+
571 0 : ypar[7] = 155.75;
572 0 : ypar[8] = 47.9;
573 0 : ypar[9] = 72.55;
574 0 : ypar[10] = 4.3058039629;
575 :
576 : // iron - high cuts
577 :
578 0 : TVirtualMC::GetMC()->Gsvolu("DY2 ", "TRAP", idtmed[1858], ypar,11);
579 :
580 0 : ypar[4] = 47.9 -5.;
581 0 : ypar[5] = 72.55 -5.;
582 :
583 0 : ypar[8] = 47.9 -5.;
584 0 : ypar[9] = 72.55 -5.;
585 :
586 :
587 : // iron - low cuts
588 :
589 0 : TVirtualMC::GetMC()->Gsvolu("DY22", "TRAP", idtmed[1818], ypar,11);
590 :
591 : dy = 0.;
592 : dx = -5.;
593 :
594 0 : TVirtualMC::GetMC()->Gspos("DY22", 1, "DY2 ", dx, dy, 0., 0, "ONLY");
595 :
596 : the1 = 90.;
597 : phi1 = 180.;
598 : the2 = 180.;
599 : phi2 = 180.;
600 : the3 = 90.;
601 : phi3 = 90.;
602 0 : AliMatrix(idrotm[1809], the1, phi1, the2, phi2, the3, phi3);
603 :
604 : the1 = 90.;
605 : phi1 = 0.;
606 : the2 = 180.;
607 : phi2 = 0.;
608 : the3 = 90.;
609 : phi3 = 90.;
610 0 : AliMatrix(idrotm[1810], the1, phi1, the2, phi2, the3, phi3);
611 :
612 : dx = 228.875;
613 : dz = - 4.95;
614 :
615 0 : TVirtualMC::GetMC()->Gspos("DY2 ", 1, "DDIP", dx, 0.0, dz+kZDipole, idrotm[1809], "ONLY");
616 0 : TVirtualMC::GetMC()->Gspos("DY2 ", 2, "DDIP", -dx, 0.0, dz+kZDipole, idrotm[1810], "ONLY");
617 :
618 0 : AliMatrix(idrotm[1811], 270., 0., 90., 90., 180., 0.);
619 0 : TVirtualMC::GetMC()->Gspos("DDIP", 1, "ALIC", 0., 0., 0., idrotm[1811], "ONLY");
620 0 : gGeoManager->SetVolumeAttribute("DDIP", "SEEN", 0);
621 0 : }
622 :
623 :
624 : void AliDIPOv2::CreateCompensatorDipole()
625 : {
626 : //
627 : // Geometry of the compensator Dipole MBWMD (was MCB @ SPS)
628 : // LAB I/EA Note 74.10
629 : // 6/5/1974
630 : //
631 : const Float_t kHCoil = 22.; // Coil Height
632 : const Float_t kWCoil = 12.; // Coil Width
633 : const Float_t kLCoilH = 250.; // Hor. Coil Length
634 : const Float_t kRCoilC = 31.; // Circ Coil Radius
635 : const Float_t kWBase = 125.; // Base Width
636 : const Float_t kHBase = 30.; // Base Height
637 :
638 : const Float_t kWUYoke = 16.;
639 : const Float_t kHUYoke = 31.;
640 :
641 : const Float_t kWLYoke = 50.0;
642 : const Float_t kHLYoke = 61.0;
643 : const Float_t kLLYoke = kLCoilH + kRCoilC;
644 :
645 : const Float_t kWApperture = 12.;
646 : const Float_t kDCoil = kHUYoke + kHLYoke - 6. - 2. * kRCoilC;
647 :
648 : const Float_t kH = kHBase + kHUYoke + kHLYoke;
649 :
650 2 : Int_t *idtmed = fIdtmed->GetArray()-1799;
651 1 : Int_t idrotm[1899];
652 : //
653 1 : Float_t pbox[3];
654 : // Mother volumes
655 1 : TGeoVolumeAssembly* asDCM0 = new TGeoVolumeAssembly("DCM0");
656 1 : asDCM0->SetName("DCM0");
657 :
658 : //
659 : // Mother volume containing lower coil
660 1 : pbox[0] = kWLYoke / 2.;
661 1 : pbox[1] = kHLYoke / 2.;
662 1 : pbox[2] = kLLYoke / 2.;
663 :
664 1 : TVirtualMC::GetMC()->Gsvolu("DCML", "BOX", idtmed[1809 + 40], pbox, 3);
665 : //
666 : // Base
667 1 : pbox[0] = kWBase / 2.;
668 1 : pbox[1] = kHBase / 2.;
669 1 : TVirtualMC::GetMC()->Gsvolu("DCBA", "BOX", idtmed[1809 + 40], pbox, 3);
670 : //
671 : // Coil: straight sections, horizontal
672 1 : pbox[0] = kWCoil / 2.;
673 1 : pbox[1] = kHCoil / 2.;
674 1 : pbox[2] = kLCoilH / 2.;
675 1 : TVirtualMC::GetMC()->Gsvolu("DCH1", "BOX", idtmed[1816 + 40], pbox, 3);
676 : //
677 : // Coil: straight sections, horizontal
678 1 : pbox[0] = kWCoil / 2.;
679 1 : pbox[1] = kHCoil / 2.;
680 1 : pbox[2] = kLCoilH / 2.;
681 1 : TVirtualMC::GetMC()->Gsvolu("DCH2", "BOX", idtmed[1816 + 40], pbox, 3);
682 :
683 : //
684 : // Mother volume containing upper coil
685 1 : pbox[0] = kWUYoke / 2.;
686 1 : pbox[1] = kHUYoke / 2.;
687 1 : pbox[2] = kLCoilH / 2.;
688 1 : TVirtualMC::GetMC()->Gsvolu("DCMU", "BOX", idtmed[1809 + 40], pbox, 3);
689 :
690 : //
691 : // Coil: straight sections, vertical
692 1 : pbox[0] = kWCoil / 2.;
693 1 : pbox[1] = kDCoil / 2.;
694 1 : pbox[2] = kHCoil / 2.;
695 :
696 1 : TVirtualMC::GetMC()->Gsvolu("DCCV", "BOX", idtmed[1816 + 40], pbox, 3);
697 : //
698 : // Coil: circular section
699 :
700 1 : Float_t ptubs[5];
701 1 : ptubs[0] = kRCoilC - kHCoil;
702 1 : ptubs[1] = kRCoilC;
703 1 : ptubs[2] = kWCoil / 2.;
704 1 : ptubs[3] = 0.;
705 1 : ptubs[4] = 90.;
706 1 : TVirtualMC::GetMC()->Gsvolu("DCC1", "TUBS", idtmed[1816 + 40], ptubs, 5);
707 : //
708 : // Clamps
709 1 : Float_t ppgon[10];
710 1 : ppgon[0] = 0.;
711 1 : ppgon[1] = 90.;
712 1 : ppgon[2] = 1.;
713 1 : ppgon[3] = 2.;
714 1 : ppgon[4] = -1.;
715 1 : ppgon[5] = 0.;
716 1 : ppgon[6] = 24.75;
717 1 : ppgon[7] = 1.;
718 1 : ppgon[8] = 0.;
719 1 : ppgon[9] = 24.75;
720 1 : TVirtualMC::GetMC()->Gsvolu("DCLA", "PGON", idtmed[1809 + 40], ppgon, 10);
721 : //
722 : // Assemble all
723 : //
724 1 : AliMatrix(idrotm[1811], -90., 0., 90., 90., 0., 0.);
725 1 : AliMatrix(idrotm[1812], 0., 0., 90., 90., 90., 0.);
726 1 : AliMatrix(idrotm[1813], 180., 0., 90., 90., 90., 0.);
727 1 : AliMatrix(idrotm[1814], 0., 180., 90., 270., 90., 0.);
728 1 : AliMatrix(idrotm[1815], 180., 180., 90., 270., 90., 0.);
729 :
730 : Float_t dx, dy, dz;
731 : Float_t dy0 = 0.;
732 :
733 : dy0 = -kH / 2. + kHBase/2.;
734 1 : TVirtualMC::GetMC()->Gspos("DCBA", 1, "DCM0", 0., dy0, 15.0, 0, "ONLY");
735 :
736 : // Lower coil
737 : dx = ( kWLYoke - kWCoil) / 2.;
738 : dy = (-kHLYoke + kHCoil) / 2. + 6.;
739 1 : TVirtualMC::GetMC()->Gspos("DCH1", 1, "DCML", dx, dy, -kRCoilC / 2., 0, "ONLY");
740 : // Lower mother volume
741 : dx = (kWLYoke + kWApperture) / 2.;
742 : dy0 += (kHBase + kHLYoke) / 2.;
743 1 : TVirtualMC::GetMC()->Gspos("DCML", 1, "DCM0", -dx, dy0, kRCoilC / 2., 0, "ONLY");
744 1 : TVirtualMC::GetMC()->Gspos("DCML", 2, "DCM0", +dx, dy0, kRCoilC / 2., idrotm[1811], "ONLY");
745 :
746 : dx = (kWUYoke - kWCoil) / 2.;
747 : dy = (kHUYoke - kHCoil) / 2;
748 : // Upper coil
749 1 : TVirtualMC::GetMC()->Gspos("DCH2", 1, "DCMU", dx, dy, 0., 0, "ONLY");
750 : // Upper mother volume
751 : dx = (kWUYoke + kWApperture) / 2.;
752 : dy0 += (kHLYoke + kHUYoke) / 2.;
753 1 : TVirtualMC::GetMC()->Gspos("DCMU", 1, "DCM0", -dx, dy0, 0., 0, "ONLY");
754 1 : TVirtualMC::GetMC()->Gspos("DCMU", 2, "DCM0", +dx, dy0, 0., idrotm[1811], "ONLY");
755 :
756 : // Vertical coils
757 : dx = (kWCoil + kWApperture) / 2.;
758 : dy = kH / 2. - kDCoil / 2. - kRCoilC;
759 : dz = (kLCoilH - kHCoil) / 2. + kRCoilC;
760 1 : TVirtualMC::GetMC()->Gspos("DCCV", 1, "DCM0", dx, dy, -dz, 0, "ONLY");
761 1 : TVirtualMC::GetMC()->Gspos("DCCV", 2, "DCM0", -dx, dy, -dz, 0, "ONLY");
762 :
763 : dx = (kWLYoke - kWCoil) / 2.;
764 : dy = -kHLYoke / 2. + kDCoil / 2. + 6. + kRCoilC;
765 : dz = kLLYoke / 2. - kHCoil / 2.;
766 :
767 1 : TVirtualMC::GetMC()->Gspos("DCCV", 3, "DCML", dx, dy, dz, 0, "ONLY");
768 :
769 :
770 :
771 : // Circular coil
772 : dx = (kWCoil + kWApperture) / 2.;
773 : dy = dy0 + kHUYoke / 2. - kRCoilC;
774 : dz = kLCoilH / 2.;
775 1 : TVirtualMC::GetMC()->Gspos("DCC1", 1, "DCM0", -dx, dy, dz, idrotm[1812], "ONLY");
776 1 : TVirtualMC::GetMC()->Gspos("DCC1", 2, "DCM0", +dx, dy, dz, idrotm[1812], "ONLY");
777 1 : TVirtualMC::GetMC()->Gspos("DCC1", 3, "DCM0", +dx, dy, -dz, idrotm[1813], "ONLY");
778 1 : TVirtualMC::GetMC()->Gspos("DCC1", 4, "DCM0", -dx, dy, -dz, idrotm[1813], "ONLY");
779 : dy = -kH / 2. + kHBase + 6. + kRCoilC;
780 1 : TVirtualMC::GetMC()->Gspos("DCC1", 5, "DCM0", +dx, dy, -dz, idrotm[1815], "ONLY");
781 1 : TVirtualMC::GetMC()->Gspos("DCC1", 6, "DCM0", -dx, dy, -dz, idrotm[1815], "ONLY");
782 :
783 : dx = ( kWLYoke - kWCoil) / 2.;
784 : dy = -kHLYoke / 2. + 6. + kRCoilC;
785 : dz = kLLYoke / 2. - kRCoilC;
786 1 : TVirtualMC::GetMC()->Gspos("DCC1", 7, "DCML", dx, dy, dz, idrotm[1814], "ONLY");
787 :
788 : // Clamps
789 : dx = kWApperture / 2. + kWUYoke;
790 : dy = -kH / 2. + kHLYoke + kHBase;
791 :
792 :
793 1 : TVirtualMC::GetMC()->Gspos("DCLA", 1, "DCM0", dx, dy, -119., 0, "ONLY");
794 1 : TVirtualMC::GetMC()->Gspos("DCLA", 2, "DCM0", dx, dy, -44., 0, "ONLY");
795 1 : TVirtualMC::GetMC()->Gspos("DCLA", 3, "DCM0", dx, dy, 46., 0, "ONLY");
796 1 : TVirtualMC::GetMC()->Gspos("DCLA", 4, "DCM0", dx, dy, 119., 0, "ONLY");
797 :
798 1 : TVirtualMC::GetMC()->Gspos("DCLA", 5, "DCM0", -dx, dy, -119., idrotm[1811], "ONLY");
799 1 : TVirtualMC::GetMC()->Gspos("DCLA", 6, "DCM0", -dx, dy, -44., idrotm[1811], "ONLY");
800 1 : TVirtualMC::GetMC()->Gspos("DCLA", 7, "DCM0", -dx, dy, 46., idrotm[1811], "ONLY");
801 1 : TVirtualMC::GetMC()->Gspos("DCLA", 8, "DCM0", -dx, dy, 119., idrotm[1811], "ONLY");
802 :
803 :
804 1 : AliMatrix(idrotm[1816], 270., 0., 90., 90., 180., 0.);
805 1 : TVirtualMC::GetMC()->Gspos("DCM0", 1, "ALIC", 0., -12., 1075., idrotm[1816], "ONLY");
806 1 : }
807 :
808 :
809 : //_____________________________________________________________________________
810 : void AliDIPOv2::CreateMaterials()
811 : {
812 : //
813 : // Create Materials for Magnetic Dipole version 2
814 : //
815 :
816 2 : Int_t isxfld1 = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField())->Integ();
817 1 : Int_t isxfld2 = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField())->PrecInteg();
818 1 : Float_t sxmgmx = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField())->Max();
819 :
820 :
821 1 : Float_t asteel[4] = { 55.847,51.9961,58.6934,28.0855 };
822 1 : Float_t zsteel[4] = { 26.,24.,28.,14. };
823 1 : Float_t wsteel[4] = { .715,.18,.1,.005 };
824 :
825 1 : Float_t acoil[3] = { 26.98,1.01,16. };
826 1 : Float_t zcoil[3] = { 13.,1.,8. };
827 1 : Float_t wcoil[3] = { .66,.226,.114 };
828 :
829 1 : Float_t aresi[3] = { 1.01,12.011,16.};
830 1 : Float_t zresi[3] = { 1.,6.,8. };
831 1 : Float_t wresi[3] = { .0644,.7655,.1701 };
832 :
833 1 : Float_t aG10[5] = { 1.01,12.011,16.,28.085 ,79.904 };
834 1 : Float_t zG10[5] = { 1.,6.,8.,14.,35. };
835 1 : Float_t wG10[5] = { .02089,.22338,.28493,.41342,.05738 };
836 :
837 : // AIR
838 :
839 1 : Float_t aAir[4]={12.0107,14.0067,15.9994,39.948};
840 1 : Float_t zAir[4]={6.,7.,8.,18.};
841 1 : Float_t wAir[4]={0.000124,0.755267,0.231781,0.012827};
842 : Float_t dAir = 1.20479E-3;
843 : Float_t dAir1 = 1.20479E-10;
844 :
845 :
846 : Float_t epsil, stmin, deemax, tmaxfd, stemax;
847 :
848 : // --- Define the various materials for GEANT ---
849 : // Aluminum
850 1 : AliMaterial( 9, "ALUMINIUM0$", 26.98, 13., 2.7, 8.9, 37.2);
851 1 : AliMaterial(29, "ALUMINIUM1$", 26.98, 13., 2.7, 8.9, 37.2);
852 1 : AliMaterial(49, "ALUMINIUM2$", 26.98, 13., 2.7, 8.9, 37.2);
853 :
854 : // Iron
855 1 : AliMaterial(10, "IRON0$ ", 55.85, 26., 7.87, 1.76, 17.1);
856 1 : AliMaterial(30, "IRON1$ ", 55.85, 26., 7.87, 1.76, 17.1);
857 1 : AliMaterial(50, "IRON2$ ", 55.85, 26., 7.87, 1.76, 17.1);
858 : // Copper
859 1 : AliMaterial(17, "COPPER0$ ", 63.55, 29., 8.96, 1.43, 15.1);
860 1 : AliMaterial(37, "COPPER1$ ", 63.55, 29., 8.96, 1.43, 15.1);
861 1 : AliMaterial(57, "COPPER2$ ", 63.55, 29., 8.96, 1.43, 15.1);
862 : // Air
863 1 : AliMixture(15, "AIR0$ ", aAir, zAir, dAir, 4, wAir);
864 1 : AliMixture(35, "AIR1$ ", aAir, zAir, dAir, 4, wAir);
865 1 : AliMixture(55, "AIR2$ ", aAir, zAir, dAir, 4, wAir);
866 1 : AliMixture(75, "AIR_MUON ", aAir, zAir, dAir, 4, wAir);
867 : // Vacuum
868 1 : AliMixture(16, "VACUUM0$ ", aAir, zAir, dAir1, 4, wAir);
869 1 : AliMixture(36, "VACUUM1$ ", aAir, zAir, dAir1, 4, wAir);
870 1 : AliMixture(56, "VACUUM2$ ", aAir, zAir, dAir1, 4, wAir);
871 :
872 : // stainless Steel
873 1 : AliMixture(19, "STAINLESS STEEL0$", asteel, zsteel, 7.88, 4, wsteel);
874 1 : AliMixture(39, "STAINLESS STEEL1$", asteel, zsteel, 7.88, 4, wsteel);
875 1 : AliMixture(59, "STAINLESS STEEL2$", asteel, zsteel, 7.88, 4, wsteel);
876 :
877 : // Coil
878 1 : AliMixture(14, "Al0$", acoil, zcoil, 2.122, 3, wcoil);
879 1 : AliMixture(34, "Al1$", acoil, zcoil, 2.122, 3, wcoil);
880 1 : AliMixture(54, "Al2$", acoil, zcoil, 2.122, 3, wcoil);
881 :
882 : //RESIN
883 1 : AliMixture(13, "RESIN0$", aresi, zresi, 1.05, 3, wresi);
884 1 : AliMixture(33, "RESIN1$", aresi, zresi, 1.05, 3, wresi);
885 1 : AliMixture(53, "RESIN2$", aresi, zresi, 1.05, 3, wresi);
886 :
887 : //G10
888 1 : AliMixture(11, "G100$", aG10, zG10, 1.7, 5, wG10);
889 1 : AliMixture(31, "G101$", aG10, zG10, 1.7, 5, wG10);
890 1 : AliMixture(51, "G102$", aG10, zG10, 1.7, 5, wG10);
891 :
892 : // ****************
893 : // Defines tracking media parameters.
894 : // Les valeurs sont commentees pour laisser le defaut
895 : // a GEANT (version 3-21, page CONS200), f.m.
896 : epsil = .001; // Tracking precision,
897 : stemax = -1.; // Maximum displacement for multiple scat
898 : tmaxfd = -20.; // Maximum angle due to field deflection
899 : deemax = -.3; // Maximum fractional energy loss, DLS
900 : stmin = -.8;
901 : // ***************
902 :
903 : // Aluminum
904 1 : AliMedium( 9, "ALU_C0 ", 9, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
905 1 : AliMedium(29, "ALU_C1 ", 29, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
906 1 : AliMedium(49, "ALU_C2 ", 49, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
907 :
908 : // Iron
909 1 : AliMedium(10, "FE_C0 ", 10, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
910 1 : AliMedium(30, "FE_C1 ", 30, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
911 1 : AliMedium(50, "FE_C2 ", 50, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
912 :
913 : // Air
914 1 : AliMedium(15, "AIR_C0 ", 15, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
915 1 : AliMedium(35, "AIR_C1 ", 35, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
916 1 : AliMedium(55, "AIR_C2 ", 55, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
917 1 : AliMedium(75, "AIR_MUON ", 75, 0, isxfld2, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
918 :
919 : // Vacuum
920 1 : AliMedium(16, "VA_C0 ", 16, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
921 1 : AliMedium(36, "VA_C1 ", 36, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
922 1 : AliMedium(56, "VA_C2 ", 56, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
923 :
924 : // Steel
925 1 : AliMedium(19, "ST_C0 ", 19, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
926 1 : AliMedium(39, "ST_C1 ", 39, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
927 1 : AliMedium(59, "ST_C3 ", 59, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
928 :
929 : // Coil
930 1 : AliMedium(14, "Coil_C1 ", 14, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
931 1 : AliMedium(34, "Coil_C2 ", 34, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
932 1 : AliMedium(54, "Coil_C3 ", 54, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
933 :
934 : // Resin
935 1 : AliMedium(13, "RESIN_C0 ", 13, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
936 1 : AliMedium(33, "RESIN_C1 ", 33, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
937 1 : AliMedium(53, "RESIN_C2 ", 53, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
938 :
939 : // G10
940 1 : AliMedium(11, "G10_C0 ", 11, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
941 1 : AliMedium(31, "G10_C1 ", 31, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
942 1 : AliMedium(51, "G10_C2 ", 51, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
943 : //
944 : // Copper
945 1 : AliMedium(17, "Cu_C0 ", 17, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
946 1 : AliMedium(37, "Cu_C1 ", 37, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
947 1 : AliMedium(57, "Cu_C2 ", 57, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
948 :
949 1 : }
950 :
951 :
952 :
953 :
954 :
955 :
|