TOF version with holes for PHOS and RICH compatible with AliFRAMEv2 with
[u/mrichter/AliRoot.git] / STRUCT / AliFRAMEv2.cxx
CommitLineData
7e5caa00 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$
6304e7d2 18Revision 1.6 2001/10/16 14:33:04 morsch
19Hole() method needed by TRD to find out wheter frame has holes.
20
d03c72a2 21Revision 1.5 2001/08/28 15:54:29 morsch
22Web frame and inner rings pointing.
23
4a8eca94 24Revision 1.4 2001/06/22 14:11:17 morsch
25Back to official z-positions of rings.
26
02e42643 27Revision 1.3 2001/06/22 12:02:20 morsch
28Ring locations matching TRD module positions.
29
af3fbbe1 30Revision 1.2 2001/05/25 07:59:54 morsch
31Initialization print-out in debug mode only.
32
0a05c568 33Revision 1.1 2001/05/11 13:18:05 morsch
34C++ version of spaceframe with specs according to Jan Bielski Feb. 2001
35
7e5caa00 36*/
37
38////////////////////////////////////////////////
39// space frame class /
40///////////////////////////////////////////////
41
42#include "AliFRAMEv2.h"
43#include "AliMagF.h"
44#include "AliRun.h"
45#include "AliMC.h"
46#include "TSystem.h"
47
48ClassImp(AliFRAMEv2)
49
50//_____________________________________________________________________________
51AliFRAMEv2::AliFRAMEv2()
52{
53// Constructor
54 SetHoles(0);
55}
56
57//_____________________________________________________________________________
58AliFRAMEv2::AliFRAMEv2(const char *name, const char *title)
59 : AliFRAME(name,title)
60{
61// Constructor
62 SetHoles(0);
63}
64
65
66//___________________________________________
67void AliFRAMEv2::CreateGeometry()
68{
69//Begin_Html
70/*
71<img src="picts/frame.gif">
72*/
73//End_Html
74
75
76//Begin_Html
77/*
78<img src="picts/tree_frame.gif">
79*/
80//End_Html
81
4a8eca94 82 Int_t idrotm[2299];
7e5caa00 83 Int_t *idtmed = fIdtmed->GetArray()-1999;
84//
85// The Space frame
86//
87//
88 Float_t pbox[3], ptrap[11], ptrd1[4], ptube[3], ppgon[10];
89
90 Float_t dx, dy, dz;
91 Int_t i, j, jmod;
92//
93// Constants
94 const Float_t kEps = 0.01;
95 const Int_t kAir = idtmed[2004];
96 const Int_t kSteel = idtmed[2064];
97
98 const Float_t krad2deg = 180./TMath::Pi();
99 const Float_t kdeg2rad = 1./krad2deg;
100
101 Float_t iFrH = 114.4;
102 Float_t ringH = 4.;
103 Float_t ringW = 10.;
104 Float_t longH = 5.39;
105 Float_t longW = 6.;
106 Float_t dwl = 3.14;
107 Float_t dwh = 0.96;
108
02e42643 109//
4a8eca94 110 Float_t dymodU[3] = {70.0, 224.0, 341.};
02e42643 111// new ?
4a8eca94 112 Float_t dymodL[3] = {54.0, 178.5, 341.};
af3fbbe1 113
7e5caa00 114//
115// Frame mother volume
116//
117 ptube[0] = 280.;
118// ptube[1] = 428.2;
119 ptube[1] = 430.;
120 ptube[2] = 376.;
121 gMC->Gsvolu("B077", "TUBE", kAir, ptube, 3);
122 gMC->Gspos("B077", 1, "ALIC", 0., 0., 0., 0, "ONLY");
123//
124// The outer Frame
125//
126
127 Float_t dol = 8.75;
128 Float_t doh = 5.;
129 Float_t ds = 0.35;
130//
131// Mother volume
132//
133 ppgon[0] = 0.;
134 ppgon[1] = 360.;
135 ppgon[2] = 18.;
136
137 ppgon[3] = 2.;
138
139 ppgon[4] = -350.;
140 ppgon[5] = 399.;
141 ppgon[6] = 420.7122;
142
143 ppgon[7] = -ppgon[4];
144 ppgon[8] = ppgon[5];
145 ppgon[9] = ppgon[6];
146 gMC->Gsvolu("B076", "PGON", kAir, ppgon, 10);
147 gMC->Gspos("B076", 1, "B077", 0., 0., 0., 0, "ONLY");
148//
149// Rings
150//
151 dz = 2.*410.2*TMath::Sin(10.*kdeg2rad)-2.*dol*TMath::Cos(10.*kdeg2rad)-
152 2.*doh*TMath::Tan(10.*kdeg2rad);
153 Float_t l1 = dz/2.;
154 Float_t l2 = dz/2.+2.*doh*TMath::Tan(10.*kdeg2rad);
155
156 ptrd1[0] = l1;
157 ptrd1[1] = l2;
158
159 ptrd1[2] = dol;
160 ptrd1[3] = doh;
161 gMC->Gsvolu("B042", "TRD1", kSteel, ptrd1, 4);
162
163 ptrd1[0] = ptrd1[0]+ds*(l2-l1)/2./doh;
164 ptrd1[1] = ptrd1[1]-ds*(l2-l1)/2./doh;
165 ptrd1[2] = dol-ds;
166 ptrd1[3] = doh-ds;
167 gMC->Gsvolu("B043", "TRD1", kAir, ptrd1, 4);
168 gMC->Gspos("B043", 1, "B042", 0., 0., 0., 0, "ONLY");
169//
170// longitudinal bars
171//
172// 170x200x5
173//
174 pbox[0] = dol;
175 pbox[1] = doh;
176 pbox[2] = 350.;
177 gMC->Gsvolu("B033", "BOX", kSteel, pbox, 3);
178 pbox[0] = dol-ds;
179 pbox[1] = doh-ds;
180 gMC->Gsvolu("B034", "BOX", kAir, pbox, 3);
181 gMC->Gspos("B034", 1, "B033", 0., 0., 0., 0, "ONLY");
182
183 pbox[0] = 1.0;
184 pbox[1] = 5.0;
185 pbox[2] = 375.5;
186
187
188 gMC->Gsvolu("B080", "BOX", kSteel, pbox, 3);
189 gMC->Gspos("B080", 1, "B077", 281.01, 0., 0., 0, "ONLY");
190 gMC->Gspos("B080", 2, "B077", -281.01, 0., 0., 0, "ONLY");
191
192//
193// Diagonal bars (1)
194//
195 Float_t h, d, dq, x, theta;
196
4a8eca94 197 h = (dymodU[1]-dymodU[0]-2.*dol)*.999;
7e5caa00 198 d = 2.*dol;
199 dq = h*h+dz*dz;
200
201 x = TMath::Sqrt((dz*dz-d*d)/dq + d*d*h*h/dq/dq)+d*h/dq;
202
203
204 theta = krad2deg * TMath::ACos(x);
205
206 ptrap[0] = dz/2.;
207 ptrap[1] = theta;
208 ptrap[2] = 0.;
209 ptrap[3] = doh;
210 ptrap[4] = dol/x;
211 ptrap[5] = ptrap[4];
212 ptrap[6] = 0;
213 ptrap[7] = ptrap[3];
214 ptrap[8] = ptrap[4];
215 ptrap[9] = ptrap[4];
216 ptrap[10] = 0;
217
218 gMC->Gsvolu("B047", "TRAP", kSteel, ptrap, 11);
219 ptrap[3] = doh-ds;
220 ptrap[4] = (dol-ds)/x;
221 ptrap[5] = ptrap[4];
222 ptrap[7] = ptrap[3];
223 ptrap[8] = ptrap[4];
224 ptrap[9] = ptrap[4];
225 gMC->Gsvolu("B048", "TRAP", kAir, ptrap, 11);
226 gMC->Gspos("B048", 1, "B047", 0.0, 0.0, 0., 0, "ONLY");
227
228/*
229 Crosses (inner most)
230 \\ //
231 \\//
232 //\\
233 // \\
234*/
4a8eca94 235 h = (2.*dymodU[0]-2.*dol)*.999;
7e5caa00 236//
237// Mother volume
238//
239 pbox[0] = h/2;
240 pbox[1] = doh;
241 pbox[2] = dz/2.;
242 gMC->Gsvolu("BM49", "BOX ", kAir, pbox, 3);
243
244
245 dq = h*h+dz*dz;
246 x = TMath::Sqrt((dz*dz-d*d)/dq + d*d*h*h/dq/dq)+d*h/dq;
247 theta = krad2deg * TMath::ACos(x);
248
249 ptrap[0] = dz/2.-kEps;
250 ptrap[1] = theta;
251 ptrap[2] = 0.;
252 ptrap[3] = doh-kEps;
253 ptrap[4] = dol/x;
254 ptrap[5] = ptrap[4];
255 ptrap[7] = ptrap[3];
256 ptrap[8] = ptrap[4];
257 ptrap[9] = ptrap[4];
258
259 gMC->Gsvolu("B049", "TRAP", kSteel, ptrap, 11);
260 ptrap[0] = ptrap[0]-kEps;
261 ptrap[3] = (doh-ds);
262 ptrap[4] = (dol-ds)/x;
263 ptrap[5] = ptrap[4];
264 ptrap[7] = ptrap[3];
265 ptrap[8] = ptrap[4];
266 ptrap[9] = ptrap[4];
267 gMC->Gsvolu("B050", "TRAP", kAir, ptrap, 11);
268 gMC->Gspos("B050", 1, "B049", 0.0, 0.0, 0., 0, "ONLY");
269 gMC->Gspos("B049", 1, "BM49", 0.0, 0.0, 0., 0, "ONLY");
270
271
272 Float_t dd1 = d*TMath::Tan(theta*kdeg2rad);
273 Float_t dd2 = d/TMath::Tan(2.*theta*kdeg2rad);
274 Float_t theta2 = TMath::ATan(TMath::Abs(dd2-dd1)/d/2.);
275
276
277 ptrap[0] = dol;
278 ptrap[1] = theta2*krad2deg;
279 ptrap[2] = 0.;
280 ptrap[3] = doh;
281 ptrap[4] = (dz/2./x-dd1-dd2)/2.;
282 ptrap[5] = ptrap[4];
283 ptrap[6] = 0.;
284 ptrap[7] = ptrap[3];
285 ptrap[8] = dz/4./x;
286 ptrap[9] = ptrap[8];
287
288
289 gMC->Gsvolu("B051", "TRAP", kSteel, ptrap, 11);
290 Float_t ddx0 = ptrap[8];
291
292 Float_t dd1s = dd1*(1.-2.*ds/d);
293 Float_t dd2s = dd2*(1.-2.*ds/d);
294 Float_t theta2s = TMath::ATan(TMath::Abs(dd2s-dd1s)/(d-2.*ds)/2.);
295
296
297 ptrap[0] = dol-ds;
298 ptrap[1] = theta2s*krad2deg;
299 ptrap[2] = 0.;
300 ptrap[3] = doh-ds;
301 ptrap[4] = ptrap[4]+ds/d/2.*(dd1+dd2);
302 ptrap[5] = ptrap[4];
303 ptrap[6] = 0.;
304 ptrap[7] = ptrap[3];
305 ptrap[8] = ptrap[8]-ds/2./d*(dd1+dd2);
306 ptrap[9] = ptrap[8];
307
308 gMC->Gsvolu("B052", "TRAP", kAir, ptrap, 11);
309 gMC->Gspos("B052", 1, "B051", 0.0, 0.0, 0., 0, "ONLY");
310
311 Float_t ddx, ddz, drx, drz, rtheta;
312
4a8eca94 313 AliMatrix(idrotm[2001], -theta+180, 0.0, 90.0, 90.0, 90.-theta, 0.0);
7e5caa00 314 rtheta = (90.-theta)*kdeg2rad;
315 ddx = -ddx0-dol*TMath::Tan(theta2);
316 ddz = -dol;
317
318 drx = TMath::Cos(rtheta) * ddx +TMath::Sin(rtheta) *ddz+pbox[0];
319 drz = -TMath::Sin(rtheta) * ddx +TMath::Cos(rtheta) *ddz-pbox[2];
320 gMC->Gspos("B051", 1, "BM49",
321 drx, 0.0, drz,
4a8eca94 322 idrotm[2001], "ONLY");
7e5caa00 323
4a8eca94 324 AliMatrix(idrotm[2002], -theta, 0.0, 90.0, 90.0, 270.-theta, 0.0);
7e5caa00 325 rtheta = (270.-theta)*kdeg2rad;
326
327 drx = TMath::Cos(rtheta) * ddx + TMath::Sin(rtheta) * ddz-pbox[0];
328 drz = -TMath::Sin(rtheta) * ddx + TMath::Cos(rtheta) * ddz+pbox[2];
329 gMC->Gspos("B051", 2, "BM49",
330 drx, 0.0, drz,
4a8eca94 331 idrotm[2002], "ONLY");
7e5caa00 332
333//
334// Diagonal bars (3)
335//
4a8eca94 336 h = ((dymodU[2]-dymodU[1])-2.*dol)*.999;
7e5caa00 337 dq = h*h+dz*dz;
338 x = TMath::Sqrt((dz*dz-d*d)/dq + d*d*h*h/dq/dq)+d*h/dq;
339 theta = krad2deg * TMath::ACos(x);
340
341 ptrap[0] = dz/2.;
342 ptrap[1] = theta;
343 ptrap[3] = doh;
344 ptrap[4] = dol/x;
345 ptrap[5] = ptrap[4];
346 ptrap[7] = ptrap[3];
347 ptrap[8] = ptrap[4];
348 ptrap[9] = ptrap[4];
349
350 gMC->Gsvolu("B045", "TRAP", kSteel, ptrap, 11);
351 ptrap[3] = doh-ds;
352 ptrap[4] = (dol-ds)/x;
353 ptrap[5] = ptrap[4];
354 ptrap[7] = ptrap[3];
355 ptrap[8] = ptrap[4];
356 ptrap[9] = ptrap[4];
357 gMC->Gsvolu("B046", "TRAP", kAir, ptrap, 11);
358 gMC->Gspos("B046", 1, "B045", 0.0, 0.0, 0., 0, "ONLY");
359
360//
361// Positioning of diagonal bars
362//
363// Matrices have been imported from Euclid. Some simplification
364// seems possible
365//
4a8eca94 366 AliMatrix(idrotm[2003], 0.0, 0.0, 90.0, 130.0, 90.0, 40.0);
367 AliMatrix(idrotm[2004], 180.0, 0.0, 90.0, 130.0, 90.0, 40.0);
368 AliMatrix(idrotm[2005], 180.0, 0.0, 90.0, 150.0, 90.0, 240.0);
369 AliMatrix(idrotm[2006], 0.0, 0.0, 90.0, 150.0, 90.0, 240.0);
370 AliMatrix(idrotm[2007], 0.0, 0.0, 90.0, 170.0, 90.0, 80.0);
371 AliMatrix(idrotm[2008], 180.0, 0.0, 90.0, 190.0, 90.0, 280.0);
372 AliMatrix(idrotm[2009], 180.0, 0.0, 90.0, 170.0, 90.0, 80.0);
373 AliMatrix(idrotm[2010], 0.0, 0.0, 90.0, 190.0, 90.0, 280.0);
374 AliMatrix(idrotm[2011], 0.0, 0.0, 90.0, 350.0, 90.0, 260.0);
375 AliMatrix(idrotm[2012], 180.0, 0.0, 90.0, 350.0, 90.0, 260.0);
376 AliMatrix(idrotm[2013], 180.0, 0.0, 90.0, 10.0, 90.0, 100.0);
377 AliMatrix(idrotm[2014], 0.0, 0.0, 90.0, 10.0, 90.0, 100.0);
378 AliMatrix(idrotm[2015], 0.0, 0.0, 90.0, 30.0, 90.0, 300.0);
379 AliMatrix(idrotm[2016], 180.0, 0.0, 90.0, 30.0, 90.0, 300.0);
380 AliMatrix(idrotm[2017], 180.0, 0.0, 90.0, 50.0, 90.0, 140.0);
381 AliMatrix(idrotm[2018], 0.0, 0.0, 90.0, 50.0, 90.0, 140.0);
382
383 AliMatrix(idrotm[2019], 180.0, 0.0, 90.0, 130.0, 90.0, 220.0);
384 AliMatrix(idrotm[2020], 180.0, 0.0, 90.0, 50.0, 90.0, 320.0);
385 AliMatrix(idrotm[2021], 180.0, 0.0, 90.0, 150.0, 90.0, 60.0);
386 AliMatrix(idrotm[2022], 180.0, 0.0, 90.0, 30.0, 90.0, 120.0);
387 AliMatrix(idrotm[2023], 180.0, 0.0, 90.0, 170.0, 90.0, 260.0);
388 AliMatrix(idrotm[2024], 180.0, 0.0, 90.0, 190.0, 90.0, 100.0);
389 AliMatrix(idrotm[2025], 180.0, 0.0, 90.0, 350.0, 90.0, 80.0);
390 AliMatrix(idrotm[2026], 180.0, 0.0, 90.0, 10.0, 90.0, 280.0);
391
392 AliMatrix(idrotm[2027], 0.0, 0.0, 90.0, 50.0, 90.0, 320.0);
393 AliMatrix(idrotm[2028], 0.0, 0.0, 90.0, 150.0, 90.0, 60.0);
394 AliMatrix(idrotm[2029], 0.0, 0.0, 90.0, 30.0, 90.0, 120.0);
395 AliMatrix(idrotm[2030], 0.0, 0.0, 90.0, 10.0, 90.0, 280.0);
396 AliMatrix(idrotm[2031], 0.0, 0.0, 90.0, 170.0, 90.0, 260.0);
397 AliMatrix(idrotm[2032], 0.0, 0.0, 90.0, 190.0, 90.0, 100.0);
398 AliMatrix(idrotm[2033], 0.0, 0.0, 90.0, 350.0, 90.0, 80.0);
7e5caa00 399
400 Float_t rd = 410.56;
4a8eca94 401 dz = (dymodU[1]+dymodU[0])/2.;
402 Float_t dz2 = (dymodU[1]+dymodU[2])/2.;
7e5caa00 403
404//
405// phi = 40
406//
407 Float_t phi = 40;
408 dx = rd * TMath::Sin(phi*kdeg2rad);
409 dy = rd * TMath::Cos(phi*kdeg2rad);
410
4a8eca94 411 gMC->Gspos("B047", 1, "B076", -dx, dy, dz, idrotm[2004], "ONLY");
412 gMC->Gspos("B047", 2, "B076", -dx, dy, -dz, idrotm[2003], "ONLY");
413 gMC->Gspos("B047", 3, "B076", dx, dy, dz, idrotm[2017], "ONLY");
414 gMC->Gspos("B047", 4, "B076", dx, dy, -dz, idrotm[2018], "ONLY");
7e5caa00 415
4a8eca94 416 gMC->Gspos("B045", 1, "B076", -dx, dy, dz2, idrotm[2019], "ONLY");
417 gMC->Gspos("B045", 2, "B076", -dx, dy, -dz2, idrotm[2003], "ONLY"); // ?
418 gMC->Gspos("B045", 3, "B076", dx, dy, dz2, idrotm[2020], "ONLY");
419 gMC->Gspos("B045", 4, "B076", dx, dy, -dz2, idrotm[2027], "ONLY");
7e5caa00 420
4a8eca94 421 gMC->Gspos("BM49", 1, "B076", dx, dy, 0., idrotm[2020], "ONLY");
422 gMC->Gspos("BM49", 2, "B076", -dx, dy, 0., idrotm[2019], "ONLY");
7e5caa00 423
424//
425// phi = 60
426//
427
428 phi = 60;
429 dx = rd * TMath::Sin(phi*kdeg2rad);
430 dy = rd * TMath::Cos(phi*kdeg2rad);
4a8eca94 431 gMC->Gspos("B047", 5, "B076", -dx, dy, dz, idrotm[2005], "ONLY");
432 gMC->Gspos("B047", 6, "B076", -dx, dy, -dz, idrotm[2006], "ONLY");
433 gMC->Gspos("B047", 7, "B076", dx, dy, dz, idrotm[2016], "ONLY");
434 gMC->Gspos("B047", 8, "B076", dx, dy, -dz, idrotm[2015], "ONLY");
7e5caa00 435
4a8eca94 436 gMC->Gspos("B045", 5, "B076", -dx, dy, dz2, idrotm[2021], "ONLY");
437 gMC->Gspos("B045", 6, "B076", -dx, dy, -dz2, idrotm[2028], "ONLY");
438 gMC->Gspos("B045", 7, "B076", dx, dy, dz2, idrotm[2022], "ONLY");
439 gMC->Gspos("B045", 8, "B076", dx, dy, -dz2, idrotm[2029], "ONLY");
7e5caa00 440
4a8eca94 441 gMC->Gspos("BM49", 3, "B076", dx, dy, 0., idrotm[2022], "ONLY");
442 gMC->Gspos("BM49", 4, "B076", -dx, dy, 0., idrotm[2021], "ONLY");
7e5caa00 443//
444// phi = 80
445//
446
447 phi = 80;
448 dx = rd * TMath::Sin(phi*kdeg2rad);
449 dy = rd * TMath::Cos(phi*kdeg2rad);
4a8eca94 450 gMC->Gspos("B047", 9, "B076", -dx, dy, dz, idrotm[2009], "ONLY");
451 gMC->Gspos("B047", 10, "B076", -dx, dy, -dz, idrotm[2007], "ONLY");
452 gMC->Gspos("B047", 11, "B076", dx, dy, dz, idrotm[2013], "ONLY");
453 gMC->Gspos("B047", 12, "B076", dx, dy, -dz, idrotm[2014], "ONLY");
7e5caa00 454
4a8eca94 455 gMC->Gspos("B047", 13, "B076", -dx, -dy, dz, idrotm[2008], "ONLY");
456 gMC->Gspos("B047", 14, "B076", -dx, -dy, -dz, idrotm[2010], "ONLY");
457 gMC->Gspos("B047", 15, "B076", dx, -dy, dz, idrotm[2012], "ONLY");
458 gMC->Gspos("B047", 16, "B076", dx, -dy, -dz, idrotm[2011], "ONLY");
7e5caa00 459
4a8eca94 460 gMC->Gspos("B045", 9, "B076", -dx, dy, dz2, idrotm[2023], "ONLY");
461 gMC->Gspos("B045", 10, "B076", -dx, dy, -dz2, idrotm[2031], "ONLY");
462 gMC->Gspos("B045", 11, "B076", dx, dy, dz2, idrotm[2026], "ONLY");
463 gMC->Gspos("B045", 12, "B076", dx, dy, -dz2, idrotm[2030], "ONLY");
7e5caa00 464
4a8eca94 465 gMC->Gspos("B045", 13, "B076", -dx, -dy, dz2, idrotm[2024], "ONLY");
466 gMC->Gspos("B045", 14, "B076", -dx, -dy, -dz2, idrotm[2032], "ONLY");
467 gMC->Gspos("B045", 15, "B076", dx, -dy, dz2, idrotm[2025], "ONLY");
468 gMC->Gspos("B045", 16, "B076", dx, -dy, -dz2, idrotm[2033], "ONLY");
7e5caa00 469
4a8eca94 470 gMC->Gspos("BM49", 5, "B076", dx, dy, 0., idrotm[2026], "ONLY");
471 gMC->Gspos("BM49", 6, "B076", -dx, dy, 0., idrotm[2023], "ONLY");
472 gMC->Gspos("BM49", 7, "B076", dx, -dy, 0., idrotm[2025], "ONLY");
473 gMC->Gspos("BM49", 8, "B076", -dx, -dy, 0., idrotm[2024], "ONLY");
7e5caa00 474
475
476// The internal frame
477//
478 char* module[3] = {"B071\0", "B074\0", "B075\0"};
479//
480//
481// Mother Volumes
482//
483 ptrd1[0] = 50.18;
484 ptrd1[1] = 70.35;
485// ptrd1[0] = 50.10;
486// ptrd1[1] = 70.20;
487
488 ptrd1[2] = 375.5;
489 ptrd1[3] = 57.2;
490 for (jmod = 0; jmod < 3; jmod++)
491 {
492 gMC->Gsvolu(module[jmod], "TRD1", kAir, ptrd1, 4);
493 }
494
495 Int_t mod[18] = {1, 1, 1, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 1, 1};
7e5caa00 496
497
498 Float_t r = 341.8;
499 Float_t rout1 = 410.564;
500 Float_t rout2 = 415.2;
501 Int_t modcount[3] = {0, 0, 0};
502
503 for (i=0; i<18; i++) {
504 Float_t phi = i*20.;
505 Float_t phi2 = 270+phi;
506 if (phi2 >= 360.) phi2-=360.;
507
508 dx = TMath::Sin(phi*kdeg2rad)*r;
509 dy = -TMath::Cos(phi*kdeg2rad)*r;
510 modcount[mod[i]]++;
511
4a8eca94 512 AliMatrix(idrotm[2034+i], 90.0, phi, 0., 0., 90., phi2);
513 gMC->Gspos(module[mod[i]], modcount[mod[i]], "B077", dx, dy, 0., idrotm[2034+i], "ONLY");
7e5caa00 514//
515// Position elements of outer Frame
516//
517 dx = TMath::Sin(phi*kdeg2rad)*rout1;
518 dy = -TMath::Cos(phi*kdeg2rad)*rout1;
519 for (j = 0; j < 3; j++)
520 {
4a8eca94 521 dz = dymodU[j];
522 gMC->Gspos("B042", 6*i+2*j+1, "B076", dx, dy, dz, idrotm[2034+i], "ONLY");
523 gMC->Gspos("B042", 6*i+2*j+2, "B076", dx, dy, -dz, idrotm[2034+i], "ONLY");
7e5caa00 524 }
525
526 phi = i*20.+10;
527 phi2 = 270+phi;
4a8eca94 528 AliMatrix(idrotm[2052+i], 90.0, phi, 90., phi2, 0., 0.);
7e5caa00 529
530 dx = TMath::Sin(phi*kdeg2rad)*rout2;
531 dy = -TMath::Cos(phi*kdeg2rad)*rout2;
4a8eca94 532 gMC->Gspos("B033", i+1, "B076", dx, dy, 0., idrotm[2052+i], "ONLY");
7e5caa00 533//
534 }
535// Internal Frame rings
536//
537//
538// new specs: 40x100x6 for inner rings
539// 30x135x6 for front and rear rings
540//
541// currently no distinction between front/rear and inner rings
542//
543//
544//
545 pbox[0] = 50.;
546 pbox[1] = ringW/2.;
547 pbox[2] = ringH/2.;
548
549 gMC->Gsvolu("B072", "BOX ", kSteel, pbox, 3);
550
551 pbox[1] = pbox[1] - 0.6;
552 pbox[2] = pbox[2] - 0.6;
553 gMC->Gsvolu("B073", "BOX ", kAir, pbox, 3);
554 gMC->Gspos("B073", 1, "B072", 0., 0., 0., 0, "ONLY");
555
556// Web frame 0-degree
557//
558// h x w x s = 60x40x4
559// (attention: element is are half bars, "U" shaped)
560//
4a8eca94 561 dz = 106.2;
562 d = 2.*dwl;
563 h = dymodU[0]-dymodL[0];
564 dq = h*h+dz*dz;
565
566 x = TMath::Sqrt((dz*dz-d*d)/dq + d*d*h*h/dq/dq)+d*h/dq;
7e5caa00 567
4a8eca94 568 theta = TMath::ACos(x);
569 Float_t thetaP = (TMath::Pi()-theta)*krad2deg;
570
571 ptrap[0] = dz/2.;
572 ptrap[1] = thetaP;
573 ptrap[2] = 0.;
574 ptrap[3] = dwh;
575 ptrap[4] = dwl/cos(theta);
576 ptrap[5] = ptrap[4];
577 ptrap[6] = 0;
578 ptrap[7] = ptrap[3];
579 ptrap[8] = ptrap[4];
580 ptrap[9] = ptrap[4];
581 ptrap[10] = 0;
582 gMC->Gsvolu("B063", "TRAP", kSteel, ptrap, 11);
583 ptrap[3] = dwh - 0.2;
584 ptrap[4] = (dwl-0.4)/cos(theta);
585 ptrap[5] = ptrap[4];
586 ptrap[7] = ptrap[3];
587 ptrap[8] = ptrap[4];
588 ptrap[9] = ptrap[4];
589 gMC->Gsvolu("B064", "TRAP", kAir, ptrap, 11);
590 gMC->Gspos("B064", 1, "B063", 0.0, -0.2, 0., 0, "ONLY");
591
592
593 h = 106.2;
594 d = 2.*dwl;
595 dz = dymodU[1]-dymodL[1];
596 dq = h*h+dz*dz;
597
598 x = TMath::Sqrt((dz*dz-d*d)/dq + d*d*h*h/dq/dq)+d*h/dq;
599
600
601 theta = krad2deg * TMath::ACos(x);
602
603 ptrap[0] = dz/2.;
604 ptrap[1] = theta;
605 ptrap[2] = 0.;
606 ptrap[3] = dwh;
607 ptrap[4] = dwl/x;
608 ptrap[5] = ptrap[4];
609 ptrap[6] = 0;
610 ptrap[7] = ptrap[3];
611 ptrap[8] = ptrap[4];
612 ptrap[9] = ptrap[4];
613 ptrap[10] = 0;
614 gMC->Gsvolu("B163", "TRAP", kSteel, ptrap, 11);
615 ptrap[3] = dwh - 0.2;
616 ptrap[4] = (dwl-0.4)/x;
617 ptrap[5] = ptrap[4];
618 ptrap[7] = ptrap[3];
619 ptrap[8] = ptrap[4];
620 ptrap[9] = ptrap[4];
621 gMC->Gsvolu("B164", "TRAP", kAir, ptrap, 11);
622 gMC->Gspos("B164", 1, "B163", 0.0, -0.2, 0., 0, "ONLY");
623
624
7e5caa00 625 pbox[0] = dwh;
626 pbox[1] = dwl;
627 pbox[2] = (iFrH-ringH-longH)/2.;
4a8eca94 628 gMC->Gsvolu("B263", "BOX ", kSteel, pbox, 3);
7e5caa00 629 pbox[0] = dwh-0.2;
630 pbox[1] = dwl-0.4;
631
4a8eca94 632 gMC->Gsvolu("B264", "BOX ", kAir, pbox, 3);
633 gMC->Gspos("B264", 1, "B263", 0.2, 0., 0., 0, "ONLY");
634
635
636 AliMatrix(idrotm[2070], 90.0, 0.0, 90.0, 270.0, 0.0, 0.0);
637//
638 AliMatrix(idrotm[2071], 100.0, 0.0, 90.0, 270.0, 10.0, 0.0);
639 AliMatrix(idrotm[2072], 100.0, 0.0, 90.0, 90.0, 10.0, 0.0);
640 AliMatrix(idrotm[2073], 100.0, 180.0, 90.0, 270.0, 10.0, 180.0);
641 AliMatrix(idrotm[2074], 100.0, 180.0, 90.0, 90.0, 10.0, 180.0);
642//
643 AliMatrix(idrotm[2075], 10.0, 0.0, 80.0, 180.0, 90.0, 90.0);
644 AliMatrix(idrotm[2076], 10.0, 0.0, 80.0, 180.0, 90.0, 270.0);
645 AliMatrix(idrotm[2077], 10.0, 180.0, 80.0, 0.0, 90.0, 90.0);
646 AliMatrix(idrotm[2078], 10.0, 180.0, 80.0, 0.0, 90.0, 270.0);
647//
648 AliMatrix(idrotm[2079], 170.0, 180.0, 80.0, 180.0, 90.0, 90.0);
649 AliMatrix(idrotm[2080], 170.0, 180.0, 80.0, 180.0, 90.0, 270.0);
650 AliMatrix(idrotm[2081], 170.0, 0.0, 80.0, 0.0, 90.0, 90.0);
651 AliMatrix(idrotm[2082], 170.0, 0.0, 80.0, 0.0, 90.0, 270.0);
652
653//
654 AliMatrix(idrotm[2083], 170.0, 0.0, 90.0, 90.0, 80.0, 0.0);
655 AliMatrix(idrotm[2084], 170.0, 180.0, 90.0, 90.0, 80.0, 180.0);
656 AliMatrix(idrotm[2085], 90.0, 180.0, 90.0, 90.0, 0.0, 0.0);
657//
658 AliMatrix(idrotm[2086], 90.0, 90.0, 100.0, 0., 170.0, 180.0);
659 AliMatrix(idrotm[2087], 90.0, 90.0, 100.0, 0., 10.0, 0.0);
660 AliMatrix(idrotm[2088], 90.0, 90.0, 80.0, 0., 170.0, 0.0);
661 AliMatrix(idrotm[2089], 90.0, 90.0, 80.0, 0., -10.0, 0.0);
662
7e5caa00 663//
664// web frame diagonal (outer)
665//
666 h = 106.2;
667 d = 2.*dwl;
4a8eca94 668 dz = dymodL[2]-dymodU[1]-dwl;
7e5caa00 669 dq = h*h+dz*dz;
670
671 x = TMath::Sqrt((dz*dz-d*d)/dq + d*d*h*h/dq/dq)+d*h/dq;
672
673
674 theta = krad2deg * TMath::ACos(x);
675
676 ptrap[0] = dz/2.;
677 ptrap[1] = theta;
678 ptrap[2] = 0.;
679 ptrap[3] = dwh;
680 ptrap[4] = dwl/x;
681 ptrap[5] = ptrap[4];
682 ptrap[6] = 0;
683 ptrap[7] = ptrap[3];
684 ptrap[8] = ptrap[4];
685 ptrap[9] = ptrap[4];
686 ptrap[10] = 0;
687 gMC->Gsvolu("B065", "TRAP", kSteel, ptrap, 11);
688 ptrap[3] = dwh - 0.2;
689 ptrap[4] = (dwl-0.4)/x;
690 ptrap[5] = ptrap[4];
691 ptrap[7] = ptrap[3];
692 ptrap[8] = ptrap[4];
693 ptrap[9] = ptrap[4];
694 gMC->Gsvolu("B066", "TRAP", kAir, ptrap, 11);
695 gMC->Gspos("B066", 1, "B065", 0.0, -0.2, 0., 0, "ONLY");
696
697//
698// web frame diagonal (inner)
699//
4a8eca94 700 dz = dymodL[1]-dymodU[0];
7e5caa00 701 dq = h*h+dz*dz;
4a8eca94 702 x = TMath::Sqrt((dz*dz-d*d)/dq + d*d*h*h/dq/dq)+d*h/dq;
7e5caa00 703
704
705 theta = krad2deg * TMath::ACos(x);
706
4a8eca94 707 ptrap[0] = (dymodL[1]-dymodU[0])/2.;
7e5caa00 708 ptrap[1] = theta;
709 ptrap[2] = 0.;
710 ptrap[3] = dwh;
711 ptrap[4] = dwl/x;
712 ptrap[5] = ptrap[4];
713 ptrap[6] = 0;
714 ptrap[7] = ptrap[3];
715 ptrap[8] = ptrap[4];
716 ptrap[9] = ptrap[4];
717 ptrap[10] = 0;
718 gMC->Gsvolu("B067", "TRAP", kSteel, ptrap, 11);
719 ptrap[3] = dwh-0.2;
720 ptrap[4] = (dwl-0.4)/x;
721 ptrap[5] = ptrap[4];
722 ptrap[7] = ptrap[3];
723 ptrap[8] = ptrap[4];
724 ptrap[9] = ptrap[4];
725 gMC->Gsvolu("B068", "TRAP", kAir, ptrap, 11);
726 gMC->Gspos("B068", 1, "B067", 0.0, -0.2, 0., 0, "ONLY");
727
728
729 dz = -iFrH/2.+ringH/2.+kEps;
730
731 for (i = 0; i< 3; i++)
732 {
733// ring bars
734 for (jmod = 0; jmod<3; jmod++) {
4a8eca94 735 gMC->Gspos("B072", 6*i+jmod+1, module[jmod], 0, dymodL[i], dz, 0, "ONLY");
736 gMC->Gspos("B072", 6*i+jmod+4, module[jmod], 0, -dymodL[i], dz, idrotm[2070], "ONLY");
7e5caa00 737
738// 0-deg web
4a8eca94 739 if (i==2) {
740 gMC->Gspos("B263", 12*i+jmod+1, module[jmod], 60.0732, dymodU[i], 4.6669, idrotm[2072], "ONLY");
741 gMC->Gspos("B263", 12*i+jmod+4, module[jmod], 60.0732, -dymodU[i], 4.6669, idrotm[2071], "ONLY");
742 gMC->Gspos("B263", 12*i+jmod+7, module[jmod], -60.0732, dymodU[i], 4.6669, idrotm[2074], "ONLY");
743 gMC->Gspos("B263", 12*i+jmod+10, module[jmod], -60.0732, -dymodU[i], 4.6669, idrotm[2073], "ONLY");
744 }
7e5caa00 745 }
746 }
747
748// outer diagonal web
749
4a8eca94 750 dy = (dymodU[0]+dymodL[0])/2.;
751 for (jmod = 0; jmod<3; jmod++) {
752 gMC->Gspos("B063", 4*jmod+1, module[jmod], 60.0732, dy, 4.6669, idrotm[2086], "ONLY");
753 gMC->Gspos("B063", 4*jmod+2, module[jmod], 60.0732, -dy, 4.6669, idrotm[2087], "ONLY");
754 gMC->Gspos("B063", 4*jmod+3, module[jmod], -60.0732, dy, 4.6669, idrotm[2088], "ONLY");
755 gMC->Gspos("B063", 4*jmod+4, module[jmod], -60.0732, -dy, 4.6669, idrotm[2089], "ONLY");
756 }
757
758 dy = (dymodU[1]+dymodL[1])/2.;
759 for (jmod = 0; jmod<3; jmod++) {
760 gMC->Gspos("B163", 4*jmod+1, module[jmod], 60.0732, dy, 4.6669, idrotm[2080], "ONLY");
761 gMC->Gspos("B163", 4*jmod+2, module[jmod], 60.0732, -dy, 4.6669, idrotm[2079], "ONLY");
762 gMC->Gspos("B163", 4*jmod+3, module[jmod], -60.0732, dy, 4.6669, idrotm[2082], "ONLY");
763 gMC->Gspos("B163", 4*jmod+4, module[jmod], -60.0732, -dy, 4.6669, idrotm[2081], "ONLY");
764 }
765
766
767 dy = (dymodL[2]+dymodU[1])/2.-dwl/2.;
7e5caa00 768 for (jmod = 0; jmod<3; jmod++) {
4a8eca94 769 gMC->Gspos("B065", 4*jmod+1, module[jmod], 60.0732, dy, 4.6669, idrotm[2076], "ONLY");
770 gMC->Gspos("B065", 4*jmod+2, module[jmod], 60.0732, -dy, 4.6669, idrotm[2075], "ONLY");
771 gMC->Gspos("B065", 4*jmod+3, module[jmod], -60.0732, dy, 4.6669, idrotm[2078], "ONLY");
772 gMC->Gspos("B065", 4*jmod+4, module[jmod], -60.0732, -dy, 4.6669, idrotm[2077], "ONLY");
7e5caa00 773 }
774
775
4a8eca94 776 dy = (dymodL[1]+dymodU[0])/2.;
7e5caa00 777
778 for (jmod = 0; jmod<3; jmod++) {
4a8eca94 779 gMC->Gspos("B067", 4*jmod+1, module[jmod], 60.0732, dy, 4.6669, idrotm[2076], "ONLY");
780 gMC->Gspos("B067", 4*jmod+2, module[jmod], 60.0732, -dy, 4.6669, idrotm[2075], "ONLY");
781 gMC->Gspos("B067", 4*jmod+3, module[jmod], -60.0732, dy, 4.6669, idrotm[2078], "ONLY");
782 gMC->Gspos("B067", 4*jmod+4, module[jmod], -60.0732, -dy, 4.6669, idrotm[2077], "ONLY");
7e5caa00 783 }
784
785// longitudinal bars (TPC rails attached)
786// new specs:
787// h x w x s = 100 x 75 x 6
788// current:
789// Attention: 2 "U" shaped half rods per cell
790//
791// not yet used
792//
793 ptrap[0] = 2.50;
794 ptrap[1] = 10.00;
795 ptrap[2] = 0.00;
796 ptrap[3] = 350.00;
797 ptrap[4] = 3.75;
798 ptrap[5] = ptrap[4];
799 ptrap[6] = 0;
800 ptrap[7] = ptrap[3];
801 ptrap[8] = ptrap[4];
802 ptrap[9] = ptrap[4];
803 ptrap[10] = 0;
804 gMC->Gsvolu("B059", "TRAP", kSteel, ptrap, 11);
805 ptrap[0] = 2.2;
806 ptrap[4] = 2.15;
807 ptrap[5] = ptrap[4];
808 ptrap[7] = ptrap[3];
809 ptrap[8] = ptrap[4];
810 ptrap[9] = ptrap[4];
811 gMC->Gsvolu("B062", "TRAP", kAir, ptrap, 11);
812 gMC->Gspos("B062", 1, "B059", 0.0, -0.3, 0., 0, "ONLY");
813//
814// longitudinal bars (no TPC rails attached)
815// new specs: h x w x s = 60 x 60 x 3
816// (was: 75 x 100 x 5?)
817//
818//
819//
820 ptrap[0] = longW/4.;
821 ptrap[4] = longH/2.;
822 ptrap[5] = ptrap[4];
823 ptrap[7] = ptrap[3];
824 ptrap[8] = ptrap[4];
825 ptrap[9] = ptrap[4];
826
827 gMC->Gsvolu("BA59", "TRAP", kSteel, ptrap, 11);
828 ptrap[0] = longW/4.-0.15;
829 ptrap[4] = longH/2.-0.30;
830 ptrap[5] = ptrap[4];
831 ptrap[7] = ptrap[3];
832 ptrap[8] = ptrap[4];
833 ptrap[9] = ptrap[4];
834 gMC->Gsvolu("BA62", "TRAP", kAir, ptrap, 11);
835 gMC->Gspos("BA62", 1, "BA59", 0.0, 0.0, -0.15, 0, "ONLY");
836
837 dz = -iFrH/2.+ringH+longH/2.;
838
839 for (jmod = 0; jmod<3; jmod++) {
4a8eca94 840 gMC->Gspos("BA59", 2*jmod+1, module[jmod], 49.6476, 0.0, dz, idrotm[2084], "ONLY");
841 gMC->Gspos("BA59", 2*jmod+2, module[jmod], -49.6476, 0.0, dz, idrotm[2083], "ONLY");
7e5caa00 842 }
843//
844//
845// Spacer between TRD and TOF modules
846 ptrap[0] = 0.99;
847 ptrap[1] = 10.00;
848 ptrap[2] = 0.00;
849 ptrap[3] = 350.00;
850 ptrap[4] = 0.9;
851 ptrap[5] = ptrap[4];
852 ptrap[6] = 0;
853 ptrap[7] = ptrap[3];
854 ptrap[8] = ptrap[4];
855 ptrap[9] = ptrap[4];
856 ptrap[10] = 0;
857 gMC->Gsvolu("B056", "TRAP", kSteel, ptrap, 11);
858 for (jmod = 0; jmod<3; jmod++) {
859 gMC->Gspos("B056", 2*jmod+1, module[jmod], 61.9607, 0.0, 27.2, 0 , "ONLY");
4a8eca94 860 gMC->Gspos("B056", 2*jmod+2, module[jmod], -61.9607, 0.0, 27.2, idrotm[2085], "ONLY");
7e5caa00 861 }
862//
863// Mother volumes for TRD and TOF
864//
865 if (!fHoles) {
d03c72a2 866 printf("\n FRAME Version without Holes !");
7e5caa00 867 ptrd1[0] = 49.8065;
868 ptrd1[1] = 62.8535;
869 ptrd1[2] = 375.5;
870 ptrd1[3] = 37.;
871 gMC->Gsvolu("BTR1", "TRD1", kAir, ptrd1, 4);
872 gMC->Gsvolu("BTR2", "TRD1", kAir, ptrd1, 4);
873 gMC->Gsvolu("BTR3", "TRD1", kAir, ptrd1, 4);
874
875 ptrd1[0] = 63.2061;
876 ptrd1[1] = 68.3192;
877 ptrd1[2] = 375.5;
878 ptrd1[3] = 14.5;
879 gMC->Gsvolu("BTO1", "TRD1", kAir, ptrd1, 4);
880 gMC->Gsvolu("BTO2", "TRD1", kAir, ptrd1, 4);
881 gMC->Gsvolu("BTO3", "TRD1", kAir, ptrd1, 4);
882
883 gMC->Gspos("BTR1", 1, "B071", 0., 0., -10.8, 0, "ONLY");
884 gMC->Gspos("BTR2", 1, "B074", 0., 0., -10.8, 0, "ONLY");
885 gMC->Gspos("BTR3", 1, "B075", 0., 0., -10.8, 0, "ONLY");
886
887 gMC->Gspos("BTO1", 1, "B071", 0., 0., 42.69, 0, "ONLY");
888 gMC->Gspos("BTO2", 1, "B074", 0., 0., 42.69, 0, "ONLY");
889 gMC->Gspos("BTO3", 1, "B075", 0., 0., 42.69, 0, "ONLY");
890 } else {
d03c72a2 891 printf("\n FRAME Version with Holes !");
892
7e5caa00 893 ptrd1[0] = 49.8065;
894 ptrd1[1] = 62.8535;
895 ptrd1[2] = 375.5;
896 ptrd1[3] = 37;
897 gMC->Gsvolu("BTR1", "TRD1", kAir, ptrd1, 4);
898 ptrd1[2] = 156.75;
899 gMC->Gsvolu("BTR2", "TRD1", kAir, ptrd1, 4);
900 ptrd1[2] = 79.75;
901 gMC->Gsvolu("BTR3", "TRD1", kAir, ptrd1, 4);
902
903 ptrd1[0] = 63.2061;
904 ptrd1[1] = 68.3192;
905 ptrd1[2] = 375.5;
906 ptrd1[3] = 14.5;
907 gMC->Gsvolu("BTO1", "TRD1", kAir, ptrd1, 4);
908 ptrd1[2] = 156.75;
909 gMC->Gsvolu("BTO2", "TRD1", kAir, ptrd1, 4);
910 ptrd1[2] = 79.75;
911 gMC->Gsvolu("BTO3", "TRD1", kAir, ptrd1, 4);
912
913 gMC->Gspos("BTR1", 1, "B071", 0., 0., -10.8, 0, "ONLY");
914
915 gMC->Gspos("BTR2", 1, "B074", 0., -218.75, -10.8, idrotm[152], "ONLY");
916 gMC->Gspos("BTR2", 2, "B074", 0., 218.75, -10.8, 0, "ONLY");
917
918 gMC->Gspos("BTR3", 1, "B075", 0., -295.75, -10.8, idrotm[152], "ONLY");
919 gMC->Gspos("BTR3", 2, "B075", 0., 295.75, -10.8, 0, "ONLY");
920
921
922 gMC->Gspos("BTO1", 1, "B071", 0., 0., -42.7, 0, "ONLY");
923
924 gMC->Gspos("BTO2", 1, "B074", 0., -218.75, -42.7, idrotm[152], "ONLY");
925 gMC->Gspos("BTO2", 2, "B074", 0., 218.75, -42.7, 0, "ONLY");
926
927 gMC->Gspos("BTO3", 1, "B075", 0., -295.75, -42.7, idrotm[152], "ONLY");
928 gMC->Gspos("BTO3", 2, "B075", 0., 295.75, -42.7, 0, "ONLY");
929
930 }
931}
932
933
934//___________________________________________
935void AliFRAMEv2::CreateMaterials()
936{
937
938 Float_t epsil, stemax, tmaxfd, deemax, stmin;
939
940 epsil = 1.e-4; // Tracking precision,
941 stemax = -0.01; // Maximum displacement for multiple scat
942 tmaxfd = -20.; // Maximum angle due to field deflection
943 deemax = -.3; // Maximum fractional energy loss, DLS
944 stmin = -.8;
945 Int_t isxfld = gAlice->Field()->Integ();
946 Float_t sxmgmx = gAlice->Field()->Max();
947
948 Float_t asteel[4] = { 55.847,51.9961,58.6934,28.0855 };
949 Float_t zsteel[4] = { 26.,24.,28.,14. };
950 Float_t wsteel[4] = { .715,.18,.1,.005 };
951
952 AliMixture(65, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
953 AliMaterial(5, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500.);
954 AliMedium(65, "Stainless Steel", 65, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
955 AliMedium( 5, "Air ", 5, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);
956}
957
958//_____________________________________________________________________________
959void AliFRAMEv2::Init()
960{
961 //
962 // Initialise the module after the geometry has been defined
963 //
0a05c568 964 if(fDebug) {
965 printf("%s: **************************************"
966 " FRAME "
967 "**************************************\n",ClassName());
968 printf("\n%s: Version 2 of FRAME initialised, symmetric FRAME\n\n",ClassName());
969 printf("%s: **************************************"
970 " FRAME "
971 "**************************************\n",ClassName());
972 }
7e5caa00 973}
974
6304e7d2 975Int_t AliFRAMEv2::IsVersion() const
976{
977 Int_t version = 0;
978 if (fHoles == 0) version = 1;
979 return version;
980}
7e5caa00 981
982
983
984
985
986