]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSvPPRsymm.cxx
Some mother volumes sligthly modified to eliminate an overlap with the absorber
[u/mrichter/AliRoot.git] / ITS / AliITSvPPRsymm.cxx
CommitLineData
db915fea 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$
45725ec9 18Revision 1.8 2001/03/13 08:36:24 hristov
19fabsf replaced by TMath::Abs
20
767187dd 21Revision 1.7 2001/03/13 00:43:43 barbera
22Updated version of the PPR detailed geometry with symmetric services. Of course, the central part of the detector (volume ITSD and its daughters) is the same of AliITSvPPRasymm.cxx
23
9d2da7b3 24Revision 1.6 2001/02/13 16:53:35 nilsen
25Fixed a but when trying to use GEANT4. Needed to replace
26if(!((TGeant3*)gMC)) with if(!(dynamic_casst<TGeant3*>(gMC)))
27because just casting gMC to be TGeant3* even when it realy is a TGeant3 pointer
28did not result in a zero value. For AliITSv5asymm and AliITSv5symm, needed
29to fix a bug in the initilizers and a bug in BuildGeometry. This is now done
30in the same way as in AliITSv5.cxx.
31
9a4c6ea3 32Revision 1.5 2001/02/09 20:06:26 nilsen
33Fixed bug in distructor. Can't distroy fixxed length arrays. Thanks Peter.
34
58e13d99 35Revision 1.4 2001/02/09 00:05:31 nilsen
36Added fMajor/MinorVersion variables and made other changes to better make
37use of the new code changes in AliITSgeom related classes.
38
bae7e562 39Revision 1.3 2001/01/30 09:23:13 hristov
40Streamers removed (R.Brun)
41
a8a6107b 42Revision 1.2 2001/01/26 20:01:19 hristov
43Major upgrade of AliRoot code
44
2ab0c725 45Revision 1.1.2.1 2001/01/15 13:38:32 barbera
46New ITS detailed geometry to be used for the PPR
47
db915fea 48Revision 1.12 2000/12/10 16:00:44 barbera
49Added last definition of special media like end-ladder boxes and cones
50
51Revision 1.11 2000/10/30 08:02:25 barbera
52PCON's changed into simpler CONS and TUBS. Services now allow for the rails to go through them.
53
54Revision 1.3.2.7 2000/10/27 17:20:00 barbera
55Position of rails w.r.t. the interaction point corrected.
56
57Revision 1.9 2000/10/27 13:31:29 barbera
58Rails between ITS and TPC added.
59
60Revision 1.8 2000/10/27 13:03:08 barbera
61Small changes in the SPD volumes and materials
62
63Revision 1.6 2000/10/16 14:45:37 barbera
64Mother volume ITSD modified to avoid some overlaps
65
66Revision 1.5 2000/10/16 13:49:15 barbera
67Services volumes slightly modified and material added following Pierluigi Barberis' information
68
69Revision 1.4 2000/10/07 15:33:07 barbera
70Small corrections to the ITSV mother volume
71
72Revision 1.3 2000/10/07 13:06:50 barbera
73Some new materials and media defined
74
75Revision 1.2 2000/10/07 10:42:43 barbera
76Mother volume ITSV corrected
77
78Revision 1.1 2000/10/06 23:09:12 barbera
79New geometry (symmetric services
80
81Revision 1.20 2000/10/02 21:28:08 fca
82Removal of useless dependecies via forward declarations
83
84Revision 1.19 2000/07/10 16:07:19 fca
85Release version of ITS code
86
87Revision 1.14.2.2 2000/05/19 10:09:21 nilsen
88fix for bug with HP and Sun unix + fix for event display in ITS-working branch
89
90Revision 1.14.2.1 2000/03/04 23:45:19 nilsen
91Fixed up the comments/documentation.
92
93Revision 1.14 1999/11/25 06:52:56 fca
94Correct value of drca
95
96Revision 1.13.2.1 1999/11/25 06:52:21 fca
97Correct value of drca
98
99Revision 1.13 1999/10/27 11:16:26 fca
100Correction of problem in geometry
101
102Revision 1.12 1999/10/22 08:25:25 fca
103remove double definition of destructors
104
105Revision 1.11 1999/10/22 08:16:49 fca
106Correct destructors, thanks to I.Hrivnacova
107
108Revision 1.10 1999/10/06 19:56:50 fca
109Add destructor
110
111Revision 1.9 1999/10/05 08:05:09 fca
112Minor corrections for uninitialised variables.
113
114Revision 1.8 1999/09/29 09:24:20 fca
115Introduction of the Copyright and cvs Log
116
117*/
118
bae7e562 119//////////////////////////////////////////////////////////////////////////////
120// //
121// Inner Traking System version PPR symmetric //
122// This class contains the base procedures for the Inner Tracking System //
123// //
124// Authors: R. Barbera //
125// version 6. //
126// Created 2000. //
127// //
128// NOTE: THIS IS THE SYMMETRIC PPR geometry of the ITS. //
129// THIS WILL NOT WORK //
130// with the geometry or module classes or any analysis classes. You are //
131// strongly encouraged to uses AliITSv5. //
132// //
133//////////////////////////////////////////////////////////////////////////////
9d2da7b3 134// See AliITSvPPRsymm::StepManager().
bae7e562 135#include <iostream.h>
136#include <iomanip.h>
9d2da7b3 137#include <stdio.h>
138#include <stdlib.h>
db915fea 139#include <TMath.h>
db915fea 140#include <TGeometry.h>
141#include <TNode.h>
142#include <TTUBE.h>
143#include <TFile.h> // only required for Tracking function?
144#include <TCanvas.h>
145#include <TObjArray.h>
9d2da7b3 146#include <TLorentzVector.h>
147#include <TObjString.h>
db915fea 148#include <TClonesArray.h>
9d2da7b3 149#include <TBRIK.h>
150#include <TSystem.h>
db915fea 151
152#include "AliMC.h"
9d2da7b3 153#include "AliRun.h"
db915fea 154#include "AliMagF.h"
155#include "AliConst.h"
bae7e562 156#include "../TGeant3/TGeant3.h"
157#include "AliITSGeant3Geometry.h"
db915fea 158#include "AliITShit.h"
9d2da7b3 159#include "AliITS.h"
db915fea 160#include "AliITSvPPRsymm.h"
bae7e562 161#include "AliITSgeom.h"
162#include "AliITSgeomSPD.h"
163#include "AliITSgeomSDD.h"
164#include "AliITSgeomSSD.h"
db915fea 165
166
167ClassImp(AliITSvPPRsymm)
168
169//_____________________________________________________________________________
170AliITSvPPRsymm::AliITSvPPRsymm() {
171////////////////////////////////////////////////////////////////////////
172// Standard default constructor for the ITS version 9.
173////////////////////////////////////////////////////////////////////////
bae7e562 174 Int_t i;
175
9d2da7b3 176 fIdN = 0;
bae7e562 177 fIdName = 0;
178 fIdSens = 0;
179 fEuclidOut = kFALSE; // Don't write Euclide file
180 fGeomDetOut = kFALSE; // Don't write .det file
181 fGeomDetIn = kTRUE; // Read .det file
182 fMajorVersion = IsVersion();
183 fMinorVersion = -1;
184 for(i=0;i<60;i++) fRead[i] = '\0';
185 for(i=0;i<60;i++) fWrite[i] = '\0';
186 for(i=0;i<60;i++) fEuclidGeomDet[i] = '\0';
db915fea 187}
188//_____________________________________________________________________________
189AliITSvPPRsymm::AliITSvPPRsymm(const char *name, const char *title) : AliITS(name, title){
190////////////////////////////////////////////////////////////////////////
191// Standard constructor for the ITS version 9.
192////////////////////////////////////////////////////////////////////////
bae7e562 193 Int_t i;
194
195 fIdN = 6;
196 fIdName = new TString[fIdN];
197 fIdName[0] = "ITS1";
198 fIdName[1] = "ITS2";
199 fIdName[2] = "ITS3";
200 fIdName[3] = "ITS4";
201 fIdName[4] = "ITS5";
202 fIdName[5] = "ITS6";
203 fIdSens = new Int_t[fIdN];
204 for (i=0;i<fIdN;i++) fIdSens[i] = 0;
205 fMajorVersion = IsVersion();
9d2da7b3 206 fMinorVersion = 2;
bae7e562 207 fEuclidOut = kFALSE; // Don't write Euclide file
208 fGeomDetOut = kFALSE; // Don't write .det file
209 fGeomDetIn = kTRUE; // Read .det file
9d2da7b3 210 SetThicknessDet1();
211 SetThicknessDet2();
212 SetThicknessChip1();
213 SetThicknessChip2();
bae7e562 214
9d2da7b3 215 fEuclidGeometry="$ALICE_ROOT/ITS/ITSgeometry_vPPRsymm2.euc";
216 strncpy(fEuclidGeomDet,"$ALICE_ROOT/ITS/ITSgeometry_vPPRsymm2.det",60);
bae7e562 217 strncpy(fRead,fEuclidGeomDet,60);
9d2da7b3 218 strncpy(fWrite,fEuclidGeomDet,60);
219
db915fea 220}
221//____________________________________________________________________________
222AliITSvPPRsymm::AliITSvPPRsymm(const AliITSvPPRsymm &source){
223////////////////////////////////////////////////////////////////////////
224// Copy Constructor for ITS version 9.
225////////////////////////////////////////////////////////////////////////
226 if(&source == this) return;
bae7e562 227 Warning("Copy Constructor","Not allowed to copy AliITSvPPRsymm");
db915fea 228 return;
229}
230//_____________________________________________________________________________
231AliITSvPPRsymm& AliITSvPPRsymm::operator=(const AliITSvPPRsymm &source){
232////////////////////////////////////////////////////////////////////////
9d2da7b3 233// Assignment operator for the ITS version 9.
db915fea 234////////////////////////////////////////////////////////////////////////
bae7e562 235 if(&source == this) return *this;
236 Warning("= operator","Not allowed to copy AliITSvPPRsymm");
237 return *this;
db915fea 238}
239//_____________________________________________________________________________
240AliITSvPPRsymm::~AliITSvPPRsymm() {
241////////////////////////////////////////////////////////////////////////
9d2da7b3 242// Standard destructor for the ITS version 9.
db915fea 243////////////////////////////////////////////////////////////////////////
244}
db915fea 245//__________________________________________________________________________
246void AliITSvPPRsymm::BuildGeometry(){
247////////////////////////////////////////////////////////////////////////
248// Geometry builder for the ITS version 9.
249////////////////////////////////////////////////////////////////////////
250 TNode *node, *top;
251 const int kColorITS=kYellow;
252 //
253 top = gAlice->GetGeometry()->GetNode("alice");
254
255 new TTUBE("S_layer1","Layer1 of ITS","void",3.95,3.95+0.05475,12.25);
256 top->cd();
257 node = new TNode("Layer1","Layer1","S_layer1",0,0,0,"");
258 node->SetLineColor(kColorITS);
259 fNodes->Add(node);
260
261 new TTUBE("S_layer2","Layer2 of ITS","void",7.,7.+0.05475,16.3);
262 top->cd();
263 node = new TNode("Layer2","Layer2","S_layer2",0,0,0,"");
264 node->SetLineColor(kColorITS);
265 fNodes->Add(node);
266
267 new TTUBE("S_layer3","Layer3 of ITS","void",15.,15.+0.05288,21.1);
268 top->cd();
269 node = new TNode("Layer3","Layer3","S_layer3",0,0,0,"");
270 node->SetLineColor(kColorITS);
271 fNodes->Add(node);
272
273 new TTUBE("S_layer4","Layer4 of ITS","void",24,24+0.05288,29.6);
274 top->cd();
275 node = new TNode("Layer4","Layer4","S_layer4",0,0,0,"");
276 node->SetLineColor(kColorITS);
277 fNodes->Add(node);
278
279 new TTUBE("S_layer5","Layer5 of ITS","void",40,40+0.05382,45.1);
280 top->cd();
281 node = new TNode("Layer5","Layer5","S_layer5",0,0,0,"");
282 node->SetLineColor(kColorITS);
283 fNodes->Add(node);
284
285 new TTUBE("S_layer6","Layer6 of ITS","void",45,45+0.05382,50.4);
286 top->cd();
287 node = new TNode("Layer6","Layer6","S_layer6",0,0,0,"");
288 node->SetLineColor(kColorITS);
289 fNodes->Add(node);
290}
291//_____________________________________________________________________________
292void AliITSvPPRsymm::CreateGeometry(){
293////////////////////////////////////////////////////////////////////////
294// This routine defines and Creates the geometry for version 9 of the ITS.
295////////////////////////////////////////////////////////////////////////
296
297 //INNER RADII OF THE SILICON LAYERS
2ab0c725 298 // Float_t rl[6] = { 3.8095,7.,15.,24.,38.1,43.5765 };
db915fea 299 //THICKNESSES OF LAYERS (in % radiation length)
300 Float_t drl[6] = { 1.03,1.03,0.94,0.95,0.91,0.87 };
301 //HALF LENGTHS OF LAYERS
2ab0c725 302 /*
db915fea 303 Float_t dzl[6] = { 14.35,14.35,25.1,32.1,49.405,55.27 };
304 //LENGTHS OF END-LADDER BOXES (ALL INCLUDED)
305 Float_t dzb[6] = { 12.4,12.4,13.5,15.,7.5,7.5 };
306 //THICKNESSES OF END-LADDER BOXES (ALL INCLUDED)
307 Float_t drb[6] = { rl[1]-rl[0],0.2,5.,5.,4.,4. };
2ab0c725 308 */
db915fea 309
9d2da7b3 310
db915fea 311
312 Float_t dits[50], rlim, zmax;
9d2da7b3 313 // Float_t zpos;
314 // Float_t pcits[50]
2ab0c725 315 Float_t xltpc;
9d2da7b3 316 Int_t idrotm[1999], i;
db915fea 317 Float_t dgh[50];
9d2da7b3 318
319
320 // Define some variables for SPD
321
322 Float_t dits1[3], di101[3], di107[3], di10b[3], di106[3]; // for layer 1
323 Float_t di103[3], di10a[3], di102[3]; // for layer 1
324 Float_t dits2[3], di1d1[3], di1d7[3], di20b[3], di1d6[3]; // for layer 2
325 Float_t di1d3[3], di20a[3], di1d2[3]; // for layer 2
326 Float_t di108[3], di104[3]; // for both layers
327
328 Float_t ddet1=300.; // total detector thickness on layer 1 (micron)
329 Float_t dchip1=300.; // total chip thickness on layer 1 (micron)
330
331 Float_t ddet2=300.; // total detector thickness on layer 2 (micron)
332 Float_t dchip2=300.; // total chip thickness on layer 2 (micron)
333
334 Float_t dbus=200.; // total bus thickness on both layers (micron)
335
336 ddet1 = GetThicknessDet1();
337 ddet2 = GetThicknessDet2();
338 dchip1 = GetThicknessChip1();
339 dchip2 = GetThicknessChip2();
340
341
342 if(ddet1 < 100. || ddet1 > 300.) {
343 cout << "The detector thickness for layer 1 is outside [100,300] microns."
344 " The default value of 300 microns will be used." << endl;
345 ddet1=300.;
346 }
347
348 if(ddet2 < 100. || ddet2 > 300.) {
349 cout << "The detector thickness for layer 2 is outside [100,300] microns."
350 " The default value of 300 microns will be used." << endl;
351 ddet2=300.;
352 }
353
354 if(dchip1 < 150. || dchip1 > 300.) {
355 cout << "The chip thickness for layer 1 is outside [150,300] microns."
356 " The default value of 300 microns will be used." << endl;
357 dchip1=300.;
358 }
359
360 if(dchip2 < 150. || dchip2 > 300.) {
361 cout << "The chip thickness for layer 2 is outside [150,300] microns."
362 " The default value of 300 microns will be used." << endl;
363 dchip2=300.;
364 }
365
366 ddet1 = ddet1*0.0001/2.; // conversion from tot length in um to half in cm
367 ddet2 = ddet2*0.0001/2.; // conversion from tot length in um to half in cm
368 dchip1 = dchip1*0.0001/2.;// conversion from tot length in um to half in cm
369 dchip2 = dchip2*0.0001/2.;// conversion from tot length in um to half in cm
370 dbus = dbus*0.0001/2.; // conversion from tot length in um to half in cm
371
372 Float_t deltax, deltay;
373
374 Int_t thickness = fMinorVersion/10;
375 Int_t option = fMinorVersion - 10*thickness;
376
377
378 // Define some variables for SDD
379
380
381 Float_t sin30, cos30;
382
383 // SDD electronics+services main volumes
384 Float_t I018dits[3], I024dits[3], I047dits[3], I048dits[3];
385
386 // SDD detector ladder
387
388 Float_t I302dits[3], I402dits[3], I004dits[3], I005dits[3];
389 Float_t Y_SDD_sep = 0.20;
390 Float_t ySDD;
391 Int_t iSDD;
392 Float_t Z_SDD_lay3[6] = {18.55, 10.95, 3.70, -3.70, -11.20, -18.35};
393 Float_t Z_SDD_lay4[8] = {25.75, 18.60, 11.00, 3.70, -3.70, -11.20, -18.45, -26.05};
394
395 // ladder foot and end-ladder (frame and cooling)
396 Float_t I028dits[3], I420dits[3], I421dits[3], I422dits[6], I423dits[3];
397 Float_t I424dits[3], xI424, yI424;
398 Float_t I425dits[3];
399 Int_t indI425;
400 Float_t I029dits[4], I030dits[4], I031dits[3], I032dits[3];
401
402 // SDD ladder frame and cooling
403 Float_t SDD_CoolPipe[3] = {1.7000, -0.5500, 0.0000};
404 Float_t I035dits[3], I037dits[3], I038dits[3];
405 Float_t I039dits[3], xI039, yI039;
406 Float_t I041dits[5];
407
408 // SDD hybrid, chips and capacitors
409 Float_t I050dits[3], xI050, yI050;
410 Float_t I052dits[3], xI052, yI052;
411 Float_t I042dits[3], xI042, yI042;
412 Float_t xI042space = 0.17;
413 Float_t I043dits[3], xI043, yI043;
414 Float_t xI043space = 0.17;
415 Float_t zchip, zChipSpace;
416 Float_t I051dits[3], xI051, yI051, zI051, yI051space, xcap;
417 Int_t ichip, icap;
418
419 // SDD microcables
420 Float_t I044dits[4], xI044, yI044, volI044;
421 Float_t xHV, yHV, zHV, xLV, yLV, zLV;
422 Char_t HVname[5], LVname[5];
423
424
425 // Define media off-set
db915fea 426
427 Int_t *idtmed = fIdtmed->GetArray()-199;
9d2da7b3 428
db915fea 429
430 // Rotation matrices
431
9d2da7b3 432 // SPD - option 'a' (this is NOT the default so leave commented)
433
434
435 if (option == 1) {
436
437 AliMatrix(idrotm[201],90.0,90.0,90.0,180.0,0.0,0.0);
438 AliMatrix(idrotm[202],90.0,90.0,90.0,0.0,0.0,0.0);
439 AliMatrix(idrotm[203],90.0,350.0,90.0,260.0,0.0,0.0);
440 AliMatrix(idrotm[204],90.0,170.0,90.0,80.0,0.0,0.0);
441 AliMatrix(idrotm[205],90.0,10.0,90.0,100.0,0.0,0.0);
442 AliMatrix(idrotm[206],90.0,190.0,90.0,280.0,0.0,0.0);
443 AliMatrix(idrotm[207],90.0,342.0,90.0,72.0,0.0,0.0);
444 AliMatrix(idrotm[208],90.0,156.999893,90.0,246.999893,0.0,0.0);
445 AliMatrix(idrotm[209],90.0,147.999802,90.0,237.999893,0.0,0.0);
446 AliMatrix(idrotm[210],90.0,138.999802,90.0,228.999802,0.0,0.0);
447 AliMatrix(idrotm[211],90.0,129.999802,90.0,219.999802,0.0,0.0);
448 AliMatrix(idrotm[212],90.0,36.7896,90.0,126.789597,0.0,0.0);
449 AliMatrix(idrotm[213],90.0,343.579712,90.0,73.579697,0.0,0.0);
450 AliMatrix(idrotm[214],90.0,95.413696,90.0,185.413696,0.0,0.0);
451 AliMatrix(idrotm[215],90.0,5.4141,90.0,95.414101,0.0,0.0);
452 AliMatrix(idrotm[216],90.0,318.296906,90.0,48.296902,0.0,0.0);
453 AliMatrix(idrotm[217],90.0,67.000099,90.0,157.000107,0.0,0.0);
454 AliMatrix(idrotm[218],90.0,337.003998,90.0,67.003998,0.0,0.0);
455 AliMatrix(idrotm[219],90.0,247.000305,90.0,337.000305,0.0,0.0);
456 AliMatrix(idrotm[220],90.0,305.633514,90.0,35.633499,0.0,0.0);
457 AliMatrix(idrotm[221],90.0,58.000198,90.0,148.000198,0.0,0.0);
458 AliMatrix(idrotm[222],90.0,327.997101,90.0,57.997101,0.0,0.0 );
459 AliMatrix(idrotm[223],90.0,237.994202,90.0,327.994202,0.0,0.0);
460 AliMatrix(idrotm[224],90.0,296.627502,90.0,26.627399,0.0,0.0);
461 AliMatrix(idrotm[225],90.0,48.994099,90.0,138.994095,0.0,0.0);
462 AliMatrix(idrotm[226],90.0,318.990997,90.0,48.991001,0.0,0.0);
463 AliMatrix(idrotm[227],90.0,228.988205,90.0,318.98819,0.0,0.0);
464 AliMatrix(idrotm[228],90.0,287.621399,90.0,17.621401,0.0,0.0);
465 AliMatrix(idrotm[229],90.0,39.988098,90.0,129.988098,0.0,0.0);
466 AliMatrix(idrotm[230],90.0,309.984985,90.0,39.985001,0.0,0.0);
467 AliMatrix(idrotm[231],90.0,327.2612,90.0,57.2612,0.0,0.0);
468 AliMatrix(idrotm[232],90.0,237.261398,90.0,327.261414,0.0,0.0);
469 AliMatrix(idrotm[233],90.0,252.000504,90.0,342.000488,0.0,0.0 );
470 AliMatrix(idrotm[234],90.0,71.9991,90.0,161.9991,0.0,0.0);
471 AliMatrix(idrotm[235],90.0,270.0,90.0,0.0,0.0,0.0);
472 AliMatrix(idrotm[236],90.0,180.013702,90.0,270.013702,0.0,0.0);
473 AliMatrix(idrotm[237],90.0,0.0,90.0,90.0,180.0,0.0);
474 AliMatrix(idrotm[238],90.0,144.0,90.0,234.0,0.0,0.0);
475 AliMatrix(idrotm[239],90.0,216.0,90.0,306.0,0.0,0.0);
476 AliMatrix(idrotm[240],90.0,288.0,90.0,18.0,0.0,0.0);
477 AliMatrix(idrotm[241],90.0,324.0,90.0,54.0,0.0,0.0);
478 AliMatrix(idrotm[242],90.0,36.0,90.0,126.0,0.0,0.0);
479 AliMatrix(idrotm[243],90.0,108.0,90.0,198.0,0.0,0.0);
480 AliMatrix(idrotm[244],90.0,0.0,90.0,270.0,180.0,0.0);
481 AliMatrix(idrotm[245],90.0,342.0,90.0,252.0,180.0,0.0);
482 AliMatrix(idrotm[246],90.0,130.0,90.0,40.0,180.0,0.0);
483 AliMatrix(idrotm[247],90.0,139.0,90.0,49.0,180.0,0.0);
484 AliMatrix(idrotm[248],90.0,148.0,90.0,58.0,180.0,0.0);
485 AliMatrix(idrotm[249],90.0,157.0,90.0,67.0,180.0,0.0);
486 AliMatrix(idrotm[1003],90.0,73.5,90.0,163.5,0.0,0.0);
487 AliMatrix(idrotm[1011],90.0,342.0,90.0,72.0,0.0,0.0);
488 AliMatrix(idrotm[1039],90.0,72.0,90.0,162.0,0.0,0.0);
489 AliMatrix(idrotm[1043],90.0,66.91,90.0,156.91,0.0,0.0);
490 AliMatrix(idrotm[1065],90.0,144.0,90.0,234.0,0.0,0.0);
491 AliMatrix(idrotm[1078],90.0,180.0,90.0,270.0,0.0,0.0);
492 AliMatrix(idrotm[1088],90.0,57.41,90.0,147.41,0.0,0.0);
493 AliMatrix(idrotm[1089],90.0,333.0,90.0,63.0,0.0,0.0);
494 AliMatrix(idrotm[1090],90.0,351.0,90.0,81.0,0.0,0.0);
495 AliMatrix(idrotm[1091],90.0,216.0,90.0,306.0,0.0,0.0);
496 AliMatrix(idrotm[1092],90.0,27.0,90.0,117.0,0.0,0.0);
497 AliMatrix(idrotm[1093],90.0,18.0,90.0,108.0,0.0,0.0);
498 AliMatrix(idrotm[1094],90.0,9.0,90.0,99.0,0.0,0.0);
499 AliMatrix(idrotm[1104],90.0,252.0,90.0,342.0,0.0,0.0);
500 AliMatrix(idrotm[1106],90.0,36.0,90.0,126.0,0.0,0.0);
501 AliMatrix(idrotm[1107],90.0,108.0,90.0,198.0,0.0,0.0);
502 AliMatrix(idrotm[1108],90.0,324.0,90.0,54.0,180.0,0.0);
503 AliMatrix(idrotm[1109],90.0,0.0,90.0,90.0,180.0,0.0);
504 AliMatrix(idrotm[1110],90.0,36.0,90.0,126.0,180.0,0.0);
505 AliMatrix(idrotm[1111],90.0,72.0,90.0,162.0,180.0,0.0);
506 AliMatrix(idrotm[1112],90.0,108.0,90.0,198.0,180.0,0.0);
507 AliMatrix(idrotm[1113],90.0,144.0,90.0,234.0,180.0,0.0);
508 AliMatrix(idrotm[1114],90.0,180.0,90.0,270.0,180.0,0.0);
509 AliMatrix(idrotm[1115],90.0,216.0,90.0,306.0,180.0,0.0);
510 AliMatrix(idrotm[1116],90.0,252.0,90.0,342.0,180.0,0.0);
511 AliMatrix(idrotm[1117],90.0,288.0,90.0,18.0,0.0,0.0);
512 AliMatrix(idrotm[1118],90.0,288.0,90.0,18.0,180.0,0.0);
513 AliMatrix(idrotm[1130],90.0,324.0,90.0,54.0,0.0,0.0);
514
515 }
db915fea 516
9d2da7b3 517 // SPD - option 'b' (this is the default)
518
519 if (option == 2) {
520
521 AliMatrix(idrotm[201],90.0,0.0,90.0,90.0,180.0,0.0);
522 AliMatrix(idrotm[202],90.0,90.0,90.0,0.0,0.0,0.0);
523 AliMatrix(idrotm[203],90.0,350.0,90.0,260.0,0.0,0.0);
524 AliMatrix(idrotm[204],90.0,170.0,90.0,80.0,0.0,0.0);
525 AliMatrix(idrotm[205],90.0,10.0,90.0,100.0,0.0,0.0);
526 AliMatrix(idrotm[206],90.0,190.0,90.0,280.0,0.0,0.0);
527 AliMatrix(idrotm[207],90.0,342.0,90.0,72.0,0.0,0.0);
528 AliMatrix(idrotm[208],90.0,156.999893,90.0,246.999893,0.0,0.0);
529 AliMatrix(idrotm[209],90.0,147.999802,90.0,237.999893,0.0,0.0);
530 AliMatrix(idrotm[210],90.0,138.999802,90.0,228.999802,0.0,0.0);
531 AliMatrix(idrotm[211],90.0,129.999802,90.0,219.999802,0.0,0.0);
532 AliMatrix(idrotm[212],90.0,36.7896,90.0,126.789597,0.0,0.0);
533 AliMatrix(idrotm[213],90.0,343.579712,90.0,73.579697,0.0,0.0);
534 AliMatrix(idrotm[214],90.0,95.413696,90.0,185.413696,0.0,0.0);
535 AliMatrix(idrotm[215],90.0,5.4141,90.0,95.414101,0.0,0.0);
536 AliMatrix(idrotm[216],90.0,318.296906,90.0,48.296902,0.0,0.0);
537 AliMatrix(idrotm[217],90.0,67.000099,90.0,157.000107,0.0,0.0);
538 AliMatrix(idrotm[218],90.0,337.003998,90.0,67.003998,0.0,0.0);
539 AliMatrix(idrotm[219],90.0,247.000305,90.0,337.000305,0.0,0.0);
540 AliMatrix(idrotm[220],90.0,305.633514,90.0,35.633499,0.0,0.0);
541 AliMatrix(idrotm[221],90.0,58.000198,90.0,148.000198,0.0,0.0);
542 AliMatrix(idrotm[222],90.0,327.997101,90.0,57.997101,0.0,0.0);
543 AliMatrix(idrotm[223],90.0,237.994202,90.0,327.994202,0.0,0.0);
544 AliMatrix(idrotm[224],90.0,296.627502,90.0,26.627399,0.0,0.0);
545 AliMatrix(idrotm[225],90.0,48.994099,90.0,138.994095,0.0,0.0);
546 AliMatrix(idrotm[226],90.0,318.990997,90.0,48.991001,0.0,0.0);
547 AliMatrix(idrotm[227],90.0,228.988205,90.0,318.98819,0.0,0.0);
548 AliMatrix(idrotm[228],90.0,287.621399,90.0,17.621401,0.0,0.0);
549 AliMatrix(idrotm[229],90.0,39.988098,90.0,129.988098,0.0,0.0);
550 AliMatrix(idrotm[230],90.0,309.984985,90.0,39.985001,0.0,0.0);
551 AliMatrix(idrotm[231],90.0,327.2612,90.0,57.2612,0.0,0.0);
552 AliMatrix(idrotm[232],90.0,237.261398,90.0,327.261414,0.0,0.0);
553 AliMatrix(idrotm[233],90.0,252.000504,90.0,342.000488,0.0,0.0);
554 AliMatrix(idrotm[234],90.0,71.9991,90.0,161.9991,0.0,0.0);
555 AliMatrix(idrotm[235],90.0,270.0,90.0,0.0,0.0,0.0);
556 AliMatrix(idrotm[236],90.0,180.013702,90.0,270.013702,0.0,0.0);
557 AliMatrix(idrotm[237],90.0,90.0,90.0,180.0,0.0,0.0);
558 AliMatrix(idrotm[238],90.0,0.0,90.0,270.0,180.0,0.0);
559 AliMatrix(idrotm[239],90.0,342.0,90.0,252.0,180.0,0.0);
560 AliMatrix(idrotm[240],90.0,130.0,90.0,40.0,180.0,0.0);
561 AliMatrix(idrotm[241],90.0,139.0,90.0,49.0,180.0,0.0);
562 AliMatrix(idrotm[242],90.0,148.0,90.0,58.0,180.0,0.0);
563 AliMatrix(idrotm[243],90.0,157.0,90.0,67.0,180.0,0.0);
564 AliMatrix(idrotm[244],90.0,216.0,90.0,306.0,0.0,0.0);
565 AliMatrix(idrotm[245],90.0,36.0,90.0,126.0,0.0,0.0);
566 AliMatrix(idrotm[246],90.0,108.0,90.0,198.0,0.0,0.0);
567 AliMatrix(idrotm[247],90.0,144.0,90.0,234.0,0.0,0.0);
568 AliMatrix(idrotm[248],90.0,288.0,90.0,18.0,0.0,0.0);
569 AliMatrix(idrotm[249],90.0,324.0,90.0,54.0,0.0,0.0);
570 AliMatrix(idrotm[1003],90.0,73.5,90.0,163.5,0.0,0.0);
571 AliMatrix(idrotm[1011],90.0,342.0,90.0,72.0,0.0,0.0);
572 AliMatrix(idrotm[1039],90.0,72.0,90.0,162.0,0.0,0.0);
573 AliMatrix(idrotm[1043],90.0,66.91,90.0,156.91,0.0,0.0);
574 AliMatrix(idrotm[1065],90.0,144.0,90.0,234.0,0.0,0.0);
575 AliMatrix(idrotm[1078],90.0,180.0,90.0,270.0,0.0,0.0);
576 AliMatrix(idrotm[1088],90.0,57.41,90.0,147.41,0.0,0.0);
577 AliMatrix(idrotm[1089],90.0,333.0,90.0,63.0,0.0,0.0);
578 AliMatrix(idrotm[1090],90.0,351.0,90.0,81.0,0.0,0.0);
579 AliMatrix(idrotm[1091],90.0,216.0,90.0,306.0,0.0,0.0);
580 AliMatrix(idrotm[1092],90.0,27.0,90.0,117.0,0.0,0.0);
581 AliMatrix(idrotm[1093],90.0,18.0,90.0,108.0,0.0,0.0);
582 AliMatrix(idrotm[1094],90.0,9.0,90.0,99.0,0.0,0.0);
583 AliMatrix(idrotm[1104],90.0,252.0,90.0,342.0,0.0,0.0);
584 AliMatrix(idrotm[1106],90.0,36.0,90.0,126.0,0.0,0.0);
585 AliMatrix(idrotm[1107],90.0,108.0,90.0,198.0,0.0,0.0);
586 AliMatrix(idrotm[1108],90.0,324.0,90.0,54.0,180.0,0.0);
587 AliMatrix(idrotm[1109],90.0,0.0,90.0,90.0,180.0,0.0);
588 AliMatrix(idrotm[1110],90.0,36.0,90.0,126.0,180.0,0.0);
589 AliMatrix(idrotm[1111],90.0,72.0,90.0,162.0,180.0,0.0);
590 AliMatrix(idrotm[1112],90.0,108.0,90.0,198.0,180.0,0.0);
591 AliMatrix(idrotm[1113],90.0,144.0,90.0,234.0,180.0,0.0);
592 AliMatrix(idrotm[1114],90.0,180.0,90.0,270.0,180.0,0.0);
593 AliMatrix(idrotm[1115],90.0,216.0,90.0,306.0,180.0,0.0);
594 AliMatrix(idrotm[1116],90.0,252.0,90.0,342.0,180.0,0.0);
595 AliMatrix(idrotm[1117],90.0,288.0,90.0,18.0,0.0,0.0);
596 AliMatrix(idrotm[1118],90.0,288.0,90.0,18.0,180.0,0.0);
597 AliMatrix(idrotm[1130],90.0,324.0,90.0,54.0,0.0,0.0);
598
599 }
600
db915fea 601 // SDD
602
603 AliMatrix(idrotm[301],0.0,0.0,90.0,90.0,90.0,180.0);
604 AliMatrix(idrotm[302],0.0,0.0,90.0,90.0,90.0,0.0);
605 AliMatrix(idrotm[303],180.0,0.0,90.0,90.0,90.0,0.0);
606 AliMatrix(idrotm[304],180.0,0.0,90.0,90.0,90.0,180.0);
607 AliMatrix(idrotm[305],90.0,347.14,90.0,77.14,0.0,0.0);
608 AliMatrix(idrotm[306],90.0,321.43,90.0,51.43,0.0,0.0);
609 AliMatrix(idrotm[307],90.0,295.71,90.0,25.71,0.0,0.0);
610 AliMatrix(idrotm[308],90.0,244.29,90.0,334.29,0.0,0.0);
611 AliMatrix(idrotm[309],90.0,218.57,90.0,308.57,0.0,0.0);
612 AliMatrix(idrotm[310],90.0,167.14,90.0,257.14,0.0,0.0);
613 AliMatrix(idrotm[311],90.0,141.43,90.0,231.43,0.0,0.0);
614 AliMatrix(idrotm[312],90.0,0.0,0.0,0.0,90.0,270.0);
615 AliMatrix(idrotm[313],90.0,115.71,90.0,205.71,0.0,0.0);
616 AliMatrix(idrotm[314],90.0,335.45,90.0,65.45,0.0,0.0);
617 AliMatrix(idrotm[315],90.0,319.09,90.0,49.09,0.0,0.0);
618 AliMatrix(idrotm[316],90.0,302.73,90.0,32.73,0.0,0.0);
619 AliMatrix(idrotm[317],90.0,286.36,90.0,16.36,0.0,0.0);
620 AliMatrix(idrotm[318],90.0,270.0,90.0,360.0,0.0,0.0);
621 AliMatrix(idrotm[319],90.0,253.64,90.0,343.64,0.0,0.0);
622 AliMatrix(idrotm[320],90.0,237.27,90.0,327.27,0.0,0.0);
623 AliMatrix(idrotm[321],90.0,12.86,90.0,102.86,0.0,0.0);
624 AliMatrix(idrotm[322],90.0,220.91,90.0,310.91,0.0,0.0);
625 AliMatrix(idrotm[323],90.0,204.55,90.0,294.55,0.0,0.0);
626 AliMatrix(idrotm[324],90.0,188.18,90.0,278.18,0.0,0.0);
627 AliMatrix(idrotm[325],90.0,171.82,90.0,261.82,0.0,0.0);
628 AliMatrix(idrotm[326],90.0,155.45,90.0,245.45,0.0,0.0);
629 AliMatrix(idrotm[327],90.0,139.09,90.0,229.09,0.0,0.0);
630 AliMatrix(idrotm[328],90.0,122.73,90.0,212.73,0.0,0.0);
631 AliMatrix(idrotm[329],90.0,106.36,90.0,196.36,0.0,0.0);
632 AliMatrix(idrotm[330],90.0,73.64,90.0,163.64,0.0,0.0);
633 AliMatrix(idrotm[331],90.0,40.91,90.0,130.91,0.0,0.0);
634 AliMatrix(idrotm[332],90.0,24.55,90.0,114.55,0.0,0.0);
635 AliMatrix(idrotm[333],90.0,38.57,90.0,128.57,0.0,0.0);
636 AliMatrix(idrotm[334],90.0,351.82,90.0,81.82,0.0,0.0);
637 AliMatrix(idrotm[335],90.0,8.18,90.0,98.18,0.0,0.0);
638 AliMatrix(idrotm[336],90.0,64.29,90.0,154.29,0.0,0.0);
639 AliMatrix(idrotm[337],111.0,300.0,21.0,300.0,90.0,30.0);
640 AliMatrix(idrotm[338],69.0,240.0,159.0,240.0,90.0,150.0);
641 AliMatrix(idrotm[339],111.0,240.0,21.0,240.0,90.0,150.0);
642 AliMatrix(idrotm[340],69.0,300.0,159.0,300.0,90.0,30.0);
643 AliMatrix(idrotm[341],128.0,0.0,38.0,0.0,90.0,270.0);
644 AliMatrix(idrotm[342],90.0,240.0,180.0,0.0,90.0,330.);
645 AliMatrix(idrotm[343],90.0,120.0,180.0,0.0,90.0,210.0);
646 AliMatrix(idrotm[344],90.0,0.0,180.0,0.0,90.0,90.0);
647 AliMatrix(idrotm[345],90.0,180.0,90.0,90.0,0.0,0.0);
648 AliMatrix(idrotm[346],90.0,300.0,90.0,30.0,0.0,0.0);
649 AliMatrix(idrotm[347],90.0,240.0,90.0,150.0,0.0,0.0);
650 AliMatrix(idrotm[348],90.0,180.0,0.0,0.0,90.0,270.0);
651 AliMatrix(idrotm[349],90.0,235.0,90.0,145.0,0.0,0.0);
652 AliMatrix(idrotm[350],90.0,90.0,90.0,180.0,0.0,0.0);
653 AliMatrix(idrotm[351],90.0,305.0,90.0,35.0,0.0,0.0);
654 AliMatrix(idrotm[352],0.0,0.0,90.0,0.0,90.0,90.0);
655 AliMatrix(idrotm[353],90.0,60.0,90.0,150.0,0.0,0.0);
656 AliMatrix(idrotm[354],90.0,120.0,90.0,30.0,0.0,0.0);
657 AliMatrix(idrotm[355],90.0,180.0,90.0,90.0,180.0,0.0);
658 AliMatrix(idrotm[356],90.0,270.0,90.0,0.0,0.0,0.0);
659 AliMatrix(idrotm[366],90.0,57.27,90.0,147.27,0.0,0.0);
660 AliMatrix(idrotm[386],90.0,192.86,90.0,282.86,0.0,0.0);
661
662 // SSD
663
664 AliMatrix(idrotm[501],90.0,148.24,90.0,238.24,0.0,0.0);
665 AliMatrix(idrotm[503],90.0,137.65,90.0,227.65,0.0,0.0);
666 AliMatrix(idrotm[504],90.0,127.06,90.0,217.06,0.0,0.0);
667 AliMatrix(idrotm[505],90.0,116.47,90.0,206.47,0.0,0.0);
668 AliMatrix(idrotm[506],90.0,105.88,90.0,195.88,0.0,0.0);
669 AliMatrix(idrotm[507],90.0,95.29,90.0,185.29,0.0,0.0);
670 AliMatrix(idrotm[508],90.0,84.71,90.0,174.71,0.0,0.0);
671 AliMatrix(idrotm[509],90.0,74.12,90.0,164.12,0.0,0.0);
672 AliMatrix(idrotm[510],90.0,63.53,90.0,153.53,0.0,0.0);
673 AliMatrix(idrotm[511],90.0,52.94,90.0,142.94,0.0,0.0);
674 AliMatrix(idrotm[512],90.0,42.35,90.0,132.35,0.0,0.0);
675 AliMatrix(idrotm[513],90.0,31.76,90.0,121.76,0.0,0.0);
676 AliMatrix(idrotm[514],90.0,10.59,90.0,100.59,0.0,0.0);
677 AliMatrix(idrotm[515],90.0,349.41,90.0,79.41,0.0,0.0);
678 AliMatrix(idrotm[516],90.0,338.82,90.0,68.82,0.0,0.0);
679 AliMatrix(idrotm[517],90.0,328.24,90.0,58.24,0.0,0.0);
680 AliMatrix(idrotm[518],90.0,317.65,90.0,47.65,0.0,0.0);
681 AliMatrix(idrotm[519],90.0,307.06,90.0,37.06,0.0,0.0);
682 AliMatrix(idrotm[520],90.0,296.47,90.0,26.47,0.0,0.0);
683 AliMatrix(idrotm[521],90.0,285.88,90.0,15.88,0.0,0.0);
684 AliMatrix(idrotm[522],90.0,275.29,90.0,5.29,0.0,0.0);
685 AliMatrix(idrotm[523],90.0,264.71,90.0,354.71,0.0,0.0);
686 AliMatrix(idrotm[524],90.0,254.12,90.0,344.12,0.0,0.0);
687 AliMatrix(idrotm[525],90.0,243.53,90.0,333.53,0.0,0.0);
688 AliMatrix(idrotm[526],90.0,232.94,90.0,322.94,0.0,0.0);
689 AliMatrix(idrotm[527],90.0,222.35,90.0,312.35,0.0,0.0);
690 AliMatrix(idrotm[528],90.0,211.76,90.0,301.76,0.0,0.0);
691 AliMatrix(idrotm[529],90.0,190.59,90.0,280.59,0.0,0.0);
692 AliMatrix(idrotm[530],90.0,169.41,90.0,259.41,0.0,0.0);
693 AliMatrix(idrotm[531],90.0,158.82,90.0,248.82,0.0,0.0);
694 AliMatrix(idrotm[532],90.0,360.0,90.0,90.0,0.0,0.0);
695 AliMatrix(idrotm[533],90.0,180.0,90.0,270.0,0.0,0.0);
696 AliMatrix(idrotm[534],90.0,189.47,90.0,279.47,0.0,0.0);
9d2da7b3 697 AliMatrix(idrotm[535],90.0,198.95,90.0,288.95,0.0,0.0);
db915fea 698 AliMatrix(idrotm[537],90.0,217.89,90.0,307.89,0.0,0.0);
699 AliMatrix(idrotm[538],90.0,227.37,90.0,317.37,0.0,0.0);
700 AliMatrix(idrotm[539],90.0,236.84,90.0,326.84,0.0,0.0);
701 AliMatrix(idrotm[540],90.0,246.32,90.0,336.32,0.0,0.0);
702 AliMatrix(idrotm[541],90.0,255.79,90.0,345.79,0.0,0.0);
703 AliMatrix(idrotm[542],90.0,265.26,90.0,355.26,0.0,0.0);
704 AliMatrix(idrotm[543],90.0,274.74,90.0,4.74,0.0,0.0);
705 AliMatrix(idrotm[544],90.0,284.21,90.0,14.21,0.0,0.0);
706 AliMatrix(idrotm[545],90.0,293.68,90.0,23.68,0.0,0.0);
707 AliMatrix(idrotm[546],90.0,303.16,90.0,33.16,0.0,0.0);
708 AliMatrix(idrotm[547],90.0,312.63,90.0,42.63,0.0,0.0);
709 AliMatrix(idrotm[548],90.0,322.11,90.0,52.11,0.0,0.0);
710 AliMatrix(idrotm[549],90.0,331.58,90.0,61.58,0.0,0.0);
711 AliMatrix(idrotm[550],90.0,341.05,90.0,71.05,0.0,0.0);
712 AliMatrix(idrotm[551],90.0,350.53,90.0,80.53,0.0,0.0);
713 AliMatrix(idrotm[552],90.0,9.47,90.0,99.47,0.0,0.0);
9d2da7b3 714 AliMatrix(idrotm[553],90.0,18.95,90.0,108.95,0.0,0.0);
db915fea 715 AliMatrix(idrotm[555],90.0,37.89,90.0,127.89,0.0,0.0);
716 AliMatrix(idrotm[556],90.0,47.37,90.0,137.37,0.0,0.0);
717 AliMatrix(idrotm[557],90.0,56.84,90.0,146.84,0.0,0.0);
718 AliMatrix(idrotm[558],90.0,66.32,90.0,156.32,0.0,0.0);
719 AliMatrix(idrotm[559],90.0,75.79,90.0,165.79,0.0,0.0);
720 AliMatrix(idrotm[560],90.0,85.26,90.0,175.26,0.0,0.0);
721 AliMatrix(idrotm[561],90.0,94.74,90.0,184.74,0.0,0.0);
722 AliMatrix(idrotm[562],90.0,104.21,90.0,194.21,0.0,0.0);
723 AliMatrix(idrotm[563],90.0,113.68,90.0,203.68,0.0,0.0);
724 AliMatrix(idrotm[564],90.0,123.16,90.0,213.16,0.0,0.0);
725 AliMatrix(idrotm[565],90.0,132.63,90.0,222.63,0.0,0.0);
726 AliMatrix(idrotm[566],90.0,142.11,90.0,232.11,0.0,0.0);
727 AliMatrix(idrotm[567],90.0,151.58,90.0,241.58,0.0,0.0);
728 AliMatrix(idrotm[568],90.0,161.05,90.0,251.05,0.0,0.0);
729 AliMatrix(idrotm[569],90.0,170.53,90.0,260.53,0.0,0.0);
730 AliMatrix(idrotm[570],90.0,180.0,90.0,90.0,180.0,0.0);
731 AliMatrix(idrotm[571],90.0,0.0,0.0,0.0,90.0,270.0);
732 AliMatrix(idrotm[572],90.0,180.0,0.0,0.0,90.0,270.0);
733 AliMatrix(idrotm[573],90.0,180.0,90.0,90.0,0.0,0.0);
734 AliMatrix(idrotm[575],90.0,120.0,180.0,0.0,90.0,210.0);
735 AliMatrix(idrotm[576],65.71,300.0,90.0,30.0,24.29,120.0);
736 AliMatrix(idrotm[577],114.29,300.0,90.0,30.0,155.71,120.0);
737 AliMatrix(idrotm[579],65.71,240.0,90.0,150.0,24.29,60.0);
738 AliMatrix(idrotm[580],114.29,240.0,90.0,150.0,155.71,60.0);
739 AliMatrix(idrotm[581],90.0,240.0,180.0,0.0,90.0,330.0);
740 AliMatrix(idrotm[583],90.0,0.0,180.0,0.0,90.0,90.0);
741 AliMatrix(idrotm[584],90.0,180.0,180.0,0.0,90.0,90.0);
742 AliMatrix(idrotm[586],180.0,0.0,90.0,90.0,90.0,0.0);
743 AliMatrix(idrotm[618],90.0,201.18,90.0,291.18,0.0,0.0);
744 AliMatrix(idrotm[620],90.0,28.42,90.0,118.42,0.0,0.0);
745 AliMatrix(idrotm[623],90.0,208.42,90.0,298.42,0.0,0.0);
746 AliMatrix(idrotm[633],132.46,0.0,90.0,90.0,42.46,360.0);
747 AliMatrix(idrotm[653],90.0,21.18,90.0,111.18,0.0,0.0);
748
9d2da7b3 749
750 // SDD cone
751
752 AliMatrix(idrotm[846],90.0,300.0,90.0,30.0,0.0,0.0);
753 AliMatrix(idrotm[851],90.0,305.0,90.0,35.0,0.0,0.0);
754 AliMatrix(idrotm[853],90.0,60.0,90.0,150.0,0.0,0.0);
755 AliMatrix(idrotm[856],90.0,0.0,90.0,90.0,180.0,0.0);
756 AliMatrix(idrotm[857],90.0,5.0,90.0,95.0,180.0,0.0);
757 AliMatrix(idrotm[858],90.0,65.0,90.0,155.0,180.0,0.0);
758 AliMatrix(idrotm[859],90.0,305.0,90.0,35.0,180.0,0.0);
759 AliMatrix(idrotm[860],90.0,245.0,90.0,335.0,180.0,0.0);
760 AliMatrix(idrotm[861],90.0,185.0,90.0,275.0,180.0,0.0);
761 AliMatrix(idrotm[862],90.0,125.0,90.0,215.0,180.0,0.0);
762 AliMatrix(idrotm[863],90.0,257.5,90.0,347.5,180.0,0.0);
763 AliMatrix(idrotm[864],90.0,227.5,90.0,317.5,180.0,0.0);
764 AliMatrix(idrotm[865],90.0,197.5,90.0,287.5,180.0,0.0);
765 AliMatrix(idrotm[867],90.0,167.5,90.0,257.5,180.0,0.0);
766 AliMatrix(idrotm[868],90.0,287.5,90.0,17.5,0.0,0.0);
767 AliMatrix(idrotm[869],90.0,137.5,90.0,227.5,180.0,0.0);
768 AliMatrix(idrotm[870],90.0,107.5,90.0,197.5,180.0,0.0);
769 AliMatrix(idrotm[871],90.0,77.5,90.0,167.5,180.0,0.0);
770 AliMatrix(idrotm[872],90.0,47.5,90.0,137.5,180.0,0.0);
771 AliMatrix(idrotm[873],90.0,17.5,90.0,107.5,180.0,0.0);
772 AliMatrix(idrotm[874],90.0,347.5,90.0,77.5,180.0,0.0);
773 AliMatrix(idrotm[875],90.0,317.5,90.0,47.5,180.0,0.0);
774 AliMatrix(idrotm[876],90.0,287.5,90.0,17.5,180.0,0.0);
775 AliMatrix(idrotm[877],90.0,185.0,90.0,275.0,0.0,0.0);
776 AliMatrix(idrotm[878],90.0,180.0,90.0,270.0,0.0,0.0);
777 AliMatrix(idrotm[879],90.0,125.0,90.0,215.0,0.0,0.0);
778 AliMatrix(idrotm[880],90.0,65.0,90.0,155.0,0.0,0.0);
779 AliMatrix(idrotm[881],90.0,5.0,90.0,95.0,0.0,0.0);
780 AliMatrix(idrotm[882],90.0,245.0,90.0,335.0,0.0,0.0);
781 AliMatrix(idrotm[883],90.0,47.5,90.0,137.5,0.0,0.0);
782 AliMatrix(idrotm[884],90.0,77.5,90.0,167.5,0.0,0.0);
783 AliMatrix(idrotm[885],90.0,107.5,90.0,197.5,0.0,0.0);
784 AliMatrix(idrotm[887],90.0,137.5,90.0,227.5,0.0,0.0);
785 AliMatrix(idrotm[888],90.0,167.5,90.0,257.5,0.0,0.0);
786 AliMatrix(idrotm[889],90.0,197.5,90.0,287.5,0.0,0.0);
787 AliMatrix(idrotm[890],90.0,227.5,90.0,317.5,0.0,0.0);
788 AliMatrix(idrotm[891],90.0,347.5,90.0,77.5,0.0,0.0);
789 AliMatrix(idrotm[892],90.0,317.5,90.0,47.5,0.0,0.0);
790 AliMatrix(idrotm[893],90.0,257.5,90.0,347.5,0.0,0.0);
791 AliMatrix(idrotm[894],90.0,270.0,0.0,0.0,90.0,180.0);
792 AliMatrix(idrotm[895],90.0,286.36,0.0,0.0,90.0,196.36);
793 AliMatrix(idrotm[896],90.0,302.73,0.0,0.0,90.0,212.73);
794 AliMatrix(idrotm[897],90.0,319.09,0.0,0.0,90.0,229.09);
795 AliMatrix(idrotm[898],90.0,17.5,90.0,107.5,0.0,0.0);
796 AliMatrix(idrotm[899],90.0,335.45,0.0,0.0,90.0,245.45);
797 AliMatrix(idrotm[900],90.0,351.82,0.0,0.0,90.0,261.82);
798 AliMatrix(idrotm[901],90.0,8.18,0.0,0.0,90.0,278.18);
799 AliMatrix(idrotm[902],90.0,24.55,0.0,0.0,90.0,294.55);
800 AliMatrix(idrotm[903],90.0,40.91,0.0,0.0,90.0,310.91);
801 AliMatrix(idrotm[904],90.0,57.27,0.0,0.0,90.0,327.27);
802 AliMatrix(idrotm[905],90.0,73.64,0.0,0.0,90.0,343.64);
803 AliMatrix(idrotm[906],90.0,90.0,0.0,0.0,90.0,360.0);
804 AliMatrix(idrotm[907],90.0,106.36,0.0,0.0,90.0,16.36);
805 AliMatrix(idrotm[908],90.0,122.73,0.0,0.0,90.0,32.73);
806 AliMatrix(idrotm[909],90.0,139.09,0.0,0.0,90.0,49.09);
807 AliMatrix(idrotm[910],90.0,155.45,0.0,0.0,90.0,65.45);
808 AliMatrix(idrotm[911],90.0,171.82,0.0,0.0,90.0,81.82);
809 AliMatrix(idrotm[912],90.0,188.18,0.0,0.0,90.0,98.18);
810 AliMatrix(idrotm[913],90.0,204.55,0.0,0.0,90.0,114.55);
811 AliMatrix(idrotm[914],90.0,220.91,0.0,0.0,90.0,130.91);
812 AliMatrix(idrotm[915],90.0,237.27,0.0,0.0,90.0,147.27);
813 AliMatrix(idrotm[916],90.0,253.64,0.0,0.0,90.0,163.64);
814 AliMatrix(idrotm[917],90.0,295.71,0.0,0.0,90.0,205.71);
815 AliMatrix(idrotm[918],90.0,321.43,0.0,0.0,90.0,231.43);
816 AliMatrix(idrotm[919],90.0,347.14,0.0,0.0,90.0,257.14);
817 AliMatrix(idrotm[920],90.0,12.86,0.0,0.0,90.0,282.86);
818 AliMatrix(idrotm[921],90.0,38.57,0.0,0.0,90.0,308.57);
819 AliMatrix(idrotm[922],90.0,64.29,0.0,0.0,90.0,334.29);
820 AliMatrix(idrotm[923],90.0,115.71,0.0,0.0,90.0,25.71);
821 AliMatrix(idrotm[924],90.0,141.43,0.0,0.0,90.0,51.43);
822 AliMatrix(idrotm[925],90.0,167.14,0.0,0.0,90.0,77.14);
823 AliMatrix(idrotm[926],90.0,192.86,0.0,0.0,90.0,102.86);
824 AliMatrix(idrotm[927],90.0,218.57,0.0,0.0,90.0,128.57);
825 AliMatrix(idrotm[928],90.0,244.29,0.0,0.0,90.0,154.29);
826 AliMatrix(idrotm[929],90.0,120.0,90.0,210.0,0.0,0.0);
827 AliMatrix(idrotm[930],90.0,240.0,90.0,330.0,0.0,0.0);
828 AliMatrix(idrotm[931],90.0,60.0,90.0,150.0,180.0,0.0);
829 AliMatrix(idrotm[932],90.0,120.0,90.0,210.0,180.0,0.0);
830 AliMatrix(idrotm[933],90.0,180.0,90.0,270.0,180.0,0.0);
831 AliMatrix(idrotm[934],90.0,240.0,90.0,330.0,180.0,0.0);
832 AliMatrix(idrotm[935],90.0,300.0,90.0,30.0,180.0,0.0);
833
834 // SSD cone
835
836 AliMatrix(idrotm[701],90.0,0.0,90.0,90.0,180.0,0.0);
837 AliMatrix(idrotm[702],90.0,347.5,90.0,77.5,180.0,0.0);
838 AliMatrix(idrotm[703],90.0,17.5,90.0,107.5,180.0,0.0);
839 AliMatrix(idrotm[704],90.0,47.5,90.0,137.5,180.0,0.0);
840 AliMatrix(idrotm[705],90.0,77.5,90.0,167.5,180.0,0.0);
841 AliMatrix(idrotm[706],90.0,107.5,90.0,197.5,180.0,0.0);
842 AliMatrix(idrotm[707],90.0,137.5,90.0,227.5,180.0,0.0);
843 AliMatrix(idrotm[708],90.0,167.5,90.0,257.5,180.0,0.0);
844 AliMatrix(idrotm[709],90.0,197.5,90.0,287.5,180.0,0.0);
845 AliMatrix(idrotm[710],90.0,227.5,90.0,317.5,180.0,0.0);
846 AliMatrix(idrotm[711],90.0,257.5,90.0,347.5,180.0,0.0);
847 AliMatrix(idrotm[712],90.0,287.5,90.0,17.5,180.0,0.0);
848 AliMatrix(idrotm[713],90.0,317.5,90.0,47.5,180.0,0.0);
849 AliMatrix(idrotm[714],90.0,328.4,90.0,58.4,180.0,0.0);
850 AliMatrix(idrotm[715],90.0,28.4,90.0,118.4,180.0,0.0);
851 AliMatrix(idrotm[716],90.0,88.4,90.0,178.4,180.0,0.0);
852 AliMatrix(idrotm[717],90.0,148.4,90.0,238.4,180.0,0.0);
853 AliMatrix(idrotm[718],90.0,208.4,90.0,298.4,180.0,0.0);
854 AliMatrix(idrotm[719],90.0,268.4,90.0,358.4,180.0,0.0);
855 AliMatrix(idrotm[720],90.0,28.4,90.0,118.4,0.0,0.0);
856 AliMatrix(idrotm[721],90.0,88.4,90.0,178.4,0.0,0.0);
857 AliMatrix(idrotm[722],90.0,148.4,90.0,238.4,0.0,0.0);
858 AliMatrix(idrotm[723],90.0,208.4,90.0,298.4,0.0,0.0);
859 AliMatrix(idrotm[724],90.0,268.4,90.0,358.4,0.0,0.0);
860 AliMatrix(idrotm[725],90.0,328.4,90.0,58.4,0.0,0.0);
861 AliMatrix(idrotm[726],90.0,77.5,90.0,167.5,0.0,0.0);
862 AliMatrix(idrotm[727],90.0,107.5,90.0,197.5,0.0,0.0);
863 AliMatrix(idrotm[728],90.0,137.5,90.0,227.5,0.0,0.0);
864 AliMatrix(idrotm[729],90.0,167.5,90.0,257.5,0.0,0.0);
865 AliMatrix(idrotm[730],90.0,227.5,90.0,317.5,0.0,0.0);
866 AliMatrix(idrotm[731],90.0,257.5,90.0,347.5,0.0,0.0);
867 AliMatrix(idrotm[732],90.0,317.5,90.0,47.5,0.0,0.0);
868 AliMatrix(idrotm[733],90.0,197.5,90.0,287.5,0.0,0.0);
869 AliMatrix(idrotm[734],90.0,347.5,90.0,77.5,0.0,0.0);
870 AliMatrix(idrotm[735],90.0,47.5,90.0,137.5,0.0,0.0);
871 AliMatrix(idrotm[768],90.0,287.5,90.0,17.5,0.0,0.0);
872 AliMatrix(idrotm[798],90.0,17.5,90.0,107.5,0.0,0.0);
873
874 // Services
875
876 AliMatrix(idrotm[200], 90., 0., 90., 90., 180., 0.);
db915fea 877
878
879 // CONVERT INTO CM (RL(SI)=9.36 CM)
9d2da7b3 880
db915fea 881 for (i = 0; i < 6; ++i) {
882 drl[i] = drl[i] / 100. * 9.36;
883 }
884
885 // FIELD CAGE HALF LENGTH
886
887 rlim = 56.;
888 zmax = 76.708;
889 xltpc = 284.;
9d2da7b3 890
db915fea 891 // --- Define ghost volume containing the whole ITS (including services)
892 // and fill it with air
893
894 dgh[0] = 0.;
895 dgh[1] = 360.;
896 dgh[2] = 12.;
897 dgh[3] = -xltpc-5.-0.1;
45725ec9 898 dgh[4] = 62.4;
db915fea 899 dgh[5] = 85.;
900 dgh[6] = -xltpc;
45725ec9 901 dgh[7] = 62;
db915fea 902 dgh[8] = 85.;
903 dgh[9] = -xltpc;
45725ec9 904 dgh[10] = 62;
905 dgh[11] = 62+4.;
db915fea 906 dgh[12] = -100.7;
45725ec9 907 dgh[13] = 46;
db915fea 908 dgh[14] = 56.1;
909 dgh[15] = -77.2;
45725ec9 910 dgh[16] = 46;
db915fea 911 dgh[17] = 56.1;
912 dgh[18] = -40.;
913 dgh[19] = 3.295;
914 dgh[20] = 56.1;
45725ec9 915
916/*
917 dgh[21] = -35.;
918 dgh[22] = 3.295;
919 dgh[23] = 56.1;
920
921 dgh[24] = -35.;
922 dgh[25] = 5.;
923 dgh[26] = 56.1;
924
925 dgh[27] = -29.;
926 dgh[28] = 5.;
927 dgh[29] = 56.1;
928
929 dgh[30] = -29.;
930 dgh[31] = 3.295;
931 dgh[32] = 56.1;
932
933*/
934
db915fea 935 dgh[21] = 40.;
936 dgh[22] = 3.295;
937 dgh[23] = 56.1;
938 dgh[24] = 77.2;
45725ec9 939 dgh[25] = 46;
db915fea 940 dgh[26] = 56.1;
941 dgh[27] = 100.7;
45725ec9 942 dgh[28] = 46;
db915fea 943 dgh[29] = 56.1;
944 dgh[30] = xltpc;
45725ec9 945 dgh[31] = 62;
946 dgh[32] = 62+4.;
db915fea 947 dgh[33] = xltpc;
45725ec9 948 dgh[34] = 62;
db915fea 949 dgh[35] = 85.;
950 dgh[36] = xltpc+4.+0.1;
951 dgh[37] = 62.4;
952 dgh[38] = 85.;
9d2da7b3 953 gMC->Gsvolu("ITSV", "PCON", idtmed[205], dgh, 39);
db915fea 954
955 // --- Place the ghost volume in its mother volume (ALIC) and make it
956 // invisible
957
958 gMC->Gspos("ITSV", 1, "ALIC", 0., 0., 0., 0, "ONLY");
959 //gMC->Gsatt("ITSV", "SEEN", 0);
9d2da7b3 960
961
db915fea 962 // --- Define ghost volume containing the six layers and fill it with air
963
964 dgh[0] = 0.;
965 dgh[1] = 360.;
966 dgh[2] = 4.;
967 dgh[3] = -77.2;
45725ec9 968 dgh[4] = 46.;
db915fea 969 dgh[5] = 56.;
970 dgh[6] = -40.;
971 dgh[7] = 3.3;
972 dgh[8] = 56.;
973 dgh[9] = 40.;
974 dgh[10] = 3.3;
975 dgh[11] = 56.;
976 dgh[12] = 77.2;
45725ec9 977 dgh[13] = 46.;
db915fea 978 dgh[14] = 56.;
9d2da7b3 979 gMC->Gsvolu("ITSD", "PCON", idtmed[205], dgh, 15);
db915fea 980
9d2da7b3 981 // --- Place the ghost volume in its mother volume (ITSV) and make it
db915fea 982 // invisible
983
984 gMC->Gspos("ITSD", 1, "ITSV", 0., 0., 0., 0, "ONLY");
985 //gMC->Gsatt("ITSD", "SEEN", 0);
db915fea 986
db915fea 987
9d2da7b3 988 // --- Define SPD (option 'a') volumes ----------------------------
989
990 // SPD - option 'a'
991 // (this is NOT the default)
992
993 if (option == 1) {
994
995 dits[0] = 3.7;
996 dits[1] = 7.75;
45725ec9 997 dits[2] = 26.1;
9d2da7b3 998 gMC->Gsvolu("IT12", "TUBE", idtmed[254], dits, 3);
999
1000 dits[0] = 3.7;
1001 dits[1] = 7.7;
1002 dits[2] = 24;
1003 dits[3] = 57;
1004 dits[4] = 100;
1005 gMC->Gsvolu("I12A", "TUBS", idtmed[254], dits, 5); // sector
1006
1007 di10a[0] = 0.843;
1008 di10a[1] = ddet1+dchip1+dbus+0.0025;
1009 di10a[2] = 19.344;
1010 gMC->Gsvolu("I10A", "BOX ", idtmed[254], di10a, 3); // mother volume
1011 // on layer 1
1012 di20a[0] = 0.843;
1013 di20a[1] = ddet2+dchip2+dbus+0.0025;
1014 di20a[2] = 19.344;
1015 gMC->Gsvolu("I20A", "BOX ", idtmed[254], di20a, 3); // mother volume
1016 // on layer 2
1017 dits[0] = 1.3673;
1018 dits[1] = 0.01;
1019 dits[2] = 24;
1020 gMC->Gsvolu("I123", "BOX ", idtmed[253], dits, 3);
1021
1022 dits[0] = 0.06;
1023 dits[1] = 0.08;
1024 dits[2] = 24;
1025 dits[3] = -36.79;
1026 dits[4] = 21.834;
1027 gMC->Gsvolu("I121", "TUBS", idtmed[253], dits, 5);
1028
1029 dits[0] = 0.1253;
1030 dits[1] = 0.01;
1031 dits[2] = 24;
1032 gMC->Gsvolu("I122", "BOX ", idtmed[253], dits, 3);
1033
1034 dits[0] = 0.04;
1035 dits[1] = 0.06 ;
1036 dits[2] = 24;
1037 dits[3] = 126.79;
1038 dits[4] = 270;
1039 gMC->Gsvolu("I120", "TUBS", idtmed[253], dits, 5);
1040
1041 dits[0] = 0.1134;
1042 dits[1] = 0.01;
1043 dits[2] = 24;
1044 gMC->Gsvolu("I144", "BOX ", idtmed[253], dits, 3);
1045
1046 dits[0] = 0.25;
1047 dits[1] = 0.06;
1048 dits[2] = 24;
1049 gMC->Gsvolu("I113", "BOX ", idtmed[254], dits, 3);
1050
1051 dits[0] = 0.077;
1052 dits[1] = 0.01;
1053 dits[2] = 24;
1054 gMC->Gsvolu("I143", "BOX ", idtmed[253], dits, 3);
1055
1056 dits[0] = 0.04;
1057 dits[1] = 0.06;
1058 dits[2] = 24;
1059 dits[3] = 0;
1060 dits[4] = 90;
1061 gMC->Gsvolu("I142", "TUBS", idtmed[253], dits, 5);
1062
1063 dits[0] = 0.0695;
1064 dits[1] = 0.01;
1065 dits[2] = 24;
1066 gMC->Gsvolu("I141", "BOX ", idtmed[253], dits, 3);
1067
1068 dits[0] = 0.06;
1069 dits[1] = 0.08;
1070 dits[2] = 24;
1071 dits[3] = 0;
1072 dits[4] = 108;
1073 gMC->Gsvolu("I140", "TUBS", idtmed[253], dits, 5);
1074
1075 dits[0] = 0.1835;
1076 dits[1] = 0.01;
1077 dits[2] = 24;
1078 gMC->Gsvolu("I139", "BOX ", idtmed[253], dits, 3);
1079
1080 dits[0] = 0.1894 ;
1081 dits[1] = 0.01;
1082 dits[2] = 24;
1083 gMC->Gsvolu("I138", "BOX ", idtmed[253], dits, 3);
1084
1085 dits[0] = 0.04;
1086 dits[1] = 0.06;
1087 dits[2] = 24;
1088 dits[3] = 0;
1089 dits[4] = 75.261;
1090 gMC->Gsvolu("I137", "TUBS", idtmed[253], dits, 5);
1091
1092 dits[0] = 1.3401;
1093 dits[1] = 0.01;
1094 dits[2] = 24;
1095 gMC->Gsvolu("I136", "BOX ", idtmed[253], dits, 3);
1096
1097 dits[0] = 0.05;
1098 dits[1] = 0.07;
1099 dits[2] = 24;
1100 dits[3] = 0;
1101 dits[4] = 72.739;
1102 gMC->Gsvolu("I135", "TUBS", idtmed[253], dits, 5);
1103
1104 dits[0] = 0.1193;
1105 dits[1] = 0.01;
1106 dits[2] = 24;
1107 gMC->Gsvolu("I134", "BOX ", idtmed[253], dits, 3);
1108
1109 dits[0] = 0.163;
1110 dits[1] = 0.01;
1111 dits[2] = 24;
1112 gMC->Gsvolu("I133", "BOX ", idtmed[253], dits, 3);
1113
1114 dits[0] = 0.04;
1115 dits[1] = 0.06;
1116 dits[2] = 24;
1117 dits[3] = 0;
1118 dits[4] = 157.633;
1119 gMC->Gsvolu("I132", "TUBS", idtmed[253], dits, 5);
1120
1121 dits[0] = 0.2497;
1122 dits[1] = 0.01;
1123 dits[2] = 24;
1124 gMC->Gsvolu("I131", "BOX ", idtmed[253], dits, 3);
1125
1126 dits[0] = 0.06;
1127 dits[1] = 0.08;
1128 dits[2] = 24;
1129 dits[3] = 0;
1130 dits[4] = 148.633;
1131 gMC->Gsvolu("I130", "TUBS", idtmed[253], dits, 5);
1132
1133 dits[0] = 0.292;
1134 dits[1] = 0.01;
1135 dits[2] = 24;
1136 gMC->Gsvolu("I129", "BOX ", idtmed[253], dits, 3);
1137
1138 dits[0] = 0.163;
1139 dits[1] = 0.01;
1140 dits[2] = 24;
1141 gMC->Gsvolu("I128", "BOX ", idtmed[253], dits, 3);
1142
1143 dits[0] = 0.04;
1144 dits[1] = 0.06;
1145 dits[2] = 24;
1146 dits[3] = 0;
1147 dits[4] = 161.297;
1148 gMC->Gsvolu("I126", "TUBS", idtmed[253], dits, 5);
1149
1150 dits[0] = 0.2433;
1151 dits[1] = 0.01;
1152 dits[2] = 24;
1153 gMC->Gsvolu("I125", "BOX ", idtmed[253], dits, 3);
1154
1155 dits[0] = 0.06;
1156 dits[1] = 0.08;
1157 dits[2] = 24;
1158 dits[3] = 0;
1159 dits[4] = 42.883;
1160 gMC->Gsvolu("I124", "TUBS", idtmed[253], dits, 5);
1161
1162 di103[0] = 0.793;
1163 di103[1] = ddet1+dchip1;
1164 di103[2] = 3.536;
1165 gMC->Gsvolu("I103", "BOX ", idtmed[254], di103, 3); // contains det and chip
1166 // layer 1
1167 dits[0] = 0.793;
1168 dits[1] = 0.015;
1169 dits[2] = 2.5;
1170 gMC->Gsvolu("I105", "BOX ", idtmed[201], dits, 3);
1171
1172 di104[0] = 0.843;
1173 di104[1] = dbus;
1174 di104[2] = 14.344;
1175 gMC->Gsvolu("I104", "BOX ", idtmed[275], di104, 3); // bus for both layers
1176
1177 di1d3[0] = 0.793;
1178 di1d3[1] = ddet2+dchip2;
1179 di1d3[2] = 3.536;
1180 gMC->Gsvolu("I1D3", "BOX ", idtmed[254], di1d3, 3); // contains det and chip
1181 // layer 2
1182 dits[0] = 0.793;
1183 dits[0] = 0.06;
1184 dits[1] = 0.08;
1185 dits[2] = 24;
1186 dits[3] = 0;
1187 dits[4] = 80;
1188 gMC->Gsvolu("I112", "TUBS", idtmed[253], dits, 5);
1189
1190 dits[0] = 0.04;
1191 dits[1] = 0.06;
1192 dits[2] = 24;
1193 dits[3] = 0;
1194 dits[4] = 80;
1195 gMC->Gsvolu("I111", "TUBS", idtmed[253], dits, 5);
1196
1197 dits[0] = 0.15;
1198 dits[1] = 0.0146;
1199 dits[2] = 24;
1200 gMC->Gsvolu("I118", "BOX ", idtmed[273], dits, 3);
1201
1202 dits[0] = 0.1315;
1203 dits[1] = 0.01;
1204 dits[2] = 24;
1205 gMC->Gsvolu("I110", "BOX ", idtmed[253], dits, 3);
1206
1207 dits[0] = 0.025;
1208 dits[1] = 0.035;
1209 dits[2] = 24;
1210 dits[3] = 0;
1211 dits[4] = 180;
1212 gMC->Gsvolu("I114", "TUBS", idtmed[264], dits, 5);
1213
1214 dits[0] = 0;
1215 dits[1] = 0.025;
1216 dits[2] = 24;
1217 dits[3] = 0;
1218 dits[4] = 180;
1219 gMC->Gsvolu("I115", "TUBS", idtmed[211], dits, 5);
1220
1221 dits[0] = 0.063;
1222 dits[1] = 0.035;
1223 dits[2] = 24;
1224 gMC->Gsvolu("I116", "BOX ", idtmed[264], dits, 3);
1225
1226 di102[0] = 0.793;
1227 di102[1] = dchip1;
1228 di102[2] = 0.68;
1229 gMC->Gsvolu("I102", "BOX ", idtmed[201], di102, 3); // chip layer 1
1230
1231 di1d2[0] = 0.793;
1232 di1d2[1] = dchip2;
1233 di1d2[2] = 0.68;
1234 gMC->Gsvolu("I1D2", "BOX ", idtmed[201], di1d2, 3); // chip layer 2
1235
1236 di101[0] = 0.705;
1237 di101[1] = ddet1;
1238 di101[2] = 3.536;
1239 gMC->Gsvolu("I101", "BOX ", idtmed[250], di101, 3); // contains detector
1240 // layer 1
1241 di1d1[0] = 0.705;
1242 di1d1[1] = ddet2;
1243 di1d1[2] = 3.536;
1244 gMC->Gsvolu("I1D1", "BOX ", idtmed[250], di1d1, 3); // contains detector
1245 // layer 2
1246 dits[0] = 0.063;
1247 dits[1] = 0.025;
1248 dits[2] = 24;
1249 gMC->Gsvolu("I117", "BOX ", idtmed[211], dits, 3);
1250
1251 dits1[0] = 0.64;
1252 dits1[1] = ddet1;
1253 dits1[2] = 3.48;
1254 gMC->Gsvolu("ITS1", "BOX ", idtmed[200], dits1, 3); // detector layer 1
1255
1256 dits2[0] = 0.64;
1257 dits2[1] = ddet2;
1258 dits2[2] = 3.48;
1259 gMC->Gsvolu("ITS2", "BOX ", idtmed[200], dits2, 3); // detector layer 2
1260
1261 dits[0] = 3.701;
1262 dits[1] = 7.699;
1263 dits[2] = 4;
1264 dits[3] = 57.1;
1265 dits[4] = 99.9;
1266 gMC->Gsvolu("I650", "TUBS", idtmed[254], dits, 5); // was I150 in old geom.
1267
1268 dits[0] = 0;
1269 dits[1] = 0.5;
1270 dits[2] = 1.5;
1271 gMC->Gsvolu("I676", "TUBE", idtmed[274], dits, 3); // was I176 in old geom.
1272
1273 dits[0] = 0;
1274 dits[1] = 0.18;
1275 dits[2] = 0.8;
1276 gMC->Gsvolu("I673", "TUBE", idtmed[274], dits, 3); // was I173 in old geom.
1277
1278 dits[0] = 0;
1279 dits[1] = 0.18;
1280 dits[2] = 3;
1281 gMC->Gsvolu("I671", "TUBE", idtmed[274], dits, 3); // was I171 in old geom.
1282
1283 dits[0] = 0;
1284 dits[1] = 0.075;
1285 dits[2] = 0.8;
1286 gMC->Gsvolu("I669", "TUBE", idtmed[264], dits, 3); // was I169 in old geom.
1287
1288 dits[0] = 3.5;
1289 dits[1] = 5.6;
1290 dits[2] = 0.55;
1291 dits[3] = 0;
1292 dits[4] = 38;
1293 gMC->Gsvolu("I667", "TUBS", idtmed[263], dits, 5); // was I167 in old geom.
1294
1295 dits[0] = 6.6;
1296 dits[1] = 7.6;
1297 dits[2] = 0.5;
1298 dits[3] = 0;
1299 dits[4] = 9;
1300 gMC->Gsvolu("I666", "TUBS", idtmed[263], dits, 5); // was I166 in old geom.
1301
1302 dits[0] = 0.26;
1303 dits[1] = 0.32;
1304 dits[2] = 0.55;
1305 gMC->Gsvolu("I678", "TUBE", idtmed[263], dits, 3); // was I178 in old geom.
1306
1307 dits[0] = 0;
1308 dits[1] = 0.3;
1309 dits[2] = 1.5;
1310 gMC->Gsvolu("I677", "TUBE", idtmed[211], dits, 3); // was I177 in old geom.
1311
1312 dits[0] = 0.07;
1313 dits[1] = 0.125;
1314 dits[2] = 0.3;
1315 gMC->Gsvolu("I675", "TUBE", idtmed[263], dits, 3); // was I175 in old geom.
1316
1317 dits[0] = 0;
1318 dits[1] = 0.1;
1319 dits[2] = 0.8;
1320 gMC->Gsvolu("I674", "TUBE", idtmed[211], dits, 3); // was I174 in old geom.
1321
1322 dits[0] = 0;
1323 dits[1] = 0.1;
1324 dits[2] = 3;
1325 gMC->Gsvolu("I672", "TUBE", idtmed[211], dits, 3); // was I172 in old geom.
1326
1327 dits[0] = 0;
1328 dits[1] = 0.0746;
1329 dits[2] = 0.8;
1330 gMC->Gsvolu("I670", "TUBE", idtmed[211], dits, 3); // was I170 in old geom.
1331
1332 dits[0] = 3.7;
1333 dits[1] = 5.4;
1334 dits[2] = 0.35;
1335 dits[3] = 2;
1336 dits[4] = 36;
1337 gMC->Gsvolu("I668", "TUBS", idtmed[211], dits, 5); // was I168 in old geom.
db915fea 1338
9d2da7b3 1339 }
db915fea 1340
9d2da7b3 1341 // --- Define SPD (option 'b') volumes ----------------------------
1342
1343 // SPD - option 'b'
1344 // (this is the default)
1345
1346 if (option == 2) {
1347
1348 dits[0] = 3.7;
1349 dits[1] = 7.75;
45725ec9 1350 dits[2] = 26.1;
9d2da7b3 1351 gMC->Gsvolu("IT12", "TUBE", idtmed[254], dits, 3);
1352
1353 dits[0] = 3.7;
1354 dits[1] = 7.7;
1355 dits[2] = 24;
1356 dits[3] = 57;
1357 dits[4] = 100;
1358 gMC->Gsvolu("I12B", "TUBS", idtmed[254], dits, 5); // sector
1359
1360 di10b[0] = 0.843;
1361 di10b[1] = ddet1+dchip1+dbus+0.0025;
1362 di10b[2] = 19.344;
1363 gMC->Gsvolu("I10B", "BOX ", idtmed[254], di10b, 3); // mother volume
1364 // on layer 1
1365
1366 di20b[0] = 0.843;
1367 di20b[1] = ddet2+dchip2+dbus+0.0025;
1368 di20b[2] = 19.344;
1369 gMC->Gsvolu("I20B", "BOX ", idtmed[254], di20b, 3); // mother volume
1370 // layer 2
1371
1372 dits[0] = 1.3673;
1373 dits[1] = 0.01;
1374 dits[2] = 24;
1375 gMC->Gsvolu("I123", "BOX ", idtmed[253], dits, 3);
1376
1377 dits[0] = 0.06;
1378 dits[1] = 0.08;
1379 dits[2] = 24;
1380 dits[3] = -36.79;
1381 dits[4] = 21.834;
1382 gMC->Gsvolu("I121", "TUBS", idtmed[253], dits, 5);
1383
1384 dits[0] = 0.1253;
1385 dits[1] = 0.01;
1386 dits[2] = 24;
1387 gMC->Gsvolu("I122", "BOX ", idtmed[253], dits, 3);
1388
1389 dits[0] = 0.04;
1390 dits[1] = 0.06 ;
1391 dits[2] = 24;
1392 dits[3] = 126.79;
1393 dits[4] = 270;
1394 gMC->Gsvolu("I120", "TUBS", idtmed[253], dits, 5);
1395
1396 dits[0] = 0.1134;
1397 dits[1] = 0.01;
1398 dits[2] = 24;
1399 gMC->Gsvolu("I144", "BOX ", idtmed[253], dits, 3);
1400
1401 dits[0] = 0.25;
1402 dits[1] = 0.06;
1403 dits[2] = 24;
1404 gMC->Gsvolu("I113", "BOX ", idtmed[254], dits, 3);
1405
1406 dits[0] = 0.077;
1407 dits[1] = 0.01;
1408 dits[2] = 24;
1409 gMC->Gsvolu("I143", "BOX ", idtmed[253], dits, 3);
1410
1411 dits[0] = 0.04;
1412 dits[1] = 0.06;
1413 dits[2] = 24;
1414 dits[3] = 0;
1415 dits[4] = 90;
1416 gMC->Gsvolu("I142", "TUBS", idtmed[253], dits, 5);
1417
1418 dits[0] = 0.0695;
1419 dits[1] = 0.01;
1420 dits[2] = 24;
1421 gMC->Gsvolu("I141", "BOX ", idtmed[253], dits, 3);
1422
1423 dits[0] = 0.06;
1424 dits[1] = 0.08;
1425 dits[2] = 24;
1426 dits[3] = 0;
1427 dits[4] = 108;
1428 gMC->Gsvolu("I140", "TUBS", idtmed[253], dits, 5);
1429
1430 dits[0] = 0.1835;
1431 dits[1] = 0.01;
1432 dits[2] = 24;
1433 gMC->Gsvolu("I139", "BOX ", idtmed[253], dits, 3);
1434
1435 dits[0] = 0.1894 ;
1436 dits[1] = 0.01;
1437 dits[2] = 24;
1438 gMC->Gsvolu("I138", "BOX ", idtmed[253], dits, 3);
1439
1440 dits[0] = 0.04;
1441 dits[1] = 0.06;
1442 dits[2] = 24;
1443 dits[3] = 0;
1444 dits[4] = 75.261;
1445 gMC->Gsvolu("I137", "TUBS", idtmed[253], dits, 5);
1446
1447 dits[0] = 1.3401;
1448 dits[1] = 0.01;
1449 dits[2] = 24;
1450 gMC->Gsvolu("I136", "BOX ", idtmed[253], dits, 3);
1451
1452 dits[0] = 0.05;
1453 dits[1] = 0.07;
1454 dits[2] = 24;
1455 dits[3] = 0;
1456 dits[4] = 72.739;
1457 gMC->Gsvolu("I135", "TUBS", idtmed[253], dits, 5);
1458
1459 dits[0] = 0.1193;
1460 dits[1] = 0.01;
1461 dits[2] = 24;
1462 gMC->Gsvolu("I134", "BOX ", idtmed[253], dits, 3);
1463
1464 dits[0] = 0.163;
1465 dits[1] = 0.01;
1466 dits[2] = 24;
1467 gMC->Gsvolu("I133", "BOX ", idtmed[253], dits, 3);
1468
1469 dits[0] = 0.04;
1470 dits[1] = 0.06;
1471 dits[2] = 24;
1472 dits[3] = 0;
1473 dits[4] = 157.633;
1474 gMC->Gsvolu("I132", "TUBS", idtmed[253], dits, 5);
1475
1476 dits[0] = 0.2497;
1477 dits[1] = 0.01;
1478 dits[2] = 24;
1479 gMC->Gsvolu("I131", "BOX ", idtmed[253], dits, 3);
1480
1481 dits[0] = 0.06;
1482 dits[1] = 0.08;
1483 dits[2] = 24;
1484 dits[3] = 0;
1485 dits[4] = 148.633;
1486 gMC->Gsvolu("I130", "TUBS", idtmed[253], dits, 5);
1487
1488 dits[0] = 0.292;
1489 dits[1] = 0.01;
1490 dits[2] = 24;
1491 gMC->Gsvolu("I129", "BOX ", idtmed[253], dits, 3);
1492
1493 dits[0] = 0.163;
1494 dits[1] = 0.01;
1495 dits[2] = 24;
1496 gMC->Gsvolu("I128", "BOX ", idtmed[253], dits, 3);
1497
1498 dits[0] = 0.04;
1499 dits[1] = 0.06;
1500 dits[2] = 24;
1501 dits[3] = 0;
1502 dits[4] = 161.297;
1503 gMC->Gsvolu("I126", "TUBS", idtmed[253], dits, 5);
1504
1505 dits[0] = 0.2433;
1506 dits[1] = 0.01;
1507 dits[2] = 24;
1508 gMC->Gsvolu("I125", "BOX ", idtmed[253], dits, 3);
1509
1510 dits[0] = 0.06;
1511 dits[1] = 0.08;
1512 dits[2] = 24;
1513 dits[3] = 0;
1514 dits[4] = 42.883;
1515 gMC->Gsvolu("I124", "TUBS", idtmed[253], dits, 5);
1516
1517 dits[0] = 0.793;
1518 dits[1] = 0.015 ;
1519 dits[2] = 2.5;
1520 gMC->Gsvolu("I105", "BOX ", idtmed[201], dits, 3);
1521
1522 di107[0] = 0.793;
1523 di107[1] = ddet1+dchip1;
1524 di107[2] = 3.536;
1525 gMC->Gsvolu("I107", "BOX ", idtmed[254], di107, 3); // contains det and chip
1526 // layer 1
1527 dits[0] = 0.705;
1528 dits[1] = 0.01;
1529 dits[2] = 2.5;
1530 gMC->Gsvolu("I109", "BOX ", idtmed[275], dits, 3);
1531
1532 di108[0] = 0.705;
1533 di108[1] = dbus;
1534 di108[2] = 14.344;
1535 gMC->Gsvolu("I108", "BOX ", idtmed[275], di108, 3); // bus for both layers
1536
1537 di1d7[0] = 0.7975;
1538 di1d7[1] = ddet2+dchip2;
1539 di1d7[2] = 3.536;
1540 gMC->Gsvolu("I1D7", "BOX ", idtmed[254], di1d7, 3); // contains det and chip
1541 // layer 2
1542 dits[0] = 0.06;
1543 dits[1] = 0.08;
1544 dits[2] = 24;
1545 dits[3] = 0;
1546 dits[4] = 80;
1547 gMC->Gsvolu("I112", "TUBS", idtmed[253], dits, 5);
1548
1549 dits[0] = 0.04;
1550 dits[1] = 0.06;
1551 dits[2] = 24;
1552 dits[3] = 0;
1553 dits[4] = 80;
1554 gMC->Gsvolu("I111", "TUBS", idtmed[253], dits, 5);
1555
1556 dits[0] = 0.15;
1557 dits[1] = 0.0146;
1558 dits[2] = 24;
1559 gMC->Gsvolu("I118", "BOX ", idtmed[273], dits, 3);
1560
1561 dits[0] = 0.1315;
1562 dits[1] = 0.01;
1563 dits[2] = 24;
1564 gMC->Gsvolu("I110", "BOX ", idtmed[253], dits, 3);
1565
1566 dits[0] = 0.025;
1567 dits[1] = 0.035;
1568 dits[2] = 24;
1569 dits[3] = 0;
1570 dits[4] = 180;
1571 gMC->Gsvolu("I114", "TUBS", idtmed[264], dits, 5);
1572
1573 dits[0] = 0;
1574 dits[1] = 0.025;
1575 dits[2] = 24;
1576 dits[3] = 0;
1577 dits[4] = 180;
1578 gMC->Gsvolu("I115", "TUBS", idtmed[211], dits, 5);
1579
1580 dits[0] = 0.063;
1581 dits[1] = 0.035;
1582 dits[2] = 24;
1583 gMC->Gsvolu("I116", "BOX ", idtmed[264], dits, 3);
1584
1585 di106[0] = 0.7975;
1586 di106[1] = dchip1;
1587 di106[2] = 0.68;
1588 gMC->Gsvolu("I106", "BOX ", idtmed[201], di106, 3); // chip layer 1
1589
1590 di1d6[0] = 0.7975;
1591 di1d6[1] = dchip2;
1592 di1d6[2] = 0.68;
1593 gMC->Gsvolu("I1D6", "BOX ", idtmed[201], di1d6, 3); // chip layer 2
1594
1595 di101[0] = 0.705;
1596 di101[1] = ddet1;
1597 di101[2] = 3.536;
1598 gMC->Gsvolu("I101", "BOX ", idtmed[250], di101, 3); // contains detector
1599 // layer 1
1600 di1d1[0] = 0.705;
1601 di1d1[1] = ddet2;
1602 di1d1[2] = 3.536;
1603 gMC->Gsvolu("I1D1", "BOX ", idtmed[250], di1d1, 3); // contains detector
1604 // layer 2
1605 dits[0] = 0.063;
1606 dits[1] = 0.025;
1607 dits[2] = 24;
1608 gMC->Gsvolu("I117", "BOX ", idtmed[211], dits, 3);
1609
1610 dits1[0] = 0.64;
1611 dits1[1] = ddet1;
1612 dits1[2] = 3.48;
1613 gMC->Gsvolu("ITS1", "BOX ", idtmed[200], dits1, 3); // detector layer 1
1614
1615 dits2[0] = 0.64;
1616 dits2[1] = ddet2;
1617 dits2[2] = 3.48;
1618 gMC->Gsvolu("ITS2", "BOX ", idtmed[200], dits2, 3); // detector layer 2
1619
1620 dits[0] = 3.701;
1621 dits[1] = 7.699;
1622 dits[2] = 4;
1623 dits[3] = 57.1;
1624 dits[4] = 99.9;
1625 gMC->Gsvolu("I650", "TUBS", idtmed[254], dits, 5); // was I150 in old geom.
1626
1627 dits[0] = 0;
1628 dits[1] = 0.5;
1629 dits[2] = 1.5;
1630 gMC->Gsvolu("I676", "TUBE", idtmed[274], dits, 3); // was I176 in old geom.
1631
1632 dits[0] = 0;
1633 dits[1] = 0.18;
1634 dits[2] = 0.8;
1635 gMC->Gsvolu("I673", "TUBE", idtmed[274], dits, 3); // was I173 in old geom.
1636
1637 dits[0] = 0;
1638 dits[1] = 0.18;
1639 dits[2] = 3;
1640 gMC->Gsvolu("I671", "TUBE", idtmed[274], dits, 3); // was I171 in old geom.
1641
1642 dits[0] = 0;
1643 dits[1] = 0.075;
1644 dits[2] = 0.8;
1645 gMC->Gsvolu("I669", "TUBE", idtmed[264], dits, 3); // was I169 in old geom.
1646
1647 dits[0] = 3.5;
1648 dits[1] = 5.6;
1649 dits[2] = 0.55;
1650 dits[3] = 0;
1651 dits[4] = 38;
1652 gMC->Gsvolu("I667", "TUBS", idtmed[263], dits, 5); // was I167 in old geom.
1653
1654 dits[0] = 6.6;
1655 dits[1] = 7.6;
1656 dits[2] = 0.5;
1657 dits[3] = 0;
1658 dits[4] = 9;
1659 gMC->Gsvolu("I666", "TUBS", idtmed[263], dits, 5); // was I166 in old geom.
1660
1661 dits[0] = 0.26;
1662 dits[1] = 0.32;
1663 dits[2] = 0.55;
1664 gMC->Gsvolu("I678", "TUBE", idtmed[263], dits, 3); // was I178 in old geom.
1665
1666 dits[0] = 0;
1667 dits[1] = 0.3;
1668 dits[2] = 1.5;
1669 gMC->Gsvolu("I677", "TUBE", idtmed[211], dits, 3); // was I177 in old geom.
1670
1671 dits[0] = 0.07;
1672 dits[1] = 0.125;
1673 dits[2] = 0.3;
1674 gMC->Gsvolu("I675", "TUBE", idtmed[263], dits, 3); // was I175 in old geom.
1675
1676 dits[0] = 0;
1677 dits[1] = 0.1;
1678 dits[2] = 0.8;
1679 gMC->Gsvolu("I674", "TUBE", idtmed[211], dits, 3); // was I174 in old geom.
1680
1681 dits[0] = 0;
1682 dits[1] = 0.1;
1683 dits[2] = 3;
1684 gMC->Gsvolu("I672", "TUBE", idtmed[211], dits, 3); // was I172 in old geom.
1685
1686 dits[0] = 0;
1687 dits[1] = 0.0746;
1688 dits[2] = 0.8;
1689 gMC->Gsvolu("I670", "TUBE", idtmed[211], dits, 3); // was I170 in old geom.
1690
1691 dits[0] = 3.7;
1692 dits[1] = 5.4;
1693 dits[2] = 0.35;
1694 dits[3] = 2;
1695 dits[4] = 36;
1696 gMC->Gsvolu("I668", "TUBS", idtmed[211], dits, 5); // was I168 in old geom.
db915fea 1697
9d2da7b3 1698 }
db915fea 1699
1700 // --- Define SDD volumes ------------------------------------------
1701
9d2da7b3 1702
1703 cos30 = cos(30.*3.14159/180.);
1704 sin30 = sin(30.*3.14159/180.);
1705
1706
db915fea 1707 dits[0] = 0;
1708 dits[1] = 360;
1709 dits[2] = 6;
1710 dits[3] = -34.6;
1711 dits[4] = 23.495;
1712 dits[5] = 28.5;
9d2da7b3 1713 dits[6] = -27.35;
db915fea 1714 dits[7] = 23.495;
1715 dits[8] = 28.5;
9d2da7b3 1716 dits[9] = -27.35;
db915fea 1717 dits[10] = 14.595;
1718 dits[11] = 28.5;
9d2da7b3 1719 dits[12] = 27.35;
db915fea 1720 dits[13] = 14.595;
1721 dits[14] = 28.5;
9d2da7b3 1722 dits[15] = 27.35;
db915fea 1723 dits[16] = 23.495;
1724 dits[17] = 28.5;
1725 dits[18] = 34.65;
1726 dits[19] = 23.495;
1727 dits[20] = 28.5;
9d2da7b3 1728 gMC->Gsvolu("IT34", "PCON", idtmed[209], dits, 21);
1729
1730 // block of the SDD electronics and related ladder frame
1731 I018dits[0] = 3.2;
1732 I018dits[1] = 2;
1733 I018dits[2] = 3.65;
1734 gMC->Gsvolu("I018", "BOX ", idtmed[209], I018dits, 3);
1735
1736 // block of the SDD end ladder
1737 I024dits[0] = 3.2;
1738 I024dits[1] = 2;
1739 I024dits[2] = 2.725;
1740 gMC->Gsvolu("I024", "BOX ", idtmed[209], I024dits, 3);
1741
1742 // ladder frame of layer 3 - F.T. March,7-2001
1743 I047dits[0] = I018dits[0];
1744 I047dits[1] = I018dits[1];
1745 I047dits[2] = 6*I018dits[2] + 2*I024dits[2];
1746 gMC->Gsvolu("I047", "BOX ", idtmed[209], I047dits, 3);
1747
1748 // ladder frame of layer 4 - F.T. March,7-2001
1749 I048dits[0] = I018dits[0];
1750 I048dits[1] = I018dits[1];
1751 I048dits[2] = 8*I018dits[2] + 2*I024dits[2];
1752 gMC->Gsvolu("I048", "BOX ", idtmed[209], I048dits, 3);
1753
1754
1755 // global SDD volume (sensitive + insensitive)
1756 I302dits[0] = 3.6250;
1757 I302dits[1] = 0.0150;
1758 I302dits[2] = 4.3794;
1759 gMC->Gsvolu("I302", "BOX ", idtmed[278], I302dits, 3);
1760
1761 // Like for I302 - F.T. March,7-2001
1762 I402dits[0] = 3.6250;
1763 I402dits[1] = 0.0150;
1764 I402dits[2] = 4.3794;
1765 gMC->Gsvolu("I402", "BOX ", idtmed[278], I402dits, 3);
1766
1767 // SDD ladder of layer 3 - F.T. March,7-2001
1768 I004dits[0] = I302dits[0]+0.005;
1769 I004dits[1] = 2*I302dits[1]+Y_SDD_sep/2.;
767187dd 1770 I004dits[2] = TMath::Abs(Z_SDD_lay3[0]);
1771 if (I004dits[2] < TMath::Abs(Z_SDD_lay3[5])) {
1772 I004dits[2] = TMath::Abs(Z_SDD_lay3[5]);
9d2da7b3 1773 }
1774 I004dits[2] = I004dits[2] + I302dits[2];
1775 gMC->Gsvolu("I004", "BOX ", idtmed[209], I004dits, 3);
1776
1777 // SDD ladder of layer 4 - F.T. March,7-2001
1778 I005dits[0] = I402dits[0]+0.005;
1779 I005dits[1] = 2*I402dits[1]+Y_SDD_sep/2.;
767187dd 1780 I005dits[2] = TMath::Abs(Z_SDD_lay4[0]);
1781 if (I005dits[2] < TMath::Abs(Z_SDD_lay4[7])) {
1782 I005dits[2] = TMath::Abs(Z_SDD_lay4[7]);
9d2da7b3 1783 }
1784 I005dits[2] = I005dits[2] + I402dits[2];
1785 gMC->Gsvolu("I005", "BOX ", idtmed[209], I005dits, 3);
1786
1787
1788 // -- block of the SDD ladder foot and end ladder
1789
1790 // ladder foot mother volume
1791 I028dits[0] = 3.0000;
1792 I028dits[1] = 0.4000;
1793 I028dits[2] = 0.9000;
1794 gMC->Gsvolu("I028", "BOX ", idtmed[224], I028dits, 3);
1795
1796 // positioning-box #1 at SDD end-ladder - F.T. March,7-2001
1797 I420dits[0] = 0.4500;
1798 I420dits[1] = 0.4000;
1799 I420dits[2] = 0.4500;
1800 gMC->Gsvolu("I420", "BOX ", idtmed[264], I420dits, 3);
1801
1802 // positioning-box #2 at SDD end-ladder - F.T. March,7-2001
1803 I421dits[0] = 0.4400;
1804 I421dits[1] = 0.4000;
1805 I421dits[2] = 0.4400;
1806 gMC->Gsvolu("I421", "BOX ", idtmed[209], I421dits, 3);
1807
1808 // reference ruby-sphere at SDD end-ladder - F.T. March,7-2001
1809 I422dits[0] = 0.0000;
1810 I422dits[1] = 0.2000;
1811 I422dits[2] = 0.0000;
1812 I422dits[3] = 180.00;
1813 I422dits[4] = 0.0000;
1814 I422dits[5] = 360.00;
1815 gMC->Gsvolu("I422", "SPHE", idtmed[277], I422dits, 6);
1816
1817 // support for ruby-sphere (I422) - F.T. March,7-2001
1818 I423dits[0] = 0.0000;
1819 I423dits[1] = 0.1000;
1820 I423dits[2] = (I421dits[1]-I422dits[1])/2.;
1821 gMC->Gsvolu("I423", "TUBE", idtmed[264], I423dits, 3);
1822
1823 // passage for HV microcables - F.T. March,7-2001
1824 I424dits[0] = 1.5000;
1825 I424dits[1] = 0.1500;
1826 I424dits[2] = I421dits[2];
1827 gMC->Gsvolu("I424", "BOX ", idtmed[209], I424dits, 3);
1828
1829 // HV microcables segment at the end ladder - F.T. March,7-2001
1830 I425dits[0] = 1.350000;
1831 I425dits[1] = 0.015250;
1832 I425dits[2] = I024dits[2];
1833 gMC->Gsvolu("I425", "BOX ", idtmed[279], I425dits, 3);
1834
1835 // lower edge of SDD ladder frame at end-ladder - part 1
db915fea 1836 dits[0] = 0.2;
1837 dits[1] = 0.1815;
9d2da7b3 1838 dits[2] = I024dits[2];
db915fea 1839 dits[3] = 0.015;
9d2da7b3 1840 gMC->Gsvolu("I025", "TRD1", idtmed[208], dits, 4);
db915fea 1841
9d2da7b3 1842 // lower edge of SDD ladder frame at end-ladder - part 2
db915fea 1843 dits[0] = 0.183;
1844 dits[1] = 0.165;
9d2da7b3 1845 dits[2] = I024dits[2];
1846 dits[3] = 0.015;
1847 gMC->Gsvolu("I026", "TRD1", idtmed[208], dits, 4);
1848
1849 // new: for the 1st top rod of the structure
1850 // at the end-ladder - F.T. March,7-2001
1851 I029dits[0] = 0.2;
1852 I029dits[1] = 0.1815;
1853 I029dits[2] = 1.0100;
1854 I029dits[3] = 0.015;
1855 gMC->Gsvolu("I029", "TRD1", idtmed[208], I029dits, 4);
1856
1857 // new: for the 2nd top rod of the structure
1858 // at the end-ladder - F.T. March,7-2001
1859 I030dits[0] = 0.1830;
1860 I030dits[1] = 0.1650;
1861 I030dits[2] = 1.0100;
1862 I030dits[3] = 0.0150;
1863 gMC->Gsvolu("I030", "TRD1", idtmed[208], I030dits, 4);
1864
1865 // inox cooling tubes for the end ladder - F.T. March,7-2001
1866 I031dits[0] = 0.093;
1867 I031dits[1] = 0.1;
1868 I031dits[2] = I024dits[2];
1869 gMC->Gsvolu("I031", "TUBE", idtmed[264], I031dits, 3);
1870
1871 // cooling water for the end ladder - F.T. March,7-2001
1872 I032dits[0] = 0;
1873 I032dits[1] = I031dits[0];
1874 I032dits[2] = I024dits[2];
1875 gMC->Gsvolu("I032", "TUBE", idtmed[211], I032dits, 3);
1876
1877 // -- block of the SDD ladder frame holding the electronics
1878
1879 // edge of the ladder frame - part 1
1880 dits[0] = 0.2;
1881 dits[1] = 0.182;
1882 dits[2] = 3.65;
db915fea 1883 dits[3] = 0.015;
9d2da7b3 1884 gMC->Gsvolu("I019", "TRD1", idtmed[208], dits, 4);
db915fea 1885
9d2da7b3 1886 // edge of the ladder frame - part 2
1887 dits[0] = 0.183;
1888 dits[1] = 0.165;
1889 dits[2] = 3.65;
1890 dits[3] = 0.015;
1891 gMC->Gsvolu("I020", "TRD1", idtmed[208], dits, 4);
1892
1893 // inclined segments of the ladder frame
db915fea 1894 dits[0] = 2.23;
1895 dits[1] = 2.1;
1896 dits[2] = 0.05;
1897 dits[3] = 0.03;
9d2da7b3 1898 gMC->Gsvolu("I021", "TRD1", idtmed[208], dits, 4);
db915fea 1899
9d2da7b3 1900 // horiz.segments of the ladders, normal to ladder edges
db915fea 1901 dits[0] = 2.1;
1902 dits[1] = 2;
1903 dits[2] = 0.06;
1904 dits[3] = 0.04;
9d2da7b3 1905 gMC->Gsvolu("I022", "TRD1", idtmed[208], dits, 4);
db915fea 1906
9d2da7b3 1907 // horiz.segments of the ladders, at 45 deg. to ladder edges
1908 dits[0] = 2.615;
1909 dits[1] = 2.465;
1910 dits[2] = 0.06;
1911 dits[3] = 0.04;
1912 gMC->Gsvolu("I023", "TRD1", idtmed[208], dits, 4);
db915fea 1913
9d2da7b3 1914 // supports of the ceramic pins holding the detectors
db915fea 1915 dits[0] = 0.3;
1916 dits[1] = 0.05;
1917 dits[2] = 0.15;
9d2da7b3 1918 gMC->Gsvolu("I033", "BOX ", idtmed[208], dits, 3);
db915fea 1919
9d2da7b3 1920 // ceramic pins holding the detectors
db915fea 1921 dits[0] = 0;
1922 dits[1] = 0.05;
1923 dits[2] = 0.225;
9d2da7b3 1924 gMC->Gsvolu("I034", "TUBE", idtmed[277], dits, 3);
db915fea 1925
9d2da7b3 1926 // holders of cooling tubes
1927 I035dits[0] = 0.1;
1928 I035dits[1] = 0.15;
1929 I035dits[2] = 0.2;
1930 gMC->Gsvolu("I035", "TUBE", idtmed[208], I035dits, 3);
db915fea 1931
9d2da7b3 1932 // top holders of microcables
1933 dits[0] = 0.2;
db915fea 1934 dits[1] = 0.01;
9d2da7b3 1935 dits[2] = 0.05;
1936 gMC->Gsvolu("I036", "BOX ", idtmed[208], dits, 3);
db915fea 1937
9d2da7b3 1938 // inox cooling tubes - F.T. March,7-2001
1939 I037dits[0] = 0.093;
1940 I037dits[1] = 0.1;
1941 I037dits[2] = I018dits[2];
1942 gMC->Gsvolu("I037", "TUBE", idtmed[264], I037dits, 3);
db915fea 1943
9d2da7b3 1944 // cooling water - F.T. March,7-2001
1945 I038dits[0] = 0;
1946 I038dits[1] = I037dits[0];
1947 I038dits[2] = I018dits[2];
1948 gMC->Gsvolu("I038", "TUBE", idtmed[211], I038dits, 3);
db915fea 1949
9d2da7b3 1950 // -- block of the SDD electronics (heat bridge, chips, hybrid, anode microcable)
db915fea 1951
9d2da7b3 1952 // SDD heat bridge - F.T. March,7-2001
1953 I039dits[0] = 1.1000;
1954 I039dits[1] = 0.0087;
1955 I039dits[2] = 3.2500;
1956 gMC->Gsvolu("I039", "BOX ", idtmed[268], I039dits, 3);
db915fea 1957
9d2da7b3 1958 // SDD clip part 1
1959 dits[0] = 0.25;
1960 dits[1] = 0.01;
1961 dits[2] = I039dits[2];
1962 gMC->Gsvolu("I040", "BOX ", idtmed[268], dits, 3);
1963
1964 // SDD clip part 2
1965 I041dits[0] = 0.1;
1966 I041dits[1] = 0.12;
1967 I041dits[2] = I039dits[2];
1968 I041dits[3] = 90;
1969 I041dits[4] = 320;
1970 gMC->Gsvolu("I041", "TUBS", idtmed[268], I041dits, 5);
1971
1972
1973 // SDD PASCAL - F.T. March,7-2001
1974 I042dits[0] = 0.5000;
1975 I042dits[1] = 0.0175;
1976 I042dits[2] = 0.5000;
1977 gMC->Gsvolu("I042", "BOX ", idtmed[206], I042dits, 3);
1978
1979 // SDD AMBRA - F.T. March,7-2001
1980 I043dits[0] = 0.3500;
1981 I043dits[1] = 0.0175;
1982 I043dits[2] = 0.5000;
1983 gMC->Gsvolu("I043", "BOX ", idtmed[206], I043dits, 3);
1984
1985 // SDD capacitors - F.T. March,7-2001
1986 I051dits[0] = 0.1400;
1987 I051dits[1] = 0.0350;
1988 I051dits[2] = 0.0625;
1989 gMC->Gsvolu("I051", "BOX ", idtmed[276], I051dits, 3);
1990
1991 // SDD hybrid circuit - F.T. March,7-2001
1992 I052dits[0] = 1.725000;
1993 I052dits[1] = 0.003743;
1994 I052dits[2] = I039dits[2];
1995 gMC->Gsvolu("I052", "BOX ", idtmed[82], I052dits, 3);
1996
1997 // SDD anode microcable : changed - F.T. March,7-2001
1998 I044dits[0] = I018dits[2];
1999 I044dits[1] = I039dits[2];
2000 I044dits[2] = 0.00084;
2001 I044dits[3] = (15.189149/(I044dits[0]+I044dits[1]))/2;
2002 gMC->Gsvolu("I044", "TRD1", idtmed[282], I044dits, 4);
2003 volI044 = ((2*I044dits[0] + 2*I044dits[1]) * 2*I044dits[2])/2 * 2*I044dits[3];
2004
2005 // SDD electronics box - F.T. March,7-2001
2006 I050dits[1] = I039dits[1]+I052dits[1]+I051dits[1]+I044dits[2];
2007 I050dits[0] = I018dits[1]/cos(30.*3.14159/180.)-I050dits[1]*sin(30.*3.14159/180.);
2008 I050dits[2] = I018dits[2];
2009 gMC->Gsvolu("I050", "BOX ", idtmed[209], I050dits, 3);
2010
2011 // SDD sensitive volume
2012 dits[0] = 3.50850;
2013 dits[1] = 0.01499; // not 0.015 because it is included into I302 which is 0.015
2014 dits[2] = 3.76320;
db915fea 2015 gMC->Gsvolu("ITS3", "BOX ", idtmed[200], dits, 3);
2016
9d2da7b3 2017 // Like for ITS3 - F.T. March,7-2001
2018 dits[0] = 3.50850;
2019 dits[1] = 0.01499; // not 0.015 because it is included into I402 which is 0.015
2020 dits[2] = 3.76320;
db915fea 2021 gMC->Gsvolu("ITS4", "BOX ", idtmed[200], dits, 3);
2022
2023
2024 // --- Define SSD volumes ------------------------------------------
2025
2026
2027 dits[0] = 0;
2028 dits[1] = 360;
2029 dits[2] = 6;
2030 dits[3] = -57.5;
2031 dits[4] = 43.5;
2032 dits[5] = 48;
9d2da7b3 2033 dits[6] = -47.2;
db915fea 2034 dits[7] = 43.5;
2035 dits[8] = 48;
9d2da7b3 2036 dits[9] = -47.2;
db915fea 2037 dits[10] = 36.7;
2038 dits[11] = 48;
9d2da7b3 2039 dits[12] = 47.2;
db915fea 2040 dits[13] = 36.7;
2041 dits[14] = 48;
9d2da7b3 2042 dits[15] = 47.2;
db915fea 2043 dits[16] = 43.5;
2044 dits[17] = 48;
2045 dits[18] = 56.96;
2046 dits[19] = 43.5;
2047 dits[20] = 48;
9d2da7b3 2048 gMC->Gsvolu("IT56", "PCON", idtmed[220], dits, 21);
db915fea 2049
2050 dits[0] = 3.4;
2051 dits[1] = 1.955;
9d2da7b3 2052 dits[2] = 56.5;
2053 gMC->Gsvolu("I570", "BOX ", idtmed[204], dits, 3);
db915fea 2054
2055 dits[0] = 3.75;
2056 dits[1] = 0.045;
2057 dits[2] = 50.975;
9d2da7b3 2058 gMC->Gsvolu("I569", "BOX ", idtmed[204], dits, 3);
db915fea 2059
2060 dits[0] = 3.4;
2061 dits[1] = 1.955;
9d2da7b3 2062 dits[2] = 47;
2063 gMC->Gsvolu("I571", "BOX ", idtmed[204], dits, 3);
db915fea 2064
2065 dits[0] = 3.75;
2066 dits[1] = 0.045;
9d2da7b3 2067 dits[2] = 43.3;
2068 gMC->Gsvolu("I565", "BOX ", idtmed[204], dits, 3);
db915fea 2069
2070 dits[0] = 3.4;
2071 dits[1] = 1.955;
2072 dits[2] = 3.15;
9d2da7b3 2073 gMC->Gsvolu("I553", "BOX ", idtmed[204], dits, 3);
db915fea 2074
2075 dits[0] = 3.405;
2076 dits[1] = 1.955;
2077 dits[2] = 1.955;
9d2da7b3 2078 gMC->Gsvolu("I523", "BOX ", idtmed[204], dits, 3);
db915fea 2079
2080 dits[0] = 3.75;
2081 dits[1] = 0.015;
2082 dits[2] = 2.1;
9d2da7b3 2083 gMC->Gsvolu("I566", "BOX ", idtmed[206], dits, 3);
db915fea 2084
2085 dits[0] = 3.4;
2086 dits[1] = 1.955;
2087 dits[2] = 3.15;
9d2da7b3 2088 gMC->Gsvolu("I544", "BOX ", idtmed[204], dits, 3);
db915fea 2089
2090 dits[0] = 3.41;
2091 dits[1] = 1.955;
2092 dits[2] = 1.955;
9d2da7b3 2093 gMC->Gsvolu("I516", "BOX ", idtmed[204], dits, 3);
db915fea 2094
2095 dits[0] = 3.75;
2096 dits[1] = 0.015;
2097 dits[2] = 2.1;
9d2da7b3 2098 gMC->Gsvolu("I562", "BOX ", idtmed[206], dits, 3);
db915fea 2099
2100 dits[0] = 0;
2101 dits[1] = 0.07;
2102 dits[2] = 3.15;
9d2da7b3 2103 gMC->Gsvolu("I559", "TUBE", idtmed[211], dits, 3);
db915fea 2104
2105 dits[0] = 0.07;
2106 dits[1] = 0.1;
2107 dits[2] = 3.15;
9d2da7b3 2108 gMC->Gsvolu("I560", "TUBE", idtmed[210], dits, 3);
db915fea 2109
2110 dits[0] = 0.225;
2111 dits[1] = 0.195;
2112 dits[2] = 3.15;
2113 dits[3] = 0.025;
9d2da7b3 2114 gMC->Gsvolu("I558", "TRD1", idtmed[203], dits, 4);
db915fea 2115
2116 dits[0] = 0.25;
2117 dits[1] = 0.22;
2118 dits[2] = 3.15;
2119 dits[3] = 0.025;
9d2da7b3 2120 gMC->Gsvolu("I557", "TRD1", idtmed[203], dits, 4);
db915fea 2121
2122 dits[0] = 2.17;
2123 dits[1] = 0.035;
2124 dits[2] = 0.05;
9d2da7b3 2125 gMC->Gsvolu("I556", "BOX ", idtmed[203], dits, 3);
db915fea 2126
2127 dits[0] = 2 ;
2128 dits[1] = 0.035;
2129 dits[2] = 0.05;
9d2da7b3 2130 gMC->Gsvolu("I554", "BOX ", idtmed[203], dits, 3);
db915fea 2131
2132 dits[0] = 2.675;
2133 dits[1] = 0.035;
2134 dits[2] = 0.05;
9d2da7b3 2135 gMC->Gsvolu("I555", "BOX ", idtmed[203], dits, 3);
db915fea 2136
2137 dits[0] = 0.3;
2138 dits[1] = 0.15;
2139 dits[2] = 0.15;
9d2da7b3 2140 gMC->Gsvolu("I561", "BOX ", idtmed[203], dits, 3);
db915fea 2141
2142 dits[0] = 0.025;
2143 dits[1] = 0.025;
2144 dits[2] = 0.05;
9d2da7b3 2145 gMC->Gsvolu("I519", "BOX ", idtmed[214], dits, 3);
db915fea 2146
2147 dits[0] = 0.304;
2148 dits[1] = 0.0275;
2149 dits[2] = 0.432;
9d2da7b3 2150 gMC->Gsvolu("I521", "BOX ", idtmed[206], dits, 3);
db915fea 2151
2152 dits[0] = 0.16;
2153 dits[1] = 0.08;
2154 dits[2] = 0.08;
9d2da7b3 2155 gMC->Gsvolu("I520", "BOX ", idtmed[214], dits, 3);
db915fea 2156
2157 dits[0] = 3.4;
2158 dits[1] = 0.015;
2159 dits[2] = 0.525;
9d2da7b3 2160 gMC->Gsvolu("I518", "BOX ", idtmed[203], dits, 3);
db915fea 2161
2162 dits[0] = 0.15;
2163 dits[1] = 0.105;
2164 dits[2] = 0.29;
2165 dits[3] = 0.08;
9d2da7b3 2166 gMC->Gsvolu("I522", "TRD1", idtmed[203], dits, 4);
db915fea 2167
2168 dits[0] = 0.07;
2169 dits[1] = 0.1;
2170 dits[2] = 1.955;
9d2da7b3 2171 gMC->Gsvolu("I542", "TUBE", idtmed[210], dits, 3);
db915fea 2172
2173 dits[0] = 0;
2174 dits[1] = 0.07;
2175 dits[2] = 1.955;
9d2da7b3 2176 gMC->Gsvolu("I541", "TUBE", idtmed[211], dits, 3);
db915fea 2177
2178 dits[0] = 0.3;
2179 dits[1] = 0.15;
2180 dits[2] = 0.15;
9d2da7b3 2181 gMC->Gsvolu("I543", "BOX ", idtmed[203], dits, 3);
db915fea 2182
2183 dits[0] = 0.25;
2184 dits[1] = 0.22;
2185 dits[2] = 1.955;
2186 dits[3] = 0.025;
9d2da7b3 2187 gMC->Gsvolu("I537", "TRD1", idtmed[203], dits, 4);
db915fea 2188
2189 dits[0] = 0.225;
2190 dits[1] = 0.195;
2191 dits[2] = 1.955;
2192 dits[4] = 0.025;
9d2da7b3 2193 gMC->Gsvolu("I538", "TRD1", idtmed[203], dits, 4);
db915fea 2194
2195 dits[0] = 2.17;
2196 dits[1] = 0.035;
2197 dits[2] = 0.05;
9d2da7b3 2198 gMC->Gsvolu("I536", "BOX ", idtmed[203], dits, 3);
db915fea 2199
2200 dits[0] = 2.675;
2201 dits[1] = 0.035;
2202 dits[2] = 0.05;
9d2da7b3 2203 gMC->Gsvolu("I535", "BOX ", idtmed[203], dits, 3);
db915fea 2204
2205 dits[0] = 2;
2206 dits[1] = 0.035;
2207 dits[2] = 0.05;
9d2da7b3 2208 gMC->Gsvolu("I534", "BOX ", idtmed[203], dits, 3);
db915fea 2209
2210 dits[0] = 0;
2211 dits[1] = 0.05;
2212 dits[2] = 0.17;
9d2da7b3 2213 gMC->Gsvolu("I540", "TUBE", idtmed[203], dits, 3);
db915fea 2214
2215 dits[0] = 0;
2216 dits[1] = 0.05;
2217 dits[2] = 0.205;
9d2da7b3 2218 gMC->Gsvolu("I539", "TUBE", idtmed[203], dits, 3);
db915fea 2219
2220 dits[0] = 3.65;
2221 dits[1] = 0.015;
2222 dits[2] = 2;
2223 gMC->Gsvolu("ITS6", "BOX ", idtmed[200], dits, 3);
2224
2225 dits[0] = 0;
2226 dits[1] = 0.07;
2227 dits[2] = 3.15;
9d2da7b3 2228 gMC->Gsvolu("I550", "TUBE", idtmed[211], dits, 3);
db915fea 2229
2230 dits[0] = 0.07;
2231 dits[1] = 0.1;
2232 dits[2] = 3.15;
9d2da7b3 2233 gMC->Gsvolu("I551", "TUBE", idtmed[210], dits, 3);
db915fea 2234
2235 dits[0] = 0.225;
2236 dits[1] = 0.195;
2237 dits[2] = 3.15;
2238 dits[3] = 0.025;
9d2da7b3 2239 gMC->Gsvolu("I549", "TRD1", idtmed[203], dits, 4);
db915fea 2240
2241 dits[0] = 0.25;
2242 dits[1] = 0.22;
2243 dits[2] = 3.15;
2244 dits[3] = 0.025;
9d2da7b3 2245 gMC->Gsvolu("I548", "TRD1", idtmed[203], dits, 4);
db915fea 2246
2247 dits[0] = 2.17;
2248 dits[1] = 0.035;
2249 dits[2] = 0.05;
9d2da7b3 2250 gMC->Gsvolu("I547", "BOX ", idtmed[203], dits, 3);
db915fea 2251
2252 dits[0] = 2;
2253 dits[1] = 0.035;
2254 dits[2] = 0.05;
9d2da7b3 2255 gMC->Gsvolu("I545", "BOX ", idtmed[203], dits, 3);
db915fea 2256
2257 dits[0] = 2.675;
2258 dits[1] = 0.035;
2259 dits[2] = 0.05;
9d2da7b3 2260 gMC->Gsvolu("I546", "BOX ", idtmed[203], dits, 3);
db915fea 2261
2262 dits[0] = 0.3;
2263 dits[1] = 0.15;
2264 dits[2] = 0.15;
9d2da7b3 2265 gMC->Gsvolu("I552", "BOX ", idtmed[203], dits, 3);
db915fea 2266
2267 dits[0] = 0.304;
2268 dits[1] = 0.0275;
2269 dits[2] = 0.4322;
9d2da7b3 2270 gMC->Gsvolu("I515", "BOX ", idtmed[206], dits, 3);
db915fea 2271
2272 dits[0] = 0.025;
2273 dits[1] = 0.025;
2274 dits[2] = 0.05;
9d2da7b3 2275 gMC->Gsvolu("I513", "BOX ", idtmed[214], dits, 3);
db915fea 2276
2277 dits[0] = 0.16;
2278 dits[1] = 0.08;
2279 dits[2] = 0.08;
9d2da7b3 2280 gMC->Gsvolu("I514", "BOX ", idtmed[214], dits, 3);
db915fea 2281
2282 dits[0] = 3.4;
2283 dits[1] = 0.015;
2284 dits[2] = 0.525;
9d2da7b3 2285 gMC->Gsvolu("I512", "BOX ", idtmed[203], dits, 3);
db915fea 2286
2287 dits[0] = 0.225;
2288 dits[1] = 0.195;
2289 dits[2] = 1.955;
2290 dits[3] = 0.025;
9d2da7b3 2291 gMC->Gsvolu("I528", "TRD1", idtmed[203], dits, 4);
db915fea 2292
2293 dits[0] = 0.25;
2294 dits[1] = 0.22;
2295 dits[2] = 1.955;
2296 dits[3] = 0.025;
9d2da7b3 2297 gMC->Gsvolu("I527", "TRD1", idtmed[203], dits, 4);
db915fea 2298
2299 dits[0] = 2.17;
2300 dits[1] = 0.035;
2301 dits[2] = 0.05;
9d2da7b3 2302 gMC->Gsvolu("I526", "BOX ", idtmed[203], dits, 3);
db915fea 2303
2304 dits[0] = 2.675;
2305 dits[1] = 0.035;
2306 dits[2] = 0.05;
9d2da7b3 2307 gMC->Gsvolu("I525", "BOX ", idtmed[203], dits, 3);
db915fea 2308
2309 dits[0] = 2;
2310 dits[1] = 0.035;
2311 dits[2] = 0.05;
9d2da7b3 2312 gMC->Gsvolu("I524", "BOX ", idtmed[203], dits, 3);
db915fea 2313
2314 dits[0] = 0;
2315 dits[1] = 0.05;
2316 dits[2] = 0.205;
9d2da7b3 2317 gMC->Gsvolu("I529", "TUBE", idtmed[203], dits, 3);
db915fea 2318
2319 dits[0] = 0;
2320 dits[1] = 0.05;
2321 dits[2] = 0.17;
9d2da7b3 2322 gMC->Gsvolu("I530", "TUBE", idtmed[203], dits, 3);
db915fea 2323
2324 dits[0] = 0.15;
2325 dits[1] = 0.105;
2326 dits[2] = 0.29;
2327 dits[3] = 0.08;
9d2da7b3 2328 gMC->Gsvolu("I517", "TRD1", idtmed[203], dits, 4);
db915fea 2329
2330 dits[0] = 0;
2331 dits[1] = 0.07;
2332 dits[2] = 1.955;
9d2da7b3 2333 gMC->Gsvolu("I531", "TUBE", idtmed[211], dits, 3);
db915fea 2334
2335 dits[0] = 0.07;
2336 dits[1] = 0.1;
2337 dits[2] = 1.955;
9d2da7b3 2338 gMC->Gsvolu("I532", "TUBE", idtmed[210], dits, 3);
db915fea 2339
2340 dits[0] = 0.3;
2341 dits[1] = 0.15;
2342 dits[2] = 0.15;
9d2da7b3 2343 gMC->Gsvolu("I533", "BOX ", idtmed[203], dits, 3);
db915fea 2344
2345 dits[0] = 3.65;
2346 dits[1] = 0.015;
2347 dits[2] = 2;
2348 gMC->Gsvolu("ITS5", "BOX ", idtmed[200], dits, 3);
2349
2350
9d2da7b3 2351 // --- Define volumes of shield between SPD and SDD ----------------
2352
2353
2354 dits[0] = 8.37;
2355 dits[1] = 9.93;
2356 dits[2] = 25;
2357 gMC->Gsvolu("IC01", "TUBE", idtmed[289], dits, 3);
2358
2359 dits[0] = 8.3;
2360 dits[1] = 10;
2361 dits[2] = 17.5/2.;
2362 gMC->Gsvolu("IC02", "TUBE", idtmed[289], dits, 3);
2363
2364
2365 // --- Define volumes of cylinder between SDD and SSD --------------
2366
2367
2368 dits[0] = (59.5-0.13/2.)/2.;
2369 dits[1] = (59.5+0.13/2.)/2.;
2370 dits[2] = 56.2;
2371 gMC->Gsvolu("ICY2", "TUBE", idtmed[225], dits, 3);
2372
2373
2374
2375 // --- Define volumes of SDD cone ----------------------------------
2376
2377 dits[0] = 0;
2378 dits[1] = 360;
2379 dits[2] = 12;
2380 dits[3] = -59.7;
2381 dits[4] = 27;
2382 dits[5] = 28;
2383 dits[6] = -42.7;
2384 dits[7] = 10;
2385 dits[8] = 28;
2386 dits[9] = -34.65;
2387 dits[10] = 10;
2388 dits[11] = 28;
2389 dits[12] = -34.65;
2390 dits[13] = 10;
2391 dits[14] = 23.495;
2392 dits[15] = -23.7;
2393 dits[16] = 10;
2394 dits[17] = 23.495;
2395 dits[18] = -23.7;
2396 dits[19] = 10;
2397 dits[20] = 14.595;
2398 dits[21] = 23.7;
2399 dits[22] = 10;
2400 dits[23] = 14.595;
2401 dits[24] = 23.7;
2402 dits[25] = 10;
2403 dits[26] = 23.495;
2404 dits[27] = 34.65;
2405 dits[28] = 10;
2406 dits[29] = 23.495;
2407 dits[30] = 34.65;
2408 dits[31] = 10;
2409 dits[32] = 28;
2410 dits[33] = 42.6263;
2411 dits[34] = 10;
2412 dits[35] = 28;
2413 dits[36] = 59.7;
2414 dits[37] = 27.2637;
2415 dits[38] = 28;
2416 gMC->Gsvolu("IS02", "PCON", idtmed[204], dits, 39);
2417
2418 dits[0] = 0;
2419 dits[1] = 360;
2420 dits[2] = 6;
2421 dits[3] = 39.4;
2422 dits[4] = 10.065;
2423 dits[5] = 12.7;
2424 dits[6] = 40.66;
2425 dits[7] = 10.065;
2426 dits[8] = 13.96;
2427 dits[9] = 40.66;
2428 dits[10] = 12.1781;
2429 dits[11] = 13.96;
2430 dits[12] = 54.7;
2431 dits[13] = 26.2181;
2432 dits[14] = 28;
2433 dits[15] = 55.2219;
2434 dits[16] = 26.74;
2435 dits[17] = 28;
2436 dits[18] = 57.4;
2437 dits[19] = 26.74;
2438 dits[20] = 28;
2439 gMC->Gsvolu("I093", "PCON", idtmed[272], dits, 21); // SDD cone
2440
2441 dits[0] = 0;
2442 dits[1] = 50;
2443 dits[2] = 3;
2444 dits[3] = 27.35; // 23.7
2445 dits[4] = 14;
2446 dits[5] = 18.75;
2447 dits[6] = 46.7-3;
2448 dits[7] = 14;
2449 dits[8] = 18.75;
2450 dits[9] = 51.45-3;
2451 dits[10] = 18.75;
2452 dits[11] = 18.75;
2453 gMC->Gsvolu("I099", "PCON", idtmed[292], dits, 12); // SDD 3 end-ladder elect.
2454
2455 dits[0] = 0;
2456 dits[1] = 25;
2457 dits[2] = 3;
2458 dits[3] = 34.65;
2459 dits[4] = 23.4;
2460 dits[5] = 26.4;
2461 dits[6] = 56.1-3;
2462 dits[7] = 23.4;
2463 dits[8] = 26.4;
2464 dits[9] = 59.1-3;
2465 dits[10] = 26.4;
2466 dits[11] = 26.4;
2467 gMC->Gsvolu("I200", "PCON", idtmed[292], dits, 12); // SDD 4 end-ladder elect.
2468
2469 dits[0] = 10.065;
2470 dits[1] = 11;
2471 dits[2] = 0.25;
2472 gMC->Gsvolu("I090", "TUBE", idtmed[208], dits, 3);
2473
2474 dits[0] = 10.001;
2475 dits[1] = 10.065;
2476 dits[2] = 40;
2477 gMC->Gsvolu("I089", "TUBE", idtmed[208], dits, 3);
2478
2479 dits[0] = 21.95;
2480 dits[1] = 24.2;
2481 dits[2] = 1;
2482 gMC->Gsvolu("I098", "TUBE", idtmed[204], dits, 3);
2483
2484 dits[0] = 13.1;
2485 dits[1] = 15.4;
2486 dits[2] = 1;
2487 gMC->Gsvolu("I097", "TUBE", idtmed[204], dits, 3);
2488
2489 dits[0] = 1;
2490 dits[1] = 1;
2491 dits[2] = 7.74;
2492 gMC->Gsvolu("I202", "BOX ", idtmed[272], dits, 3);
2493
2494 dits[0] = 1;
2495 dits[1] = 1;
2496 dits[2] = 9.14;
2497 gMC->Gsvolu("I203", "BOX ", idtmed[272], dits, 3);
2498
2499 dits[0] = 21.95;
2500 dits[1] = 22.95;
2501 dits[2] = 1;
2502 gMC->Gsvolu("I095", "TUBE", idtmed[224], dits, 3);
2503
2504 dits[0] = 3;
2505 dits[1] = 2.7;
2506 dits[2] = 1;
2507 dits[3] = 0.63;
2508 gMC->Gsvolu("I096", "TRD1", idtmed[264], dits, 4);
2509
2510 dits[0] = 13.1;
2511 dits[1] = 14.1;
2512 dits[2] = 1;
2513 gMC->Gsvolu("I094", "TUBE", idtmed[224], dits, 3);
2514
2515
2516 // --- Define volumes of SSD cone ----------------------------------
2517
2518
2519 dits[0] = 0;
2520 dits[1] = 360;
2521 dits[2] = 12;
2522 dits[3] = -77.2;
2523 dits[4] = 44.9;
2524 dits[5] = 47;
2525 dits[6] = -61.2;
2526 dits[7] = 28.5;
2527 dits[8] = 47;
2528 dits[9] = -57.5;
2529 dits[10] = 28.5;
2530 dits[11] = 47;
2531 dits[12] = -57.5;
2532 dits[13] = 28.5;
2533 dits[14] = 43.5;
2534 dits[15] = -51.365;
2535 dits[16] = 28.5;
2536 dits[17] = 43.5;
2537 dits[18] = -51.365;
2538 dits[19] = 28.5;
2539 dits[20] = 36.69;
2540 dits[21] = 51.3651;
2541 dits[22] = 28.5;
2542 dits[23] = 36.69;
2543 dits[24] = 51.3651;
2544 dits[25] = 28.5;
2545 dits[26] = 43.5;
2546 dits[27] = 56.96;
2547 dits[28] = 28.5;
2548 dits[29] = 43.5;
2549 dits[30] = 56.96;
2550 dits[31] = 28.5;
2551 dits[32] = 47;
2552 dits[33] = 60.66;
2553 dits[34] = 28.5;
2554 dits[35] = 47;
2555 dits[36] = 77.2;
2556 dits[37] = 44.9;
2557 dits[38] = 47;
2558 gMC->Gsvolu("IS01", "PCON", idtmed[204], dits, 39);
2559
2560 dits[0] = 0;
2561 dits[1] = 360;
2562 dits[2] = 6;
2563 dits[3] = -77.2;
2564 dits[4] = 45;
2565 dits[5] = 47.5;
2566 dits[6] = -73.5;
2567 dits[7] = 45;
2568 dits[8] = 47.5;
2569 dits[9] = -72.7819;
2570 dits[10] = 45;
2571 dits[11] = 46.2819;
2572 dits[12] = -59.5;
2573 dits[13] = 31.2181;
2574 dits[14] = 33;
2575 dits[15] = -59.5;
2576 dits[16] = 28;
2577 dits[17] = 33;
2578 dits[18] = -57;
2579 dits[19] = 28;
2580 dits[20] = 30.5;
2581 gMC->Gsvolu("I212", "PCON", idtmed[272], dits, 21); // SSD cone
2582
2583 dits[0] = 28;
2584 dits[1] = 29.82;
2585 dits[2] = 0.5;
2586 gMC->Gsvolu("I211", "TUBE", idtmed[219], dits, 3);
2587
2588 dits[0] = 37.35;
2589 dits[1] = 38.25;
2590 dits[2] = 1;
2591 gMC->Gsvolu("I217", "TUBE", idtmed[224], dits, 3);
2592
2593 dits[0] = 38.25;
2594 dits[1] = 39.08;
2595 dits[2] = 1;
2596 gMC->Gsvolu("I218", "TUBE", idtmed[264], dits, 3);
2597
2598 dits[0] = 41.85;
2599 dits[1] = 42.75;
2600 dits[2] = 1;
2601 gMC->Gsvolu("I219", "TUBE", idtmed[224], dits, 3);
2602
2603 dits[0] = 42.75;
2604 dits[1] = 43.58;
2605 dits[2] = 1;
2606 gMC->Gsvolu("I220", "TUBE", idtmed[264], dits, 3);
2607
2608 dits[0] = 42.1;
2609 dits[1] = 42.5;
2610 dits[2] = 1.25;
2611 gMC->Gsvolu("I214", "TUBE", idtmed[224], dits, 3);
2612
2613 dits[0] = 37.1;
2614 dits[1] = 37.5;
2615 dits[2] = 1.25;
2616 gMC->Gsvolu("I213", "TUBE", idtmed[224], dits, 3);
2617
2618 dits[0] = 0;
2619 dits[1] = 25;
2620 dits[2] = 5;
2621 dits[3] = -77.2+3;
2622 dits[4] = 44.5;
2623 dits[5] = 44.5;
2624 dits[6] = -69.7+3;
2625 dits[7] = 37;
2626 dits[8] = 44.5;
2627 dits[9] = -68.5+3;
2628 dits[10] = 37;
2629 dits[11] = 44.5;
2630 dits[12] = -68.5+4.8;
2631 dits[13] = 37;
2632 dits[14] = 44.5;
2633 dits[15] = -63.5+4.8;
2634 dits[16] = 37;
2635 dits[17] = 44.5;
2636 gMC->Gsvolu("I215", "PCON", idtmed[294], dits, 18); // SSD end-ladder elect.
2637
2638 dits[0] = 0;
2639 dits[1] = 3.2;
2640 dits[2] = 9;
2641 dits[3] = -16.45;
2642 dits[4] = 30.5;
2643 dits[5] = 33.5;
2644 dits[6] = -7.85;
2645 dits[7] = 30.5;
2646 dits[8] = 33.5;
2647 dits[9] = -7.85;
2648 dits[10] = 30.5;
2649 dits[11] = 41.85;
2650 dits[12] = -5.85;
2651 dits[13] = 30.5;
2652 dits[14] = 41.85;
2653 dits[15] = -5.85;
2654 dits[16] = 30.5;
2655 dits[17] = 36.5;
2656 dits[18] = -5;
2657 dits[19] = 30.5;
2658 dits[20] = 36.5;
2659 dits[21] = -2;
2660 dits[22] = 33.0173;
2661 dits[23] = 36.5;
2662 dits[24] = -2;
2663 dits[25] = 33.0173;
2664 dits[26] = 37.35;
2665 dits[27] = 0;
2666 dits[28] = 34.6955;
2667 dits[29] = 37.35;
2668 gMC->Gsvolu("I216", "PCON", idtmed[272], dits, 30);
2669
2670
2671 // --- Place SPD (option 'a') volumes into their mother volume IT12
2672
2673 // SPD - option 'a'
2674 // (this is NOT the default)
2675
2676 if (option == 1) {
2677
2678 gMC->Gspos("I12A",5,"IT12",0.0,0.0,0.0,idrotm[238],"MANY");
2679 gMC->Gspos("I12A",6,"IT12",0.0,0.0,0.0,idrotm[236],"MANY");
2680 gMC->Gspos("I12A",7,"IT12",0.0,0.0,0.0,idrotm[239],"MANY");
2681 gMC->Gspos("I12A",8,"IT12",0.0,0.0,0.0,idrotm[233],"MANY");
2682 gMC->Gspos("I12A",9,"IT12",0.0,0.0,0.0,idrotm[240],"MANY");
2683 gMC->Gspos("I12A",10,"IT12",0.0,0.0,0.0,idrotm[241],"MANY");
2684 gMC->Gspos("I12A",2,"IT12",0.0,0.0,0.0,idrotm[242],"MANY");
2685 gMC->Gspos("I12A",3,"IT12",0.0,0.0,0.0,idrotm[234],"MANY");
2686 gMC->Gspos("I12A",4,"IT12",0.0,0.0,0.0,idrotm[243],"MANY");
2687 gMC->Gspos("I12A",1,"IT12",0.0,0.0,0.0,0,"MANY");
2688 deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(270.*TMath::Pi()/180.); // see definition of idrotm[244]
2689 deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(270.*TMath::Pi()/180.); // see definition of idrotm[244]
2690 gMC->Gspos("I10A",2,"I12A",0.203+deltax,3.8206+deltay,0.0,idrotm[244],"ONLY");
2691 deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(252.*TMath::Pi()/180.); // see definition of idrotm[245]
2692 deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(252.*TMath::Pi()/180.); // see definition of idrotm[245]
2693 gMC->Gspos("I10A",1,"I12A",1.4531+deltax,3.8152+deltay,0.0,idrotm[245],"ONLY");
2694 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(40.*TMath::Pi()/180.); // see definition of idrotm[246]
2695 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(40.*TMath::Pi()/180.); // see definition of idrotm[246]
2696 gMC->Gspos("I20A",1,"I12A",3.0174+deltax,6.5143+deltay,0.0,idrotm[246],"ONLY");
2697 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(49.*TMath::Pi()/180.); // see definition of idrotm[247]
2698 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(49.*TMath::Pi()/180.); // see definition of idrotm[247]
2699 gMC->Gspos("I20A",2,"I12A",1.9612+deltax,6.9062+deltay,0.0,idrotm[247],"ONLY");
2700 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(58.*TMath::Pi()/180.); // see definition of idrotm[248]
2701 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(58.*TMath::Pi()/180.); // see definition of idrotm[248]
2702 gMC->Gspos("I20A",3,"I12A",0.8567+deltax,7.1279+deltay,0.0,idrotm[248],"ONLY");
2703 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(67.*TMath::Pi()/180.); // see definition of idrotm[249]
2704 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(67.*TMath::Pi()/180.); // see definition of idrotm[249]
2705 gMC->Gspos("I20A",4,"I12A",-0.2689+deltax,7.1742+deltay,0.0,idrotm[249],"ONLY");
2706 gMC->Gspos("I123",2,"I12A",-0.2978,5.5196,0.0,idrotm[214],"ONLY");
2707 gMC->Gspos("I121",2,"I12A",-0.2385,4.1518,0.0,idrotm[213],"ONLY");
2708 gMC->Gspos("I122",2,"I12A",-0.2968,4.0207,0.0,idrotm[212],"ONLY");
2709 gMC->Gspos("I120",2,"I12A",-0.3672,3.9056,0.0,0,"ONLY");
2710 gMC->Gspos("I144",1,"I12A",-0.2538,3.8556,0.0,0,"ONLY");
2711 gMC->Gspos("I113",3,"I12A",0.1095,3.9056,0.0,0,"ONLY");
2712 gMC->Gspos("I143",1,"I12A",0.4365,3.8556,0.0,idrotm[236],"ONLY");
2713 gMC->Gspos("I142",1,"I12A",0.5136,3.9056,0.0,idrotm[235],"ONLY");
2714 gMC->Gspos("I141",1,"I12A",0.5636,3.9752,0.0,idrotm[201],"ONLY");
2715 gMC->Gspos("I140",1,"I12A",0.6336,4.0447,0.0,idrotm[234],"ONLY");
2716 gMC->Gspos("I139",1,"I12A",0.8297,4.0545,0.0,idrotm[207],"ONLY");
2717 gMC->Gspos("I113",5,"I12A",1.2575,3.9681,0.0,idrotm[207],"ONLY");
2718 gMC->Gspos("I138",1,"I12A",1.66,3.7848,0.0,idrotm[207],"ONLY");
2719 gMC->Gspos("I137",1,"I12A",1.8556,3.7738,0.0,idrotm[233],"ONLY");
2720 gMC->Gspos("I136",1,"I12A",2.6224,4.874,0.0,idrotm[232],"ONLY");
2721 gMC->Gspos("I135",1,"I12A",3.2967,6.0337,0.0,idrotm[231],"ONLY");
2722 gMC->Gspos("I134",1,"I12A",3.266,6.1636,0.0,idrotm[230],"ONLY");
2723 gMC->Gspos("I113",1,"I12A",2.9903,6.4144,0.0,idrotm[211],"ONLY");
2724 gMC->Gspos("I133",3,"I12A",2.7631,6.7627,0.0,idrotm[230],"ONLY");
2725 gMC->Gspos("I132",3,"I12A",2.62,6.8555,0.0,idrotm[229],"ONLY");
2726 gMC->Gspos("I131",3,"I12A",2.648,6.6023,0.0,idrotm[228],"ONLY");
2727 gMC->Gspos("I130",3,"I12A",2.6569,6.3431,0.0,idrotm[227],"ONLY");
2728 gMC->Gspos("I129",3,"I12A",2.3906,6.4819,0.0,idrotm[226],"ONLY");
2729 gMC->Gspos("I113",2,"I12A",1.9488,6.7998,0.0,idrotm[210],"ONLY");
2730 gMC->Gspos("I133",2,"I12A",1.6699,7.1085,0.0,idrotm[226],"ONLY");
2731 gMC->Gspos("I132",2,"I12A",1.5142,7.1777,0.0,idrotm[225],"ONLY");
2732 gMC->Gspos("I131",2,"I12A",1.5814,6.932,0.0,idrotm[224],"ONLY");
2733 gMC->Gspos("I130",2,"I12A",1.6308,6.6774,0.0,idrotm[223],"ONLY");
2734 gMC->Gspos("I129",2,"I12A",1.346,6.7728,0.0,idrotm[222],"ONLY");
2735 gMC->Gspos("I113",6,"I12A",0.8599,7.0176,0.0,idrotm[209],"ONLY");
2736 gMC->Gspos("I133",1,"I12A",0.5362,7.2789,0.0,idrotm[222],"ONLY");
2737 gMC->Gspos("I132",1,"I12A",0.3715,7.3228,0.0,idrotm[221],"ONLY");
2738 gMC->Gspos("I131",1,"I12A",0.4763,7.0907,0.0,idrotm[220],"ONLY");
2739 gMC->Gspos("I130",1,"I12A",0.5649,6.8469,0.0,idrotm[219],"ONLY");
2740 gMC->Gspos("I129",1,"I12A",0.2688,6.8966,0.0,idrotm[218],"ONLY");
2741 gMC->Gspos("I113",4,"I12A",-0.2497,7.0624,0.0,idrotm[208],"ONLY");
2742 gMC->Gspos("I128",1,"I12A",-0.6103,7.2698,0.0,idrotm[218],"ONLY");
2743 gMC->Gspos("I126",2,"I12A",-0.7799,7.2874,0.0,idrotm[217],"ONLY");
2744 gMC->Gspos("I125",2,"I12A",-0.6315,7.0883,0.0,idrotm[216],"ONLY");
2745 gMC->Gspos("I124",2,"I12A",-0.4965,6.8742,0.0,idrotm[215],"ONLY");
2746 gMC->Gspos("I103",3,"I10A",-0.05,-di10a[1]+2.*di104[1]+di103[1],-3.536,idrotm[237],"ONLY");
2747 gMC->Gspos("I103",4,"I10A",-0.05,-di10a[1]+2.*di104[1]+di103[1],-10.708,idrotm[237],"ONLY");
2748 gMC->Gspos("I103",1,"I10A",-0.05,-di10a[1]+2.*di104[1]+di103[1],10.708,0,"ONLY");
2749 gMC->Gspos("I103",2,"I10A",-0.05,-di10a[1]+2.*di104[1]+di103[1],3.536,0,"ONLY");
2750 gMC->Gspos("I105",1,"I10A",-0.05,0.01,-16.844,idrotm[237],"ONLY");
2751 gMC->Gspos("I105",2,"I10A",-0.05,0.01,16.844,0,"ONLY");
2752 gMC->Gspos("I104",1,"I10A",0.0,-di10a[1]+di104[1],0.0,0,"ONLY");
2753 gMC->Gspos("I1D3",3,"I20A",-0.05,-di20a[1]+2.*di104[1]+di1d3[1],-3.536,idrotm[237],"ONLY");
2754 gMC->Gspos("I1D3",4,"I20A",-0.05,-di20a[1]+2.*di104[1]+di1d3[1],-10.708,idrotm[237],"ONLY");
2755 gMC->Gspos("I1D3",1,"I20A",-0.05,-di20a[1]+2.*di104[1]+di1d3[1],10.708,0,"ONLY");
2756 gMC->Gspos("I1D3",2,"I20A",-0.05,-di20a[1]+2.*di104[1]+di1d3[1],3.536,0,"ONLY");
2757 gMC->Gspos("I105",3,"I20A",-0.05,0.01,-16.844,idrotm[237],"ONLY");
2758 gMC->Gspos("I105",4,"I20A",-0.05,0.01,16.844,0,"ONLY");
2759 gMC->Gspos("I104",2,"I20A",0.0,-di20a[1]+di104[1],0.0,0,"ONLY");
2760 gMC->Gspos("I112",2,"I113",0.25,0.02,0.0,idrotm[206],"ONLY");
2761 gMC->Gspos("I111",2,"I113",0.1318,-0.0008,0.0,idrotm[205],"ONLY");
2762 gMC->Gspos("I118",1,"I113",0.0,-0.0454,0.0,0,"ONLY");
2763 gMC->Gspos("I110",1,"I113",0.0,0.0492,0.0,0,"ONLY");
2764 gMC->Gspos("I114",1,"I113",0.063,0.0042,0.0,idrotm[202],"ONLY");
2765 gMC->Gspos("I115",1,"I113",0.063,0.0042,0.0,idrotm[202],"ONLY");
2766 gMC->Gspos("I115",2,"I113",-0.063,0.0042,0.0,idrotm[201],"ONLY");
2767 gMC->Gspos("I114",2,"I113",-0.063,0.0042,0.0,idrotm[201],"ONLY");
2768 gMC->Gspos("I116",1,"I113",0.0,0.0042,0.0,0,"ONLY");
2769 gMC->Gspos("I111",1,"I113",-0.1318,-0.0008,0.0,idrotm[204],"ONLY");
2770 gMC->Gspos("I112",1,"I113",-0.25,0.02,0.0,idrotm[203],"ONLY");
2771 gMC->Gspos("I101",1,"I103",-0.088,ddet1,0.0,0,"ONLY");
2772 gMC->Gspos("I102",1,"I103",0.0,-dchip1,-2.8,0,"ONLY");
2773 gMC->Gspos("I102",2,"I103",0.0,-dchip1,-1.4,0,"ONLY");
2774 gMC->Gspos("I102",3,"I103",0.0,-dchip1,0.0,0,"ONLY");
2775 gMC->Gspos("I102",4,"I103",0.0,-dchip1,1.4,0,"ONLY");
2776 gMC->Gspos("I102",5,"I103",0.0,-dchip1,2.8,0,"ONLY");
2777 gMC->Gspos("I1D1",1,"I1D3",-0.088,ddet2,0.0,0,"ONLY");
2778 gMC->Gspos("I1D2",1,"I1D3",0.0,-dchip2,-2.8,0,"ONLY");
2779 gMC->Gspos("I1D2",2,"I1D3",0.0,-dchip2,-1.4,0,"ONLY");
2780 gMC->Gspos("I1D2",3,"I1D3",0.0,-dchip2,0.0,0,"ONLY");
2781 gMC->Gspos("I1D2",4,"I1D3",0.0,-dchip2,1.4,0,"ONLY");
2782 gMC->Gspos("I1D2",5,"I1D3",0.0,-dchip2,2.8,0,"ONLY");
2783 gMC->Gspos("I117",1,"I116",0.0,0.0,0.0,0,"ONLY");
2784 gMC->Gspos("ITS1",1,"I101",0.0,0.0,0.0,0,"ONLY");
2785 gMC->Gspos("ITS2",1,"I1D1",0.0,0.0,0.0,0,"ONLY");
2786 gMC->Gspos("I650",16,"IT12",0.0,0.0,22.0,idrotm[1104],"MANY");
2787 gMC->Gspos("I650",20,"IT12",0.0,0.0,22.0,idrotm[1130],"MANY");
2788 gMC->Gspos("I650",18,"IT12",0.0,0.0,22.0,idrotm[1117],"MANY");
2789 gMC->Gspos("I650",1,"IT12",0.0,0.0,22.0,0,"MANY");
2790 gMC->Gspos("I650",4,"IT12",0.0,0.0,22.0,idrotm[1106],"MANY");
2791 gMC->Gspos("I650",6,"IT12",0.0,0.0,22.0,idrotm[1039],"MANY");
2792 gMC->Gspos("I650",8,"IT12",0.0,0.0,22.0,idrotm[1107],"MANY");
2793 gMC->Gspos("I650",10,"IT12",0.0,0.0,22.0,idrotm[1065],"MANY");
2794 gMC->Gspos("I650",12,"IT12",0.0,0.0,22.0,idrotm[1078],"MANY");
2795 gMC->Gspos("I650",14,"IT12",0.0,0.0,22.0,idrotm[1091],"MANY");
2796 gMC->Gspos("I650",19,"IT12",0.0,0.0,-22.0,idrotm[1108],"MANY");
2797 gMC->Gspos("I650",2,"IT12",0.0,0.0,-22.0,idrotm[1109],"MANY");
2798 gMC->Gspos("I650",3,"IT12",0.0,0.0,-22.0,idrotm[1110],"MANY");
2799 gMC->Gspos("I650",5,"IT12",0.0,0.0,-22.0,idrotm[1111],"MANY");
2800 gMC->Gspos("I650",7,"IT12",0.0,0.0,-22.0,idrotm[1112],"MANY");
2801 gMC->Gspos("I650",9,"IT12",0.0,0.0,-22.0,idrotm[1113],"MANY");
2802 gMC->Gspos("I650",11,"IT12",0.0,0.0,-22.0,idrotm[1114],"MANY");
2803 gMC->Gspos("I650",13,"IT12",0.0,0.0,-22.0,idrotm[1115],"MANY");
2804 gMC->Gspos("I650",15,"IT12",0.0,0.0,-22.0,idrotm[1116],"MANY");
2805 gMC->Gspos("I650",17,"IT12",0.0,0.0,-22.0,idrotm[1118],"MANY");
2806 gMC->Gspos("I666",1,"I650",0.0,0.0,0.25,idrotm[1003],"MANY");
2807 gMC->Gspos("I667",1,"I650",0.1102,0.9945,0.45,idrotm[1088],"ONLY");
2808 gMC->Gspos("I669",3,"I650",0.1883,4.0372,-3.2,0,"ONLY");
2809 gMC->Gspos("I671",3,"I650",0.1883,4.0372,0.6,0,"ONLY");
2810 gMC->Gspos("I669",2,"I650",1.3343,4.0609,-3.2,0,"ONLY");
2811 gMC->Gspos("I671",2,"I650",1.3343,4.0609,0.6,0,"ONLY");
2812 gMC->Gspos("I669",6,"I650",2.9567,6.1959,-3.2,idrotm[1089],"ONLY");
2813 gMC->Gspos("I671",6,"I650",2.9567,6.1959,0.6,idrotm[1089],"ONLY");
2814 gMC->Gspos("I669",5,"I650",1.9511,6.5822,-3.2,idrotm[1011],"ONLY");
2815 gMC->Gspos("I671",5,"I650",1.9511,6.5822,0.6,idrotm[1011],"ONLY");
2816 gMC->Gspos("I669",4,"I650",0.8974,6.8064,-3.2,idrotm[1090],"ONLY");
2817 gMC->Gspos("I671",4,"I650",0.8974,6.8064,0.6,idrotm[1090],"ONLY");
2818 gMC->Gspos("I669",1,"I650",-0.1784,6.863,-3.2,0,"ONLY");
2819 gMC->Gspos("I671",1,"I650",-0.1784,6.863,0.6,0,"ONLY");
2820 gMC->Gspos("I673",1,"I650",0.2173,4.8037,1.8,0,"ONLY");
2821 gMC->Gspos("I673",6,"I650",1.5093,4.5605,1.8,0,"ONLY");
2822 gMC->Gspos("I673",4,"I650",-0.173,6.2531,1.8,idrotm[1092],"ONLY");
2823 gMC->Gspos("I673",3,"I650",0.8073,6.2032,1.8,idrotm[1093],"ONLY");
2824 gMC->Gspos("I673",2,"I650",1.7678,6.0005,1.8,idrotm[1094],"ONLY");
2825 gMC->Gspos("I673",5,"I650",2.6847,5.6501,1.8,0,"ONLY");
2826 gMC->Gspos("I676",2,"I650",1.7618,5.2269,2.5,0,"ONLY");
2827 gMC->Gspos("I676",1,"I650",0.4018,5.5869,2.5,0,"ONLY");
2828 gMC->Gspos("I668",1,"I667",0.0,0.0,0.0,0,"ONLY");
2829 gMC->Gspos("I670",1,"I669",0.0,0.0,0.0,0,"ONLY");
2830 gMC->Gspos("I672",1,"I671",0.0,0.0,0.0,0,"ONLY");
2831 gMC->Gspos("I674",1,"I673",0.0,0.0,0.0,0,"MANY");
2832 gMC->Gspos("I675",1,"I673",0.0,0.0,-0.5,0,"ONLY");
2833 gMC->Gspos("I677",1,"I676",0.0,0.0,0.0,0,"MANY");
2834 gMC->Gspos("I678",1,"I676",0.0,0.0,-0.95,0,"ONLY");
2835
2836 }
2837
2838
2839 // --- Place SPD (option 'b') volumes into their mother volume IT12
2840
2841 // SPD - option 'b'
2842 // (this is the default)
2843
2844 if (option == 2) {
2845
2846 gMC->Gspos("I12B",1,"IT12",0.0,0.0,0.0,0,"MANY");
2847 gMC->Gspos("I12B",8,"IT12",0.0,0.0,0.0,idrotm[233],"MANY");
2848 gMC->Gspos("I12B",7,"IT12",0.0,0.0,0.0,idrotm[244],"MANY");
2849 gMC->Gspos("I12B",6,"IT12",0.0,0.0,0.0,idrotm[236],"MANY");
2850 gMC->Gspos("I12B",2,"IT12",0.0,0.0,0.0,idrotm[245],"MANY");
2851 gMC->Gspos("I12B",3,"IT12",0.0,0.0,0.0,idrotm[234],"MANY");
2852 gMC->Gspos("I12B",4,"IT12",0.0,0.0,0.0,idrotm[246],"MANY");
2853 gMC->Gspos("I12B",5,"IT12",0.0,0.0,0.0,idrotm[247],"MANY");
2854 gMC->Gspos("I12B",9,"IT12",0.0,0.0,0.0,idrotm[248],"MANY");
2855 gMC->Gspos("I12B",10,"IT12",0.0,0.0,0.0,idrotm[249],"MANY");
2856 deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(270.*TMath::Pi()/180.); // see definition of idrotm[238]
2857 deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(270.*TMath::Pi()/180.); // see definition of idrotm[238]
2858 gMC->Gspos("I10B",2,"I12B",0.203+deltax,3.8206+deltay,0.0,idrotm[238],"ONLY");
2859 deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(252.*TMath::Pi()/180.); // see definition of idrotm[239]
2860 deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(252.*TMath::Pi()/180.); // see definition of idrotm[239]
2861 gMC->Gspos("I10B",1,"I12B",1.4531+deltax,3.8152+deltay,0.0,idrotm[239],"ONLY");
2862 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(40.*TMath::Pi()/180.); // see definition of idrotm[240]
2863 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(40.*TMath::Pi()/180.); // see definition of idrotm[240]
2864 gMC->Gspos("I20B",1,"I12B",3.0174+deltax,6.5143+deltay,0.0,idrotm[240],"ONLY");
2865 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(49.*TMath::Pi()/180.); // see definition of idrotm[241]
2866 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(49.*TMath::Pi()/180.); // see definition of idrotm[241]
2867 gMC->Gspos("I20B",2,"I12B",1.9612+deltax,6.9062+deltay,0.0,idrotm[241],"ONLY");
2868 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(58.*TMath::Pi()/180.); // see definition of idrotm[242]
2869 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(58.*TMath::Pi()/180.); // see definition of idrotm[242]
2870 gMC->Gspos("I20B",3,"I12B",0.8567+deltax,7.1279+deltay,0.0,idrotm[242],"ONLY");
2871 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(67.*TMath::Pi()/180.); // see definition of idrotm[243]
2872 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(67.*TMath::Pi()/180.); // see definition of idrotm[243]
2873 gMC->Gspos("I20B",4,"I12B",-0.2689+deltax,7.1742+deltay,0.0,idrotm[243],"ONLY");
2874 gMC->Gspos("I123",1,"I12B",-0.2978,5.5196,0.0,idrotm[214],"ONLY");
2875 gMC->Gspos("I121",1,"I12B",-0.2385,4.1518,0.0,idrotm[213],"ONLY");
2876 gMC->Gspos("I122",1,"I12B",-0.2968,4.0207,0.0,idrotm[212],"ONLY");
2877 gMC->Gspos("I120",1,"I12B",-0.3672,3.9056,0.0,0,"ONLY");
2878 gMC->Gspos("I144",1,"I12B",-0.2538,3.8556,0.0,0,"ONLY");
2879 gMC->Gspos("I113",3,"I12B",0.1095,3.9056,0.0,0,"ONLY");
2880 gMC->Gspos("I143",1,"I12B",0.4365,3.8556,0.0,idrotm[236],"ONLY");
2881 gMC->Gspos("I142",1,"I12B",0.5136,3.9056,0.0,idrotm[235],"ONLY");
2882 gMC->Gspos("I141",1,"I12B",0.5636,3.9752,0.0,idrotm[237],"ONLY");
2883 gMC->Gspos("I140",1,"I12B",0.6336,4.0447,0.0,idrotm[234],"ONLY");
2884 gMC->Gspos("I139",1,"I12B",0.8297,4.0545,0.0,idrotm[207],"ONLY");
2885 gMC->Gspos("I113",5,"I12B",1.2575,3.9681,0.0,idrotm[207],"ONLY");
2886 gMC->Gspos("I138",1,"I12B",1.66,3.7848,0.0,idrotm[207],"ONLY");
2887 gMC->Gspos("I137",1,"I12B",1.8556,3.7738,0.0,idrotm[233],"ONLY");
2888 gMC->Gspos("I136",1,"I12B",2.6224,4.874,0.0,idrotm[232],"ONLY");
2889 gMC->Gspos("I135",1,"I12B",3.2967,6.0337,0.0,idrotm[231],"ONLY");
2890 gMC->Gspos("I134",1,"I12B",3.266,6.1636,0.0,idrotm[230],"ONLY");
2891 gMC->Gspos("I113",1,"I12B",2.9903,6.4144,0.0,idrotm[211],"ONLY");
2892 gMC->Gspos("I133",3,"I12B",2.7631,6.7627,0.0,idrotm[230],"ONLY");
2893 gMC->Gspos("I132",3,"I12B",2.62,6.8555,0.0,idrotm[229],"ONLY");
2894 gMC->Gspos("I131",3,"I12B",2.648,6.6023,0.0,idrotm[228],"ONLY");
2895 gMC->Gspos("I130",3,"I12B",2.6569,6.3431,0.0,idrotm[227],"ONLY");
2896 gMC->Gspos("I129",3,"I12B",2.3906,6.4819,0.0,idrotm[226],"ONLY");
2897 gMC->Gspos("I113",2,"I12B",1.9488,6.7998,0.0,idrotm[210],"ONLY");
2898 gMC->Gspos("I133",2,"I12B",1.6699,7.1085,0.0,idrotm[226],"ONLY");
2899 gMC->Gspos("I132",2,"I12B",1.5142,7.1777,0.0,idrotm[225],"ONLY");
2900 gMC->Gspos("I131",2,"I12B",1.5814,6.932,0.0,idrotm[224],"ONLY");
2901 gMC->Gspos("I130",2,"I12B",1.6308,6.6774,0.0,idrotm[223],"ONLY");
2902 gMC->Gspos("I129",2,"I12B",1.346,6.7728,0.0,idrotm[222],"ONLY");
2903 gMC->Gspos("I113",6,"I12B",0.8599,7.0176,0.0,idrotm[209],"ONLY");
2904 gMC->Gspos("I133",1,"I12B",0.5362,7.2789,0.0,idrotm[222],"ONLY");
2905 gMC->Gspos("I132",1,"I12B",0.3715,7.3228,0.0,idrotm[221],"ONLY");
2906 gMC->Gspos("I131",1,"I12B",0.4763,7.0907,0.0,idrotm[220],"ONLY");
2907 gMC->Gspos("I130",1,"I12B",0.5649,6.8469,0.0,idrotm[219],"ONLY");
2908 gMC->Gspos("I129",1,"I12B",0.2688,6.8966,0.0,idrotm[218],"ONLY");
2909 gMC->Gspos("I113",4,"I12B",-0.2497,7.0624,0.0,idrotm[208],"ONLY");
2910 gMC->Gspos("I128",1,"I12B",-0.6103,7.2698,0.0,idrotm[218],"ONLY");
2911 gMC->Gspos("I126",1,"I12B",-0.7799,7.2874,0.0,idrotm[217],"ONLY");
2912 gMC->Gspos("I125",1,"I12B",-0.6315,7.0883,0.0,idrotm[216],"ONLY");
2913 gMC->Gspos("I124",1,"I12B",-0.4965,6.8742,0.0,idrotm[215],"ONLY");
2914 gMC->Gspos("I105",3,"I10B",-0.05,-0.01,-16.844,idrotm[201],"ONLY");
2915 gMC->Gspos("I105",4,"I10B",-0.05,-0.01,16.844,0,"ONLY");
2916 gMC->Gspos("I107",2,"I10B",-0.0455,-di10b[1]+di107[1],3.536,0,"ONLY");
2917 gMC->Gspos("I107",1,"I10B",-0.0455,-di10b[1]+di107[1],10.708,0,"ONLY");
2918 gMC->Gspos("I107",4,"I10B",-0.0455,-di10b[1]+di107[1],-10.708,idrotm[201],"ONLY");
2919 gMC->Gspos("I107",3,"I10B",-0.0455,-di10b[1]+di107[1],-3.536,idrotm[201],"ONLY");
2920 gMC->Gspos("I109",1,"I10B",-0.138,0.015,-16.844,idrotm[201],"ONLY");
2921 gMC->Gspos("I109",2,"I10B",-0.138,0.015,16.844,0,"ONLY");
2922 gMC->Gspos("I108",1,"I10B",-0.138,-di10b[1]+2.*di107[1]+di108[1],0.0,0,"ONLY");
2923 gMC->Gspos("I105",1,"I20B",-0.05,-0.01,-16.844,idrotm[201],"ONLY");
2924 gMC->Gspos("I105",2,"I20B",-0.05,-0.01,16.844,0,"ONLY");
2925 gMC->Gspos("I1D7",2,"I20B",-0.0455,-di20b[1]+di1d7[1],3.536,0,"ONLY");
2926 gMC->Gspos("I1D7",1,"I20B",-0.0455,-di20b[1]+di1d7[1],10.708,0,"ONLY");
2927 gMC->Gspos("I1D7",4,"I20B",-0.0455,-di20b[1]+di1d7[1],-10.708,idrotm[201],"ONLY");
2928 gMC->Gspos("I1D7",3,"I20B",-0.0455,-di20b[1]+di1d7[1],-3.536,idrotm[201],"ONLY");
2929 gMC->Gspos("I109",3,"I20B",-0.138,0.015,-16.844,idrotm[201],"ONLY");
2930 gMC->Gspos("I109",4,"I20B",-0.138,0.015,16.844,0,"ONLY");
2931 gMC->Gspos("I108",2,"I20B",-0.138,-di20b[1]+2.*di1d7[1]+di108[1],0.0,0,"ONLY");
2932 gMC->Gspos("I112",2,"I113",0.25,0.02,0.0,idrotm[206],"ONLY");
2933 gMC->Gspos("I111",2,"I113",0.1318,-0.0008,0.0,idrotm[205],"ONLY");
2934 gMC->Gspos("I118",1,"I113",0.0,-0.0454,0.0,0,"ONLY");
2935 gMC->Gspos("I110",1,"I113",0.0,0.0492,0.0,0,"ONLY");
2936 gMC->Gspos("I114",1,"I113",0.063,0.0042,0.0,idrotm[202],"ONLY");
2937 gMC->Gspos("I115",1,"I113",0.063,0.0042,0.0,idrotm[202],"ONLY");
2938 gMC->Gspos("I115",2,"I113",-0.063,0.0042,0.0,idrotm[237],"ONLY");
2939 gMC->Gspos("I114",2,"I113",-0.063,0.0042,0.0,idrotm[237],"ONLY");
2940 gMC->Gspos("I116",1,"I113",0.0,0.0042,0.0,0,"ONLY");
2941 gMC->Gspos("I111",1,"I113",-0.1318,-0.0008,0.0,idrotm[204],"ONLY");
2942 gMC->Gspos("I112",1,"I113",-0.25,0.02,0.0,idrotm[203],"ONLY");
2943 gMC->Gspos("I106",1,"I107",0.0,-dchip1,-1.4,0,"ONLY");
2944 gMC->Gspos("I106",2,"I107",0.0,-dchip1,0.0,0,"ONLY");
2945 gMC->Gspos("I106",3,"I107",0.0,-dchip1,1.4,0,"ONLY");
2946 gMC->Gspos("I106",4,"I107",0.0,-dchip1,2.8,0,"ONLY");
2947 gMC->Gspos("I106",5,"I107",0.0,-dchip1,-2.8,0,"ONLY");
2948 gMC->Gspos("I101",1,"I107",0.0,ddet1,0.0,0,"ONLY");
2949 gMC->Gspos("I1D6",1,"I1D7",0.0,-dchip2,-1.4,0,"ONLY");
2950 gMC->Gspos("I1D6",2,"I1D7",0.0,-dchip2,0.0,0,"ONLY");
2951 gMC->Gspos("I1D6",3,"I1D7",0.0,-dchip2,1.4,0,"ONLY");
2952 gMC->Gspos("I1D6",4,"I1D7",0.0,-dchip2,2.8,0,"ONLY");
2953 gMC->Gspos("I1D6",5,"I1D7",0.0,-dchip2,-2.8,0,"ONLY");
2954 gMC->Gspos("I1D1",1,"I1D7",0.0,ddet2,0.0,0,"ONLY");
2955 gMC->Gspos("I117",1,"I116",0.0,0.0,0.0,0,"ONLY");
2956 gMC->Gspos("ITS1",1,"I101",0.0,0.0,0.0,0,"ONLY");
2957 gMC->Gspos("ITS2",1,"I1D1",0.0,0.0,0.0,0,"ONLY");
2958 gMC->Gspos("I650",16,"IT12",0.0,0.0,22.0,idrotm[1104],"MANY");
2959 gMC->Gspos("I650",20,"IT12",0.0,0.0,22.0,idrotm[1130],"MANY");
2960 gMC->Gspos("I650",18,"IT12",0.0,0.0,22.0,idrotm[1117],"MANY");
2961 gMC->Gspos("I650",1,"IT12",0.0,0.0,22.0,0,"MANY");
2962 gMC->Gspos("I650",4,"IT12",0.0,0.0,22.0,idrotm[1106],"MANY");
2963 gMC->Gspos("I650",6,"IT12",0.0,0.0,22.0,idrotm[1039],"MANY");
2964 gMC->Gspos("I650",8,"IT12",0.0,0.0,22.0,idrotm[1107],"MANY");
2965 gMC->Gspos("I650",10,"IT12",0.0,0.0,22.0,idrotm[1065],"MANY");
2966 gMC->Gspos("I650",12,"IT12",0.0,0.0,22.0,idrotm[1078],"MANY");
2967 gMC->Gspos("I650",14,"IT12",0.0,0.0,22.0,idrotm[1091],"MANY");
2968 gMC->Gspos("I650",19,"IT12",0.0,0.0,-22.0,idrotm[1108],"MANY");
2969 gMC->Gspos("I650",2,"IT12",0.0,0.0,-22.0,idrotm[1109],"MANY");
2970 gMC->Gspos("I650",3,"IT12",0.0,0.0,-22.0,idrotm[1110],"MANY");
2971 gMC->Gspos("I650",5,"IT12",0.0,0.0,-22.0,idrotm[1111],"MANY");
2972 gMC->Gspos("I650",7,"IT12",0.0,0.0,-22.0,idrotm[1112],"MANY");
2973 gMC->Gspos("I650",9,"IT12",0.0,0.0,-22.0,idrotm[1113],"MANY");
2974 gMC->Gspos("I650",11,"IT12",0.0,0.0,-22.0,idrotm[1114],"MANY");
2975 gMC->Gspos("I650",13,"IT12",0.0,0.0,-22.0,idrotm[1115],"MANY");
2976 gMC->Gspos("I650",15,"IT12",0.0,0.0,-22.0,idrotm[1116],"MANY");
2977 gMC->Gspos("I650",17,"IT12",0.0,0.0,-22.0,idrotm[1118],"MANY");
2978 gMC->Gspos("I666",1,"I650",0.0,0.0,0.25,idrotm[1003],"MANY");
2979 gMC->Gspos("I667",1,"I650",0.1102,0.9945,0.45,idrotm[1088],"ONLY");
2980 gMC->Gspos("I669",3,"I650",0.1883,4.0372,-3.2,0,"ONLY");
2981 gMC->Gspos("I671",3,"I650",0.1883,4.0372,0.6,0,"ONLY");
2982 gMC->Gspos("I669",2,"I650",1.3343,4.0609,-3.2,0,"ONLY");
2983 gMC->Gspos("I671",2,"I650",1.3343,4.0609,0.6,0,"ONLY");
2984 gMC->Gspos("I669",6,"I650",2.9567,6.1959,-3.2,idrotm[1089],"ONLY");
2985 gMC->Gspos("I671",6,"I650",2.9567,6.1959,0.6,idrotm[1089],"ONLY");
2986 gMC->Gspos("I669",5,"I650",1.9511,6.5822,-3.2,idrotm[1011],"ONLY");
2987 gMC->Gspos("I671",5,"I650",1.9511,6.5822,0.6,idrotm[1011],"ONLY");
2988 gMC->Gspos("I669",4,"I650",0.8974,6.8064,-3.2,idrotm[1090],"ONLY");
2989 gMC->Gspos("I671",4,"I650",0.8974,6.8064,0.6,idrotm[1090],"ONLY");
2990 gMC->Gspos("I669",1,"I650",-0.1784,6.863,-3.2,0,"ONLY");
2991 gMC->Gspos("I671",1,"I650",-0.1784,6.863,0.6,0,"ONLY");
2992 gMC->Gspos("I673",1,"I650",0.2173,4.8037,1.8,0,"ONLY");
2993 gMC->Gspos("I673",6,"I650",1.5093,4.5605,1.8,0,"ONLY");
2994 gMC->Gspos("I673",4,"I650",-0.173,6.2531,1.8,idrotm[1092],"ONLY");
2995 gMC->Gspos("I673",3,"I650",0.8073,6.2032,1.8,idrotm[1093],"ONLY");
2996 gMC->Gspos("I673",2,"I650",1.7678,6.0005,1.8,idrotm[1094],"ONLY");
2997 gMC->Gspos("I673",5,"I650",2.6847,5.6501,1.8,0,"ONLY");
2998 gMC->Gspos("I676",2,"I650",1.7618,5.2269,2.5,0,"ONLY");
2999 gMC->Gspos("I676",1,"I650",0.4018,5.5869,2.5,0,"ONLY");
3000 gMC->Gspos("I668",1,"I667",0.0,0.0,0.0,0,"ONLY");
3001 gMC->Gspos("I670",1,"I669",0.0,0.0,0.0,0,"ONLY");
3002 gMC->Gspos("I672",1,"I671",0.0,0.0,0.0,0,"ONLY");
3003 gMC->Gspos("I674",1,"I673",0.0,0.0,0.0,0,"MANY");
3004 gMC->Gspos("I675",1,"I673",0.0,0.0,-0.5,0,"ONLY");
3005 gMC->Gspos("I677",1,"I676",0.0,0.0,0.0,0,"MANY");
3006 gMC->Gspos("I678",1,"I676",0.0,0.0,-0.95,0,"ONLY");
3007
3008 }
db915fea 3009
3010 // --- Place SDD volumes into their mother volume IT34
9d2da7b3 3011
db915fea 3012
9d2da7b3 3013 // -- position SDD detectors of ladder 3 / layer 3
3014
3015 gMC->Gspos("ITS3", 1,"I302", 0.0, 0.0, 0.0, 0, "ONLY");
3016 ySDD = Y_SDD_sep/2.+I302dits[1];
3017 for (iSDD=0; iSDD<6; iSDD++) {
3018 gMC->Gspos("I302", iSDD+1, "I004", 0.0, ySDD, Z_SDD_lay3[iSDD], 0, "ONLY");
3019 ySDD = -ySDD;
3020 }
3021
3022 gMC->Gspos("I004", 1,"IT34", -3.2777, 14.3607, 0.0, idrotm[321],"ONLY");
3023 gMC->Gspos("I004", 2,"IT34", -9.5581, 11.9855, 0.0, idrotm[333],"ONLY");
3024 gMC->Gspos("I004", 3,"IT34",-13.2713, 6.3911, 0.0, idrotm[336],"ONLY");
3025 gMC->Gspos("I004", 4,"IT34",-15.33, 0.0, 0.0, idrotm[350],"ONLY");
3026 gMC->Gspos("I004", 5,"IT34",-13.2713, -6.3911, 0.0, idrotm[313],"ONLY");
3027 gMC->Gspos("I004", 6,"IT34", -9.5581, -11.9855, 0.0, idrotm[311],"ONLY");
3028 gMC->Gspos("I004", 7,"IT34", -3.2777, -14.3607, 0.0, idrotm[310],"ONLY");
3029 gMC->Gspos("I004", 8,"IT34", 3.4112, -14.9456, 0.0, idrotm[386],"ONLY");
3030 gMC->Gspos("I004", 9,"IT34", 9.184, -11.5164, 0.0, idrotm[309],"ONLY");
3031 gMC->Gspos("I004",10,"IT34", 13.8119, -6.6514, 0.0, idrotm[308],"ONLY");
3032 gMC->Gspos("I004",11,"IT34", 14.73, 0.0, 0.0, idrotm[356],"ONLY");
3033 gMC->Gspos("I004",12,"IT34", 13.8119, 6.6514, 0.0, idrotm[307],"ONLY");
3034 gMC->Gspos("I004",13,"IT34", 9.184, 11.5164, 0.0, idrotm[306],"ONLY");
3035 gMC->Gspos("I004",14,"IT34", 3.4113, 14.9456, 0.0, idrotm[305],"ONLY");
3036
3037
3038 // -- position SDD detectors of ladder 4 / layer 4
3039
3040 gMC->Gspos("ITS4", 1,"I402", 0.0, 0.000, 0.0, 0,"ONLY");
3041 ySDD = -(Y_SDD_sep/2.+I402dits[1]);
3042 for (iSDD=0; iSDD<8; iSDD++) {
3043 gMC->Gspos("I402", iSDD+1, "I005", 0.0, ySDD, Z_SDD_lay4[iSDD], 0, "ONLY");
3044 ySDD = -ySDD;
3045 }
db915fea 3046
9d2da7b3 3047 gMC->Gspos("I005", 1,"IT34", -3.3629, 23.3895,-0.15, idrotm[335],"ONLY");
3048 gMC->Gspos("I005", 2,"IT34",-10.0447, 21.9949,-0.15, idrotm[332],"ONLY");
3049 gMC->Gspos("I005", 3,"IT34",-15.4744, 17.8584,-0.15, idrotm[331],"ONLY");
3050 gMC->Gspos("I005", 4,"IT34",-20.3415, 13.0727,-0.15, idrotm[366],"ONLY");
3051 gMC->Gspos("I005", 5,"IT34",-22.6728, 6.6573,-0.15, idrotm[330],"ONLY");
3052 gMC->Gspos("I005", 6,"IT34",-24.18, 0.0, -0.15, idrotm[350],"ONLY");
3053 gMC->Gspos("I005", 7,"IT34",-22.6728, -6.6573,-0.15, idrotm[329],"ONLY");
3054 gMC->Gspos("I005", 8,"IT34",-20.3415, -13.0727,-0.15, idrotm[328],"ONLY");
3055 gMC->Gspos("I005", 9,"IT34",-15.4744, -17.8584,-0.15, idrotm[327],"ONLY");
3056 gMC->Gspos("I005",10,"IT34",-10.0447, -21.9949,-0.15, idrotm[326],"ONLY");
3057 gMC->Gspos("I005",11,"IT34", -3.3629, -23.3895,-0.15, idrotm[325],"ONLY");
3058 gMC->Gspos("I005",12,"IT34", 3.4412, -23.9339,-0.15, idrotm[324],"ONLY");
3059 gMC->Gspos("I005",13,"IT34", 9.8163, -21.4946,-0.15, idrotm[323],"ONLY");
3060 gMC->Gspos("I005",14,"IT34", 15.8345, -18.274, -0.15, idrotm[322],"ONLY");
3061 gMC->Gspos("I005",15,"IT34", 19.8788, -12.7753,-0.15, idrotm[320],"ONLY");
3062 gMC->Gspos("I005",16,"IT34", 23.2005, -6.8123,-0.15, idrotm[319],"ONLY");
3063 gMC->Gspos("I005",17,"IT34", 23.63, 0.0, -0.15, idrotm[318],"ONLY");
3064 gMC->Gspos("I005",18,"IT34", 23.2005, 6.8123,-0.15, idrotm[317],"ONLY");
3065 gMC->Gspos("I005",19,"IT34", 19.8788, 12.7753,-0.15, idrotm[316],"ONLY");
3066 gMC->Gspos("I005",20,"IT34", 15.8345, 18.274, -0.15, idrotm[315],"ONLY");
3067 gMC->Gspos("I005",21,"IT34", 9.8163, 21.4946,-0.15, idrotm[314],"ONLY");
3068 gMC->Gspos("I005",22,"IT34", 3.4412, 23.9339,-0.15, idrotm[334],"ONLY");
3069
3070
3071 // -- build block of the SDD ladder frame holding the electronics
3072
3073 gMC->Gspos("I019", 1,"I018", -1.9, -1.735, 0.0, idrotm[344], "ONLY");
3074 gMC->Gspos("I019", 2,"I018", 1.987, -1.5843, 0.0, idrotm[343], "ONLY");
3075 gMC->Gspos("I019", 3,"I018", -0.087, 1.7066, 0.0, idrotm[342], "ONLY");
3076
3077 gMC->Gspos("I020", 1,"I018", -1.9782, -1.569, 0.0, idrotm[342], "ONLY");
3078 gMC->Gspos("I020", 2,"I018", 1.8824, -1.735, 0.0, idrotm[344], "ONLY");
3079 gMC->Gspos("I020", 3,"I018", 0.0958, 1.6913, 0.0, idrotm[343], "ONLY");
3080
3081 gMC->Gspos("I021", 1,"I018", 1.0761, 0.0835, 2.6008, idrotm[340], "ONLY");
3082 gMC->Gspos("I021", 2,"I018", -1.0761, 0.0835,-2.8008, idrotm[339], "ONLY");
3083 gMC->Gspos("I021", 3,"I018", -1.0761, 0.0835,-1.0492, idrotm[338], "ONLY");
3084 gMC->Gspos("I021", 4,"I018", 1.0761, 0.0835,-2.8008, idrotm[337], "ONLY");
3085 gMC->Gspos("I021", 5,"I018", 1.0761, 0.0835,-1.0492, idrotm[340], "ONLY");
3086 gMC->Gspos("I021", 6,"I018", -1.0761, 0.0835, 0.8492, idrotm[339], "ONLY");
3087 gMC->Gspos("I021", 7,"I018", -1.0761, 0.0835, 2.6008, idrotm[338], "ONLY");
3088 gMC->Gspos("I021", 8,"I018", 1.0761, 0.0835, 0.8492, idrotm[337], "ONLY");
3089
3090 gMC->Gspos("I022", 1,"I018", 0.0, -1.79, 3.55, idrotm[312], "ONLY");
3091 gMC->Gspos("I022", 2,"I018", 0.0, -1.79, -0.1, idrotm[312], "ONLY");
3092
3093 gMC->Gspos("I023", 1,"I018", 0.0, -1.79, 1.725, idrotm[341], "ONLY");
3094 gMC->Gspos("I023", 2,"I018", 0.0, -1.79, -1.925, idrotm[341], "ONLY");
3095
3096 gMC->Gspos("I033", 1,"I018", 1.8, -1.75, 1.35, 0, "MANY");
3097 gMC->Gspos("I033", 2,"I018", -1.8, -1.75, -2.65, idrotm[345], "MANY");
3098 gMC->Gspos("I033", 3,"I018", -1.8, -1.75, 1.35, idrotm[345], "MANY");
3099 gMC->Gspos("I033", 4,"I018", 1.8, -1.75, -2.65, 0, "MANY");
3100
3101 gMC->Gspos("I034", 1,"I018", 1.6, -1.775, 1.35, idrotm[312], "ONLY");
3102 gMC->Gspos("I034", 2,"I018", -1.6, -1.775, -2.65, idrotm[348], "ONLY");
3103 gMC->Gspos("I034", 3,"I018", -1.6, -1.775, 1.35, idrotm[348], "ONLY");
3104 gMC->Gspos("I034", 4,"I018", 1.6, -1.775, -2.65, idrotm[312], "ONLY");
3105
3106 gMC->Gspos("I035", 1,"I018", 1.7, -0.55, I018dits[2]-I035dits[2], 0, "MANY");
3107 gMC->Gspos("I035", 2,"I018", -1.7, -0.55, I018dits[2]-I035dits[2], 0, "MANY");
3108
3109 gMC->Gspos("I036", 1,"I018", 0.3087, 1.7191, 3.56, idrotm[346], "ONLY");
3110 gMC->Gspos("I036", 2,"I018", 0.3087, 1.7191,-0.11, idrotm[346], "ONLY");
3111 gMC->Gspos("I036", 3,"I018", -0.3087, 1.7191,-0.11, idrotm[347], "ONLY");
3112 gMC->Gspos("I036", 4,"I018", -0.3087, 1.7191, 3.56, idrotm[347], "ONLY");
3113
3114 gMC->Gspos("I037", 1,"I018", SDD_CoolPipe[0], SDD_CoolPipe[1], SDD_CoolPipe[2], 0 , "ONLY");
3115 gMC->Gspos("I037", 2,"I018", -SDD_CoolPipe[0], SDD_CoolPipe[1], SDD_CoolPipe[2], 0 , "ONLY");
3116
3117 gMC->Gspos("I038", 1,"I018", SDD_CoolPipe[0], SDD_CoolPipe[1], SDD_CoolPipe[2], 0 , "ONLY");
3118 gMC->Gspos("I038", 2,"I018", -SDD_CoolPipe[0], SDD_CoolPipe[1], SDD_CoolPipe[2], 0 , "ONLY");
3119
3120 gMC->Gspos("I040", 1,"I018", 1.9204, -0.7118, 0.0, idrotm[346],"ONLY");
3121 gMC->Gspos("I040", 2,"I018", -1.9204, -0.7118, 0.0, idrotm[347],"ONLY");
3122 gMC->Gspos("I041", 1,"I018", SDD_CoolPipe[0], SDD_CoolPipe[1], SDD_CoolPipe[2], idrotm[346], "ONLY");
3123 gMC->Gspos("I041", 2,"I018", -SDD_CoolPipe[0], SDD_CoolPipe[1], SDD_CoolPipe[2], idrotm[347], "ONLY");
3124
3125
3126 // -- build block of the SDD electronics (heat bridge, chips, hybrid, anode microcable)
3127
3128 xI050 = SDD_CoolPipe[0]+SDD_CoolPipe[1]*sin30+I050dits[1]/cos30+I041dits[1];
3129 yI050 = 0;
3130 xI039 = -SDD_CoolPipe[1]/cos30;
3131 yI039 = -I050dits[1]+I039dits[1];
3132 gMC->Gspos("I039", 1,"I050", xI039, yI039, 0.0, 0, "ONLY");
3133 xI042 = xI039+I039dits[0]-xI042space-I042dits[0];
3134 yI042 = yI039+I039dits[1]+I042dits[1];
3135 xI043 = xI039-I039dits[0]+xI043space+I043dits[0];
3136 yI043 = yI039+I039dits[1]+I043dits[1];
3137 zChipSpace = I042dits[2];
3138 if (zChipSpace < I043dits[2]) {
3139 zChipSpace = I043dits[2];
3140 }
3141 zChipSpace = zChipSpace * 2;
3142 yI051space = (2*I039dits[2] - 4*zChipSpace)/5;
3143 zchip = -I039dits[2] + yI051space + zChipSpace/2.;
3144 for (ichip=0; ichip<4; ichip++) {
3145 gMC->Gspos("I042", ichip+1, "I050", xI042, yI042, zchip, 0, "ONLY");
3146 gMC->Gspos("I043", ichip+1, "I050", xI043, yI043, zchip, 0, "ONLY");
3147 zchip += zChipSpace + yI051space;
3148 }
3149 xcap = 2*I039dits[0]/5.;
3150 yI051 = yI039+I039dits[1]+I051dits[1];
3151 zI051 = -I039dits[2] + yI051space/3.;
3152 icap = 1;
3153 for (ichip=0; ichip<5; ichip++) {
3154 xI051 = xI039-I039dits[0]+xcap;
3155 gMC->Gspos("I051", icap++,"I050", xI051, yI051, zI051, 0, "ONLY");
3156 zI051 += yI051space/3.;
3157 gMC->Gspos("I051", icap++,"I050", xI051, yI051, zI051, 0, "ONLY");
3158 xI051 += xcap;
3159 gMC->Gspos("I051", icap++,"I050", xI051, yI051, zI051, 0, "ONLY");
3160 xI051 += xcap;
3161 gMC->Gspos("I051", icap++,"I050", xI051, yI051, zI051, 0, "ONLY");
3162 xI051 += xcap;
3163 gMC->Gspos("I051", icap++,"I050", xI051, yI051, zI051, 0, "ONLY");
3164 zI051 -= yI051space/3.;
3165 if (ichip == 0) {
3166 gMC->Gspos("I051", icap++,"I050", xI051, yI051, zI051, 0, "ONLY");
3167 }
3168 zI051 += zChipSpace + yI051space;
3169 }
3170 xI052 = -I050dits[0]+I052dits[0];
3171 yI052 = yI051+I051dits[1]+I052dits[1];
3172 gMC->Gspos("I052", 1,"I050", xI052, yI052, 0.0, 0, "ONLY");
3173 xI044 = I050dits[0]-I044dits[3];
3174 yI044 = yI052+I052dits[1]+I044dits[2];
3175 gMC->Gspos("I044", 1,"I050", xI044, yI044, 0.0, idrotm[301], "ONLY");
3176 gMC->Gspos("I050", 1,"I018", xI050, yI050, 0.0, idrotm[346],"ONLY");
3177 gMC->Gspos("I050", 2,"I018", -xI050, yI050, 0.0, idrotm[347],"ONLY");
3178
3179
3180 // -- build block of the SDD ladder frame at the end ladders
3181
3182 gMC->Gspos("I021",12,"I024", 1.0761, 0.0836,-0.1242, idrotm[340], "ONLY");
3183 gMC->Gspos("I021",11,"I024", -1.0761, 0.0836,-0.1242, idrotm[338], "ONLY");
3184 gMC->Gspos("I021",13,"I024", -1.0761, 0.0836,-1.8758, idrotm[339], "ONLY");
3185 gMC->Gspos("I021",14,"I024", 1.0761, 0.0836,-1.8758, idrotm[337], "ONLY");
3186
3187 gMC->Gspos("I022", 3,"I024", 0.0, -1.7899, 0.825, idrotm[312], "ONLY");
3188
3189 gMC->Gspos("I023", 3,"I024", 0.0, -1.7899,-1.0, idrotm[341], "ONLY");
3190
3191 gMC->Gspos("I025", 1,"I024", -1.9, -1.7349, 0.0, idrotm[344], "ONLY");
3192 gMC->Gspos("I025", 2,"I024", 1.987, -1.5842, 0.0, idrotm[343], "ONLY");
3193
3194 gMC->Gspos("I026", 1,"I024", -1.9782, -1.5689, 0.0, idrotm[342], "ONLY");
3195 gMC->Gspos("I026", 2,"I024", 1.8824, -1.7349, 0.0, idrotm[344], "ONLY");
3196
3197 gMC->Gspos("I029", 1,"I024", -0.087, 1.7067, I029dits[2]-I024dits[2], idrotm[342], "ONLY");
3198
3199 gMC->Gspos("I030", 1,"I024", 0.0958, 1.6914, I030dits[2]-I024dits[2], idrotm[343], "ONLY");
3200
3201 gMC->Gspos("I031", 1,"I024", SDD_CoolPipe[0], SDD_CoolPipe[1], SDD_CoolPipe[2], 0 ,"ONLY");
3202 gMC->Gspos("I031", 2,"I024", -SDD_CoolPipe[0], SDD_CoolPipe[1], SDD_CoolPipe[2], 0 ,"ONLY");
3203
3204 gMC->Gspos("I032", 1,"I024", SDD_CoolPipe[0], SDD_CoolPipe[1], SDD_CoolPipe[2], 0 ,"ONLY");
3205 gMC->Gspos("I032", 2,"I024", -SDD_CoolPipe[0], SDD_CoolPipe[1], SDD_CoolPipe[2], 0 ,"ONLY");
3206
3207
3208 xI424 = I028dits[0]/3.;
3209 yI424 = -I028dits[1]+I424dits[1];
3210 gMC->Gspos("I422", 1,"I421", 0.0, 0.0, 0.0, 0, "ONLY");
3211 gMC->Gspos("I423", 1,"I421", 0.0, -I421dits[1]+I423dits[2], 0.0, idrotm[312], "ONLY");
3212 gMC->Gspos("I421", 1,"I420", 0.0, 0.0, 0.0, 0, "ONLY");
3213 gMC->Gspos("I420", 1,"I028", -I028dits[0]/3., I028dits[1]-I420dits[1], 0.0, 0, "ONLY");
3214 gMC->Gspos("I424", 1,"I028", xI424, yI424, 0.0, 0, "ONLY");
3215 gMC->Gspos("I028", 1,"I024", 0.0, I028dits[1]-I024dits[1], I024dits[2]-I028dits[2], 0, "MANY");
3216
3217
3218 // -- build the SDD ladder 3
3219
3220 indI425 = 1;
3221 gMC->Gspos("I024", 1,"I047", 0.0, 0.0, 24.625, 0, "ONLY");
3222 gMC->Gspos("I018", 1,"I047", 0.0, 0.0, 3.65, 0, "ONLY");
3223 gMC->Gspos("I018", 2,"I047", 0.0, 0.0, 10.95, 0, "ONLY");
3224 gMC->Gspos("I018", 3,"I047", 0.0, 0.0, 18.25, 0, "ONLY");
3225 gMC->Gspos("I018", 4,"I047", 0.0, 0.0, -3.65, 0, "ONLY");
3226 gMC->Gspos("I018", 5,"I047", 0.0, 0.0, -10.95, 0, "ONLY");
3227 gMC->Gspos("I018", 6,"I047", 0.0, 0.0, -18.25, 0, "ONLY");
3228 gMC->Gspos("I024", 2,"I047", 0.0, 0.0, -24.625, idrotm[355], "ONLY");
3229 HVname[0] = 'I';
3230 HVname[1] = '3';
3231 HVname[2] = '1';
3232 HVname[4] = '\0';
3233 for (iSDD=0; iSDD<3; iSDD++) {
3234 HVname[3] = (Char_t)(48+iSDD+5);
3235 dits[0] = 1.350000;
3236 dits[1] = I425dits[1];
3237 dits[2] = (I047dits[2] - 2*I024dits[2] - Z_SDD_lay3[iSDD])/2.;
3238 gMC->Gsvolu(HVname, "BOX ", idtmed[279], dits, 3);
3239 xHV = 0.0;
3240 yHV = -I047dits[1] + (2*iSDD+1)*dits[1];
3241 zHV = I047dits[2] - 2*I024dits[2] - dits[2];
3242 gMC->Gspos(HVname, 1,"I047", xHV, yHV, zHV, 0, "ONLY");
3243 gMC->Gspos(HVname, 2,"I047", xHV, yHV, -zHV, 0, "ONLY");
3244 gMC->Gspos("I425", indI425++,"I047", xI424, yHV, 24.625, 0, "ONLY");
3245 gMC->Gspos("I425", indI425++,"I047", -xI424, yHV, -24.625, 0, "ONLY");
3246 }
3247 LVname[0] = 'I';
3248 LVname[1] = '3';
3249 LVname[2] = '1';
3250 LVname[4] = '\0';
3251 for (iSDD=0; iSDD<3; iSDD++) {
3252 LVname[3] = (Char_t)(48+iSDD+1);
3253 dits[0] = 1.350000;
3254 dits[1] = 0.004423;
3255 dits[2] = (I047dits[2] - (2*iSDD+1)*I018dits[2] - I039dits[2])/2.;
3256 gMC->Gsvolu(LVname, "BOX ", idtmed[280], dits, 3);
3257 yLV = I018dits[1] - dits[0]*cos30 - dits[1]*sin30;
3258 xLV = xI050 -
3259 fabs(yI050-yLV)*sin30/cos30 +
3260 (I050dits[1]+(2*iSDD+1)*dits[1])/cos30;
3261 zLV = I047dits[2] - dits[2];
3262 gMC->Gspos(LVname, 1,"I047", xLV, yLV, zLV, idrotm[346], "ONLY");
3263 gMC->Gspos(LVname, 2,"I047", xLV, yLV, -zLV, idrotm[346], "ONLY");
3264 gMC->Gspos(LVname, 3,"I047", -xLV, yLV, zLV, idrotm[347], "ONLY");
3265 gMC->Gspos(LVname, 4,"I047", -xLV, yLV, -zLV, idrotm[347], "ONLY");
3266 }
3267
3268
3269 // -- build the SDD ladder 4
3270
3271
3272 gMC->Gspos("I024", 3,"I048", -0.0001, 0.0, 31.925, 0, "ONLY");
3273 gMC->Gspos("I018", 7,"I048", -0.0001, 0.0, -3.65, 0, "ONLY");
3274 gMC->Gspos("I018", 8,"I048", -0.0001, 0.0, 3.65, 0, "ONLY");
3275 gMC->Gspos("I018", 9,"I048", -0.0001, 0.0, 10.95, 0, "ONLY");
3276 gMC->Gspos("I018",10,"I048", -0.0001, 0.0, 18.25, 0, "ONLY");
3277 gMC->Gspos("I018",11,"I048", -0.0001, 0.0, 25.55, 0, "ONLY");
3278 gMC->Gspos("I018",12,"I048", -0.0001, 0.0, -10.95, 0, "ONLY");
3279 gMC->Gspos("I018",13,"I048", -0.0001, 0.0, -18.25, 0, "ONLY");
3280 gMC->Gspos("I018",14,"I048", -0.0001, 0.0, -25.55, 0, "ONLY");
3281 gMC->Gspos("I024", 4,"I048", -0.0001, 0.0, -31.925, idrotm[355], "ONLY");
3282 HVname[0] = 'I';
3283 HVname[1] = '4';
3284 HVname[2] = '1';
3285 HVname[4] = '\0';
3286 for (iSDD=0; iSDD<4; iSDD++) {
3287 HVname[3] = (Char_t)(48+iSDD+5);
3288 dits[0] = 1.350000;
3289 dits[1] = I425dits[1];
3290 dits[2] = (I048dits[2] - 2*I024dits[2] - Z_SDD_lay4[iSDD])/2.;
3291 gMC->Gsvolu(HVname, "BOX ", idtmed[279], dits, 3);
3292 xHV = -0.0001;
3293 yHV = -I048dits[1] + (2*iSDD+1)*dits[1];
3294 zHV = I048dits[2] - 2*I024dits[2] - dits[2];
3295 gMC->Gspos(HVname, 1,"I048", xHV, yHV, zHV, 0, "ONLY");
3296 gMC->Gspos(HVname, 2,"I048", xHV, yHV, -zHV, 0, "ONLY");
3297 gMC->Gspos("I425", indI425++,"I048", xI424, yHV, 31.925, 0, "ONLY");
3298 gMC->Gspos("I425", indI425++,"I048", -xI424, yHV, -31.925, 0, "ONLY");
3299 }
3300 LVname[0] = 'I';
3301 LVname[1] = '4';
3302 LVname[2] = '1';
3303 LVname[4] = '\0';
3304 for (iSDD=0; iSDD<4; iSDD++) {
3305 LVname[3] = (Char_t)(48+iSDD+1);
3306 dits[0] = 1.350000;
3307 dits[1] = 0.004423;
3308 dits[2] = (I048dits[2] - (2*iSDD+1)*I018dits[2] - I039dits[2])/2.;
3309 gMC->Gsvolu(LVname, "BOX ", idtmed[280], dits, 3);
3310 yLV = I018dits[1] - dits[0]*cos30 - dits[1]*sin30;
3311 xLV = xI050 -
3312 fabs(yI050-yLV)*sin30/cos30 +
3313 (I050dits[1]+(2*iSDD+1)*dits[1])/cos30;
3314 zLV = I048dits[2] - dits[2];
3315 gMC->Gspos(LVname, 1,"I048", xLV, yLV, zLV, idrotm[346], "ONLY");
3316 gMC->Gspos(LVname, 2,"I048", xLV, yLV, -zLV, idrotm[346], "ONLY");
3317 gMC->Gspos(LVname, 3,"I048", -xLV, yLV, zLV, idrotm[347], "ONLY");
3318 gMC->Gspos(LVname, 4,"I048", -xLV, yLV, -zLV, idrotm[347], "ONLY");
3319 }
3320
db915fea 3321
9d2da7b3 3322 // -- build the SDD barrel (layers 3 and 4)
3323
3324 gMC->Gspos("I047", 1,"IT34", -3.7528, 16.4422, 0.0, idrotm[321], "ONLY");
3325 gMC->Gspos("I047", 2,"IT34",-10.8892, 13.6547, 0.0, idrotm[333], "ONLY");
3326 gMC->Gspos("I047", 3,"IT34",-15.1948, 7.3175, 0.0, idrotm[336], "ONLY");
3327 gMC->Gspos("I047", 4,"IT34",-17.465, 0.0, 0.0, idrotm[350], "ONLY");
3328 gMC->Gspos("I047", 5,"IT34",-15.1948, -7.3174, 0.0, idrotm[313], "ONLY");
3329 gMC->Gspos("I047", 6,"IT34",-10.8893, -13.6547, 0.0, idrotm[311], "ONLY");
3330 gMC->Gspos("I047", 7,"IT34", -3.7528, -16.4422, 0.0, idrotm[310], "ONLY");
3331 gMC->Gspos("I047", 8,"IT34", 3.8863, -17.0271, 0.0, idrotm[386], "ONLY");
3332 gMC->Gspos("I047", 9,"IT34", 10.5152, -13.1856, 0.0, idrotm[309], "ONLY");
3333 gMC->Gspos("I047",10,"IT34", 15.7354, -7.5778, 0.0, idrotm[308], "ONLY");
3334 gMC->Gspos("I047",11,"IT34", 16.865, 0.0, 0.0, idrotm[356], "ONLY");
3335 gMC->Gspos("I047",12,"IT34", 15.7354, 7.5778, 0.0, idrotm[307], "ONLY");
3336 gMC->Gspos("I047",13,"IT34", 10.5152, 13.1856, 0.0, idrotm[306], "ONLY");
3337 gMC->Gspos("I047",14,"IT34", 3.8863, 17.0271, 0.0, idrotm[305], "ONLY");
3338
3339 gMC->Gspos("I048", 1,"IT34", -3.6667, 25.5027, 0.0, idrotm[335], "ONLY");
3340 gMC->Gspos("I048", 2,"IT34",-10.9317, 23.937, 0.0, idrotm[332], "ONLY");
3341 gMC->Gspos("I048", 3,"IT34",-16.8725, 19.4719, 0.0, idrotm[331], "ONLY");
3342 gMC->Gspos("I048", 4,"IT34",-22.1376, 14.227, 0.0, idrotm[366], "ONLY");
3343 gMC->Gspos("I048", 5,"IT34",-24.7213, 7.2588, 0.0, idrotm[330], "ONLY");
3344 gMC->Gspos("I048", 6,"IT34",-26.315, 0.0, 0.0, idrotm[350], "ONLY");
3345 gMC->Gspos("I048", 7,"IT34",-24.7213, -7.2588, 0.0, idrotm[329], "ONLY");
3346 gMC->Gspos("I048", 8,"IT34",-22.1376, -14.227, 0.0, idrotm[328], "ONLY");
3347 gMC->Gspos("I048", 9,"IT34",-16.8725, -19.4719, 0.0, idrotm[327], "ONLY");
3348 gMC->Gspos("I048",10,"IT34",-10.9316, -23.937, 0.0, idrotm[326], "ONLY");
3349 gMC->Gspos("I048",11,"IT34", -3.6667, -25.5027, 0.0, idrotm[325], "ONLY");
3350 gMC->Gspos("I048",12,"IT34", 3.745, -26.0472, 0.0, idrotm[324], "ONLY");
3351 gMC->Gspos("I048",13,"IT34", 10.7032, -23.4367, 0.0, idrotm[323], "ONLY");
3352 gMC->Gspos("I048",14,"IT34", 17.2327, -19.8876, 0.0, idrotm[322], "ONLY");
3353 gMC->Gspos("I048",15,"IT34", 21.6749, -13.9296, 0.0, idrotm[320], "ONLY");
3354 gMC->Gspos("I048",16,"IT34", 25.2491, -7.4138, 0.0, idrotm[319], "ONLY");
3355 gMC->Gspos("I048",17,"IT34", 25.765, 0.0, 0.0, idrotm[318], "ONLY");
3356 gMC->Gspos("I048",18,"IT34", 25.2491, 7.4138, 0.0, idrotm[317], "ONLY");
3357 gMC->Gspos("I048",19,"IT34", 21.6749, 13.9296, 0.0, idrotm[316], "ONLY");
3358 gMC->Gspos("I048",20,"IT34", 17.2327, 19.8876, 0.0, idrotm[315], "ONLY");
3359 gMC->Gspos("I048",21,"IT34", 10.7032, 23.4367, 0.0, idrotm[314], "ONLY");
3360 gMC->Gspos("I048",22,"IT34", 3.745, 26.0472, 0.0, idrotm[334], "ONLY");
3361
3362
3363 // --- Place SSD volumes into their mother volume IT56
db915fea 3364
3365
9d2da7b3 3366 gMC->Gspos("I570",14,"IT56",-28.0681,-36.0619,-0.27,idrotm[566],"ONLY");
db915fea 3367 gMC->Gspos("I570",15,"IT56",-21.677,-40.0556,-0.27,idrotm[567],"ONLY");
3368 gMC->Gspos("I570",16,"IT56",-14.838,-43.2217,-0.27,idrotm[568],"ONLY");
3369 gMC->Gspos("I570",17,"IT56",-7.4965,-44.9238,-0.27,idrotm[569],"ONLY");
9d2da7b3 3370 gMC->Gspos("I570",18,"IT56",-0.27,-45.6977,-0.27,idrotm[533],"ONLY");
db915fea 3371 gMC->Gspos("I570",19,"IT56",7.4965,-44.9238,-0.27,idrotm[534],"ONLY");
3372 gMC->Gspos("I570",20,"IT56",14.838,-43.2217,-0.27,idrotm[535],"ONLY");
3373 gMC->Gspos("I570",21,"IT56",21.677,-40.0556,-0.27,idrotm[623],"ONLY");
3374 gMC->Gspos("I570",22,"IT56",28.0681,-36.0619,-0.27,idrotm[537],"ONLY");
3375 gMC->Gspos("I570",23,"IT56",33.5085,-30.8468,-0.27,idrotm[538],"ONLY");
3376 gMC->Gspos("I570",24,"IT56",38.2566,-24.9943,-0.27,idrotm[539],"ONLY");
3377 gMC->Gspos("I570",25,"IT56",41.7089,-18.2952,-0.27,idrotm[540],"ONLY");
3378 gMC->Gspos("I570",26,"IT56",44.2994,-11.2181,-0.27,idrotm[541],"ONLY");
3379 gMC->Gspos("I570",27,"IT56",45.3894,-3.7611,-0.27,idrotm[542],"ONLY");
3380 gMC->Gspos("I570",28,"IT56",45.5416,3.7737,-0.27,idrotm[543],"ONLY");
3381 gMC->Gspos("I570",29,"IT56",44.1513,11.1806,-0.27,idrotm[544],"ONLY");
3382 gMC->Gspos("I570",30,"IT56",41.8487,18.3566,-0.27,idrotm[545],"ONLY");
3383 gMC->Gspos("I570",31,"IT56",38.1287,24.9107,-0.27,idrotm[546],"ONLY");
3384 gMC->Gspos("I570",32,"IT56",33.6209,30.9502,-0.27,idrotm[547],"ONLY");
3385 gMC->Gspos("I570",33,"IT56",27.9743,35.9414,-0.27,idrotm[548],"ONLY");
3386 gMC->Gspos("I570",34,"IT56",21.7497,40.1899,-0.27,idrotm[549],"ONLY");
3387 gMC->Gspos("I570",35,"IT56",14.7884,43.0772,-0.27,idrotm[550],"ONLY");
3388 gMC->Gspos("I570",36,"IT56",7.5216,45.0744,-0.27,idrotm[551],"ONLY");
9d2da7b3 3389 gMC->Gspos("I570",37,"IT56",-0.27,45.545,-0.27,0,"ONLY");
db915fea 3390 gMC->Gspos("I570",38,"IT56",-7.5216,45.0744,-0.27,idrotm[552],"ONLY");
3391 gMC->Gspos("I570",1,"IT56",-14.7884,43.0772,-0.27,idrotm[553],"ONLY");
3392 gMC->Gspos("I570",2,"IT56",-21.7497,40.1899,-0.27,idrotm[620],"ONLY");
3393 gMC->Gspos("I570",3,"IT56",-27.9743,35.9414,-0.27,idrotm[555],"ONLY");
3394 gMC->Gspos("I570",4,"IT56",-33.6209,30.9502,-0.27,idrotm[556],"ONLY");
3395 gMC->Gspos("I570",5,"IT56",-38.1287,24.9108,-0.27,idrotm[557],"ONLY");
3396 gMC->Gspos("I570",6,"IT56",-41.8487,18.3566,-0.27,idrotm[558],"ONLY");
3397 gMC->Gspos("I570",7,"IT56",-44.1513,11.1806,-0.27,idrotm[559],"ONLY");
3398 gMC->Gspos("I570",8,"IT56",-45.5416,3.7737,-0.27,idrotm[560],"ONLY");
3399 gMC->Gspos("I570",9,"IT56",-45.3894,-3.7611,-0.27,idrotm[561],"ONLY");
3400 gMC->Gspos("I570",10,"IT56",-44.2994,-11.2181,-0.27,idrotm[562],"ONLY");
3401 gMC->Gspos("I570",11,"IT56",-41.7089,-18.2952,-0.27,idrotm[563],"ONLY");
3402 gMC->Gspos("I570",12,"IT56",-38.2566,-24.9943,-0.27,idrotm[564],"ONLY");
3403 gMC->Gspos("I570",13,"IT56",-33.5086,-30.8468,-0.27,idrotm[565],"ONLY");
3404 gMC->Gspos("I569",8,"IT56",-43.5484,3.6085,0.0,idrotm[560],"ONLY");
3405 gMC->Gspos("I569",9,"IT56",-43.3963,-3.5959,0.0,idrotm[561],"ONLY");
3406 gMC->Gspos("I569",10,"IT56",-42.3606,-10.7271,0.0,idrotm[562],"ONLY");
3407 gMC->Gspos("I569",11,"IT56",-39.8773,-17.4918,0.0,idrotm[563],"ONLY");
3408 gMC->Gspos("I569",12,"IT56",-36.5823,-23.9004,0.0,idrotm[564],"ONLY");
3409 gMC->Gspos("I569",13,"IT56",-32.0371,-29.4922,0.0,idrotm[565],"ONLY");
3410 gMC->Gspos("I569",14,"IT56",-26.8397,-34.4836,0.0,idrotm[566],"ONLY");
3411 gMC->Gspos("I569",15,"IT56",-20.7251,-38.2967,0.0,idrotm[567],"ONLY");
3412 gMC->Gspos("I569",16,"IT56",-14.1886,-41.33,0.0,idrotm[568],"ONLY");
3413 gMC->Gspos("I569",17,"IT56",-7.1673,-42.9511,0.0,idrotm[569],"ONLY");
3414 gMC->Gspos("I569",18,"IT56",0.0,-43.6977,0.0,idrotm[533],"ONLY");
3415 gMC->Gspos("I569",19,"IT56",7.1673,-42.9511,0.0,idrotm[534],"ONLY");
3416 gMC->Gspos("I569",20,"IT56",14.1886,-41.33,0.0,idrotm[535],"ONLY");
3417 gMC->Gspos("I569",21,"IT56",20.7251,-38.2967,0.0,idrotm[623],"ONLY");
3418 gMC->Gspos("I569",22,"IT56",26.8397,-34.4836,0.0,idrotm[537],"ONLY");
3419 gMC->Gspos("I569",23,"IT56",32.0371,-29.4922,0.0,idrotm[538],"ONLY");
3420 gMC->Gspos("I569",24,"IT56",36.5822,-23.9004,0.0,idrotm[539],"ONLY");
3421 gMC->Gspos("I569",25,"IT56",39.8773,-17.4918,0.0,idrotm[540],"ONLY");
3422 gMC->Gspos("I569",26,"IT56",42.3606,-10.7272,0.0,idrotm[541],"ONLY");
3423 gMC->Gspos("I569",27,"IT56",43.3963,-3.5959,0.0,idrotm[542],"ONLY");
3424 gMC->Gspos("I569",28,"IT56",43.5484,3.6085,0.0,idrotm[543],"ONLY");
3425 gMC->Gspos("I569",29,"IT56",42.2125,10.6897,0.0,idrotm[544],"ONLY");
3426 gMC->Gspos("I569",30,"IT56",40.0172,17.5532,0.0,idrotm[545],"ONLY");
3427 gMC->Gspos("I569",31,"IT56",36.4544,23.8169,0.0,idrotm[546],"ONLY");
3428 gMC->Gspos("I569",32,"IT56",32.1494,29.5956,0.0,idrotm[547],"ONLY");
3429 gMC->Gspos("I569",33,"IT56",26.7459,34.3631,0.0,idrotm[548],"ONLY");
3430 gMC->Gspos("I569",34,"IT56",20.7978,38.431,0.0,idrotm[549],"ONLY");
3431 gMC->Gspos("I569",35,"IT56",14.139,41.1856,0.0,idrotm[550],"ONLY");
3432 gMC->Gspos("I569",36,"IT56",7.1924,43.1017,0.0,idrotm[551],"ONLY");
3433 gMC->Gspos("I569",37,"IT56",0.0,43.545,0.0,0,"ONLY");
3434 gMC->Gspos("I569",38,"IT56",-7.1924,43.1017,0.0,idrotm[552],"ONLY");
3435 gMC->Gspos("I569",1,"IT56",-14.139,41.1856,0.0,idrotm[553],"ONLY");
3436 gMC->Gspos("I569",2,"IT56",-20.7978,38.431,0.0,idrotm[620],"ONLY");
3437 gMC->Gspos("I569",3,"IT56",-26.7459,34.3631,0.0,idrotm[555],"ONLY");
3438 gMC->Gspos("I569",4,"IT56",-32.1494,29.5956,0.0,idrotm[556],"ONLY");
3439 gMC->Gspos("I569",5,"IT56",-36.4544,23.8169,0.0,idrotm[557],"ONLY");
3440 gMC->Gspos("I569",6,"IT56",-40.0172,17.5532,0.0,idrotm[558],"ONLY");
3441 gMC->Gspos("I569",7,"IT56",-42.2125,10.6897,0.0,idrotm[559],"ONLY");
3442 gMC->Gspos("I571",15,"IT56",-21.2916,-34.387,0.0,idrotm[501],"ONLY");
3443 gMC->Gspos("I571",14,"IT56",-27.351,-30.0026,0.0,idrotm[503],"ONLY");
3444 gMC->Gspos("I571",13,"IT56",-32.2758,-24.3735,0.0,idrotm[504],"ONLY");
3445 gMC->Gspos("I571",12,"IT56",-36.3422,-18.0963,0.0,idrotm[505],"ONLY");
3446 gMC->Gspos("I571",11,"IT56",-38.901,-11.0683,0.0,idrotm[506],"ONLY");
3447 gMC->Gspos("I571",10,"IT56",-40.4252,-3.7459,0.0,idrotm[507],"ONLY");
3448 gMC->Gspos("I571",9,"IT56",-40.2725,3.7318,0.0,idrotm[508],"ONLY");
3449 gMC->Gspos("I571",8,"IT56",-39.0486,11.1103,0.0,idrotm[509],"ONLY");
3450 gMC->Gspos("I571",7,"IT56",-36.2049,18.0279,0.0,idrotm[510],"ONLY");
3451 gMC->Gspos("I571",6,"IT56",-32.3982,24.466,0.0,idrotm[511],"ONLY");
3452 gMC->Gspos("I571",5,"IT56",-27.2476,29.8892,0.0,idrotm[512],"ONLY");
3453 gMC->Gspos("I571",4,"IT56",-21.3723,34.5175,0.0,idrotm[513],"ONLY");
3454 gMC->Gspos("I571",3,"IT56",-14.6104,37.7138,0.0,idrotm[653],"ONLY");
3455 gMC->Gspos("I571",2,"IT56",-7.4599,39.9072,0.0,idrotm[514],"ONLY");
3456 gMC->Gspos("I571",1,"IT56",0.0,40.445,0.0,0,"ONLY");
3457 gMC->Gspos("I571",34,"IT56",7.46,39.9071,0.0,idrotm[515],"ONLY");
3458 gMC->Gspos("I571",33,"IT56",14.6104,37.7138,0.0,idrotm[516],"ONLY");
3459 gMC->Gspos("I571",32,"IT56",21.3723,34.5175,0.0,idrotm[517],"ONLY");
3460 gMC->Gspos("I571",31,"IT56",27.2476,29.8892,0.0,idrotm[518],"ONLY");
3461 gMC->Gspos("I571",30,"IT56",32.3983,24.466,0.0,idrotm[519],"ONLY");
3462 gMC->Gspos("I571",29,"IT56",36.2049,18.0279,0.0,idrotm[520],"ONLY");
3463 gMC->Gspos("I571",28,"IT56",39.0486,11.1103,0.0,idrotm[521],"ONLY");
3464 gMC->Gspos("I571",27,"IT56",40.2725,3.7318,0.0,idrotm[522],"ONLY");
3465 gMC->Gspos("I571",26,"IT56",40.4252,-3.746,0.0,idrotm[523],"ONLY");
3466 gMC->Gspos("I571",25,"IT56",38.901,-11.0683,0.0,idrotm[524],"ONLY");
3467 gMC->Gspos("I571",24,"IT56",36.3422,-18.0963,0.0,idrotm[525],"ONLY");
3468 gMC->Gspos("I571",23,"IT56",32.2758,-24.3736,0.0,idrotm[526],"ONLY");
3469 gMC->Gspos("I571",22,"IT56",27.351,-30.0026,0.0,idrotm[527],"ONLY");
3470 gMC->Gspos("I571",21,"IT56",21.2915,-34.387,0.0,idrotm[528],"ONLY");
3471 gMC->Gspos("I571",20,"IT56",14.6658,-37.8569,0.0,idrotm[618],"ONLY");
3472 gMC->Gspos("I571",19,"IT56",7.4317,-39.7563,0.0,idrotm[529],"ONLY");
3473 gMC->Gspos("I571",18,"IT56",0.0,-40.5984,0.0,idrotm[533],"ONLY");
3474 gMC->Gspos("I571",17,"IT56",-7.4318,-39.7563,0.0,idrotm[530],"ONLY");
3475 gMC->Gspos("I571",16,"IT56",-14.6659,-37.8569,0.0,idrotm[531],"ONLY");
3476 gMC->Gspos("I565",13,"IT56",-30.6798,-23.1683,0.0,idrotm[504],"ONLY");
3477 gMC->Gspos("I565",12,"IT56",-34.5519,-17.2048,0.0,idrotm[505],"ONLY");
3478 gMC->Gspos("I565",11,"IT56",-36.9774,-10.521,0.0,idrotm[506],"ONLY");
3479 gMC->Gspos("I565",10,"IT56",-38.4338,-3.5614,0.0,idrotm[507],"ONLY");
3480 gMC->Gspos("I565",9,"IT56",-38.281,3.5473,0.0,idrotm[508],"ONLY");
3481 gMC->Gspos("I565",8,"IT56",-37.1249,10.563,0.0,idrotm[509],"ONLY");
3482 gMC->Gspos("I565",7,"IT56",-34.4146,17.1364,0.0,idrotm[510],"ONLY");
3483 gMC->Gspos("I565",6,"IT56",-30.8022,23.2608,0.0,idrotm[511],"ONLY");
3484 gMC->Gspos("I565",5,"IT56",-25.9002,28.4112,0.0,idrotm[512],"ONLY");
3485 gMC->Gspos("I565",4,"IT56",-20.3195,32.817,0.0,idrotm[513],"ONLY");
3486 gMC->Gspos("I565",3,"IT56",-13.8879,35.8489,0.0,idrotm[653],"ONLY");
3487 gMC->Gspos("I565",2,"IT56",-7.0924,37.9412,0.0,idrotm[514],"ONLY");
3488 gMC->Gspos("I565",1,"IT56",0.0,38.445,0.0,0,"ONLY");
3489 gMC->Gspos("I565",34,"IT56",7.0925,37.9412,0.0,idrotm[515],"ONLY");
3490 gMC->Gspos("I565",33,"IT56",13.888,35.8489,0.0,idrotm[516],"ONLY");
3491 gMC->Gspos("I565",32,"IT56",20.3195,32.817,0.0,idrotm[517],"ONLY");
3492 gMC->Gspos("I565",31,"IT56",25.9002,28.4112,0.0,idrotm[518],"ONLY");
3493 gMC->Gspos("I565",30,"IT56",30.8022,23.2607,0.0,idrotm[519],"ONLY");
3494 gMC->Gspos("I565",29,"IT56",34.4146,17.1364,0.0,idrotm[520],"ONLY");
3495 gMC->Gspos("I565",28,"IT56",37.125,10.5629,0.0,idrotm[521],"ONLY");
3496 gMC->Gspos("I565",27,"IT56",38.281,3.5472,0.0,idrotm[522],"ONLY");
3497 gMC->Gspos("I565",26,"IT56",38.4338,-3.5614,0.0,idrotm[523],"ONLY");
3498 gMC->Gspos("I565",25,"IT56",36.9774,-10.521,0.0,idrotm[524],"ONLY");
3499 gMC->Gspos("I565",24,"IT56",34.5519,-17.2048,0.0,idrotm[525],"ONLY");
3500 gMC->Gspos("I565",23,"IT56",30.6798,-23.1683,0.0,idrotm[526],"ONLY");
3501 gMC->Gspos("I565",22,"IT56",26.0036,-28.5246,0.0,idrotm[527],"ONLY");
3502 gMC->Gspos("I565",21,"IT56",20.2387,-32.6866,0.0,idrotm[528],"ONLY");
3503 gMC->Gspos("I565",20,"IT56",13.9433,-35.992,0.0,idrotm[618],"ONLY");
3504 gMC->Gspos("I565",19,"IT56",7.0642,-37.7904,0.0,idrotm[529],"ONLY");
3505 gMC->Gspos("I565",18,"IT56",0.0,-38.5984,0.0,idrotm[533],"ONLY");
3506 gMC->Gspos("I565",17,"IT56",-7.0643,-37.7904,0.0,idrotm[530],"ONLY");
3507 gMC->Gspos("I565",16,"IT56",-13.9434,-35.992,0.0,idrotm[531],"ONLY");
3508 gMC->Gspos("I565",15,"IT56",-20.2387,-32.6866,0.0,idrotm[501],"ONLY");
3509 gMC->Gspos("I565",14,"IT56",-26.0036,-28.5246,0.0,idrotm[503],"ONLY");
9d2da7b3 3510 gMC->Gspos("I553",1,"I570",0.005,0.0,52.8453,0,"ONLY");
3511 gMC->Gspos("I523",1,"I570",0.0,0.0,46.9203+0.82,0,"ONLY");
3512 gMC->Gspos("I523",2,"I570",0.0,0.0,43.0103+0.82,0,"ONLY");
3513 gMC->Gspos("I523",3,"I570",0.0,0.0,39.1003+0.82,0,"ONLY");
3514 gMC->Gspos("I523",4,"I570",0.0,0.0,35.1903+0.82,0,"ONLY");
3515 gMC->Gspos("I523",5,"I570",0.0,0.0,31.2803+0.82,0,"ONLY");
3516 gMC->Gspos("I523",6,"I570",0.0,0.0,27.3703+0.82,0,"ONLY");
3517 gMC->Gspos("I523",7,"I570",0.0,0.0,23.4603+0.82,0,"ONLY");
3518 gMC->Gspos("I523",8,"I570",0.0,0.0,19.5503+0.82,0,"ONLY");
3519 gMC->Gspos("I523",9,"I570",0.0,0.0,15.6403+0.82,0,"ONLY");
3520 gMC->Gspos("I523",10,"I570",0.0,0.0,11.7303+0.82,0,"ONLY");
3521 gMC->Gspos("I523",11,"I570",0.0,0.0,7.8203+0.82,0,"ONLY");
3522 gMC->Gspos("I523",12,"I570",0.0,0.0,3.9103+0.82,0,"ONLY");
3523 gMC->Gspos("I523",13,"I570",0.0,0.0,0.0003+0.82,0,"ONLY");
3524 gMC->Gspos("I523",14,"I570",0.0,0.0,-3.9097+0.82,0,"ONLY");
3525 gMC->Gspos("I523",15,"I570",0.0,0.0,-7.8197+0.82,0,"ONLY");
3526 gMC->Gspos("I523",16,"I570",0.0,0.0,-11.7297+0.82,0,"ONLY");
3527 gMC->Gspos("I523",17,"I570",0.0,0.0,-15.6397+0.82,0,"ONLY");
3528 gMC->Gspos("I523",18,"I570",0.0,0.0,-19.5497+0.82,0,"ONLY");
3529 gMC->Gspos("I523",19,"I570",0.0,0.0,-23.4597+0.82,0,"ONLY");
3530 gMC->Gspos("I523",20,"I570",0.0,0.0,-27.3697+0.82,0,"ONLY");
3531 gMC->Gspos("I523",21,"I570",0.0,0.0,-31.2797+0.82,0,"ONLY");
3532 gMC->Gspos("I523",22,"I570",0.0,0.0,-35.1897+0.82,0,"ONLY");
3533 gMC->Gspos("I523",23,"I570",0.0,0.0,-39.0997+0.82,0,"ONLY");
3534 gMC->Gspos("I523",24,"I570",0.0,0.0,-43.0097+0.82,0,"ONLY");
3535 gMC->Gspos("I523",25,"I570",0.0,0.0,-46.9197+0.82,0,"ONLY");
3536 gMC->Gspos("I553",2,"I570",-0.005,0.0,-51.2047,idrotm[570],"ONLY");
db915fea 3537 gMC->Gspos("I566",1,"I569",0.0,-0.03,46.9203,idrotm[532],"ONLY");
3538 gMC->Gspos("I566",2,"I569",0.0,0.03,43.0103,0,"ONLY");
3539 gMC->Gspos("I566",3,"I569",0.0,-0.03,39.1003,idrotm[532],"ONLY");
3540 gMC->Gspos("I566",4,"I569",0.0,0.03,35.1903,0,"ONLY");
3541 gMC->Gspos("I566",5,"I569",0.0,-0.03,31.2803,idrotm[532],"ONLY");
3542 gMC->Gspos("I566",6,"I569",0.0,0.03,27.3703,0,"ONLY");
3543 gMC->Gspos("I566",7,"I569",0.0,-0.03,23.4603,idrotm[532],"ONLY");
3544 gMC->Gspos("I566",8,"I569",0.0,0.03,19.5503,0,"ONLY");
3545 gMC->Gspos("I566",9,"I569",0.0,-0.03,15.6403,idrotm[532],"ONLY");
3546 gMC->Gspos("I566",10,"I569",0.0,0.03,11.7303,0,"ONLY");
3547 gMC->Gspos("I566",11,"I569",0.0,-0.03,7.8203,idrotm[532],"ONLY");
3548 gMC->Gspos("I566",12,"I569",0.0,0.03,3.9103,0,"ONLY");
3549 gMC->Gspos("I566",13,"I569",0.0,-0.03,0.0003,0,"ONLY");
3550 gMC->Gspos("I566",14,"I569",0.0,0.03,-3.9097,0,"ONLY");
3551 gMC->Gspos("I566",15,"I569",0.0,-0.03,-7.8197,idrotm[532],"ONLY");
3552 gMC->Gspos("I566",16,"I569",0.0,0.03,-11.7297,0,"ONLY");
3553 gMC->Gspos("I566",17,"I569",0.0,-0.03,-15.6397,0,"ONLY");
3554 gMC->Gspos("I566",18,"I569",0.0,0.03,-19.5497,0,"ONLY");
3555 gMC->Gspos("I566",19,"I569",0.0,-0.03,-23.4597,idrotm[532],"ONLY");
3556 gMC->Gspos("I566",20,"I569",0.0,0.03,-27.3697,0,"ONLY");
3557 gMC->Gspos("I566",21,"I569",0.0,-0.03,-31.2797,idrotm[532],"ONLY");
3558 gMC->Gspos("I566",22,"I569",0.0,0.03,-35.1897,0,"ONLY");
3559 gMC->Gspos("I566",23,"I569",0.0,-0.03,-39.0997,0,"ONLY");
3560 gMC->Gspos("I566",24,"I569",0.0,0.03,-43.0097,0,"ONLY");
3561 gMC->Gspos("I566",25,"I569",0.0,-0.03,-46.9197,idrotm[532],"ONLY");
9d2da7b3 3562 gMC->Gspos("I544",1,"I571",0.0101,0.0,43.125,0,"ONLY");
3563 gMC->Gspos("I516",20,"I571",0.0001,0.0,39.1-1.08,0,"ONLY");
3564 gMC->Gspos("I516",19,"I571",0.0001,0.0,35.19-1.08,0,"ONLY");
3565 gMC->Gspos("I516",18,"I571",0.0001,0.0,31.28-1.08,0,"ONLY");
3566 gMC->Gspos("I516",17,"I571",0.0001,0.0,27.37-1.08,0,"ONLY");
3567 gMC->Gspos("I516",16,"I571",0.0001,0.0,23.46-1.08,0,"ONLY");
3568 gMC->Gspos("I516",15,"I571",0.0001,0.0,19.55-1.08,0,"ONLY");
3569 gMC->Gspos("I516",14,"I571",0.0001,0.0,15.64-1.08,0,"ONLY");
3570 gMC->Gspos("I516",13,"I571",0.0001,0.0,11.73-1.08,0,"ONLY");
3571 gMC->Gspos("I516",12,"I571",0.0001,0.0,7.82-1.08,0,"ONLY");
3572 gMC->Gspos("I516",11,"I571",0.0001,0.0,3.91-1.08,0,"ONLY");
3573 gMC->Gspos("I516",10,"I571",0.0001,0.0,0.0-1.08,0,"ONLY");
3574 gMC->Gspos("I516",9,"I571",0.0001,0.0,-3.91-1.08,0,"ONLY");
3575 gMC->Gspos("I516",8,"I571",0.0001,0.0,-7.82-1.08,0,"ONLY");
3576 gMC->Gspos("I516",7,"I571",0.0001,0.0,-11.73-1.08,0,"ONLY");
3577 gMC->Gspos("I516",6,"I571",0.0001,0.0,-15.64-1.08,0,"ONLY");
3578 gMC->Gspos("I516",5,"I571",0.0001,0.0,-19.55-1.08,0,"ONLY");
3579 gMC->Gspos("I516",4,"I571",0.0001,0.0,-23.46-1.08,0,"ONLY");
3580 gMC->Gspos("I516",3,"I571",0.0001,0.0,-27.37-1.08,0,"ONLY");
3581 gMC->Gspos("I516",2,"I571",0.0001,0.0,-31.28-1.08,0,"ONLY");
3582 gMC->Gspos("I516",1,"I571",0.0001,0.0,-35.19-1.08,0,"ONLY");
3583 gMC->Gspos("I544",2,"I571",-0.0099,0.0,-41.375,idrotm[570],"ONLY");
db915fea 3584 gMC->Gspos("I562",1,"I565",0.0,0.03,41.1546,0,"ONLY");
3585 gMC->Gspos("I562",2,"I565",0.0,-0.03,37.2246,0,"ONLY");
3586 gMC->Gspos("I562",3,"I565",0.0,0.03,33.3146,0,"ONLY");
3587 gMC->Gspos("I562",4,"I565",0.0,-0.03,29.3846,0,"ONLY");
3588 gMC->Gspos("I562",5,"I565",0.0,0.03,25.4746,0,"ONLY");
3589 gMC->Gspos("I562",6,"I565",0.0,-0.03,21.5446,0,"ONLY");
3590 gMC->Gspos("I562",7,"I565",0.0,0.03,17.6346,0,"ONLY");
3591 gMC->Gspos("I562",8,"I565",0.0,-0.03,13.7046,0,"ONLY");
3592 gMC->Gspos("I562",9,"I565",0.0,0.03,9.7946,0,"ONLY");
3593 gMC->Gspos("I562",10,"I565",0.0,-0.03,5.8645,0,"ONLY");
3594 gMC->Gspos("I562",11,"I565",0.0,0.03,1.9546,0,"ONLY");
3595 gMC->Gspos("I562",12,"I565",0.0,-0.03,-1.9754,0,"ONLY");
3596 gMC->Gspos("I562",13,"I565",0.0,0.03,-5.8855,0,"ONLY");
3597 gMC->Gspos("I562",14,"I565",0.0,-0.03,-9.8154,0,"ONLY");
3598 gMC->Gspos("I562",15,"I565",0.0,0.03,-13.7254,0,"ONLY");
3599 gMC->Gspos("I562",16,"I565",0.0,-0.03,-17.6555,0,"ONLY");
3600 gMC->Gspos("I562",17,"I565",0.0,0.03,-21.5655,0,"ONLY");
3601 gMC->Gspos("I562",18,"I565",0.0,-0.03,-25.4954,0,"ONLY");
3602 gMC->Gspos("I562",19,"I565",0.0,0.03,-29.4054,0,"ONLY");
3603 gMC->Gspos("I562",20,"I565",0.0,-0.03,-33.3354,0,"ONLY");
3604 gMC->Gspos("I562",21,"I565",0.0,0.03,-37.2454,0,"ONLY");
3605 gMC->Gspos("I562",22,"I565",0.0,-0.03,-41.1554,0,"ONLY");
3606 gMC->Gspos("I559",1,"I553",2.25,-1.615,0.0,0,"ONLY");
3607 gMC->Gspos("I560",1,"I553",2.25,-1.615,0.0,0,"ONLY");
3608 gMC->Gspos("I560",2,"I553",-2.25,-1.615,0.0,idrotm[573],"ONLY");
3609 gMC->Gspos("I558",1,"I553",-1.7167,-1.52,0.0,idrotm[583],"ONLY");
3610 gMC->Gspos("I557",1,"I553",-1.8533,-1.341,0.0,idrotm[581],"ONLY");
3611 gMC->Gspos("I558",2,"I553",1.8367,-1.3122,0.0,idrotm[575],"ONLY");
3612 gMC->Gspos("I557",2,"I553",1.75,-1.52,0.0,idrotm[583],"ONLY");
3613 gMC->Gspos("I558",3,"I553",-0.12,1.6613,0.0,idrotm[581],"ONLY");
3614 gMC->Gspos("I557",3,"I553",0.1034,1.6901,0.0,idrotm[575],"ONLY");
3615 gMC->Gspos("I556",3,"I553",-1.031,0.2033,-2.203,idrotm[580],"ONLY");
3616 gMC->Gspos("I556",1,"I553",1.0311,0.2033,-0.287,idrotm[576],"ONLY");
3617 gMC->Gspos("I554",1,"I553",0.0,-1.58,0.71,0,"ONLY");
3618 gMC->Gspos("I555",1,"I553",-0.0072,-1.58,-1.2311,idrotm[633],"ONLY");
3619 gMC->Gspos("I556",2,"I553",1.0311,0.2033,-2.203,idrotm[577],"ONLY");
3620 gMC->Gspos("I556",4,"I553",-1.031,0.2033,-0.287,idrotm[579],"ONLY");
3621 gMC->Gspos("I559",2,"I553",-2.25,-1.615,0.0,idrotm[573],"ONLY");
3622 gMC->Gspos("I561",1,"I553",2.1,-1.615,-0.24,0,"MANY");
3623 gMC->Gspos("I561",2,"I553",-2.1,-1.615,-0.24,idrotm[573],"MANY");
3624 gMC->Gspos("I519",37,"I523",0.0001,-1.79,-0.99,idrotm[586],"ONLY");
3625 gMC->Gspos("I519",36,"I523",-3.2986,-1.79,-1.2943,0,"ONLY");
3626 gMC->Gspos("I519",35,"I523",-3.2986,-1.71,-1.2943,0,"ONLY");
3627 gMC->Gspos("I519",34,"I523",-3.2286,-1.71,-1.2943,0,"ONLY");
3628 gMC->Gspos("I519",33,"I523",-3.2286,-1.79,-1.2943,0,"ONLY");
3629 gMC->Gspos("I519",32,"I523",-3.1586,-1.79,-1.2943,0,"ONLY");
3630 gMC->Gspos("I519",31,"I523",-3.1586,-1.71,-1.2943,0,"ONLY");
3631 gMC->Gspos("I519",30,"I523",-1.3436,-1.71,-1.2943,0,"ONLY");
3632 gMC->Gspos("I519",29,"I523",-1.3436,-1.79,-1.2943,0,"ONLY");
3633 gMC->Gspos("I519",28,"I523",-1.2736,-1.79,-1.2943,0,"ONLY");
3634 gMC->Gspos("I519",27,"I523",-1.2736,-1.71,-1.2943,0,"ONLY");
3635 gMC->Gspos("I519",26,"I523",-1.2036,-1.71,-1.2943,0,"ONLY");
3636 gMC->Gspos("I519",25,"I523",-1.2036,-1.79,-1.2943,0,"ONLY");
3637 gMC->Gspos("I519",24,"I523",-1.0458,-1.79,-1.2943,0,"ONLY");
3638 gMC->Gspos("I519",23,"I523",-1.0458,-1.71,-1.2943,0,"ONLY");
3639 gMC->Gspos("I519",22,"I523",-0.9758,-1.71,-1.2943,0,"ONLY");
3640 gMC->Gspos("I519",21,"I523",-0.9758,-1.79,-1.2943,0,"ONLY");
3641 gMC->Gspos("I519",20,"I523",-0.9058,-1.79,-1.2943,0,"ONLY");
3642 gMC->Gspos("I519",19,"I523",-0.9058,-1.71,-1.2943,0,"ONLY");
3643 gMC->Gspos("I519",18,"I523",0.9092,-1.71,-1.2943,0,"ONLY");
3644 gMC->Gspos("I519",17,"I523",0.9092,-1.79,-1.2943,0,"ONLY");
3645 gMC->Gspos("I519",16,"I523",0.9792,-1.79,-1.2943,0,"ONLY");
3646 gMC->Gspos("I519",15,"I523",0.9792,-1.71,-1.2943,0,"ONLY");
3647 gMC->Gspos("I519",14,"I523",1.0492,-1.71,-1.2943,0,"ONLY");
3648 gMC->Gspos("I519",13,"I523",1.0492,-1.79,-1.2943,0,"ONLY");
3649 gMC->Gspos("I519",12,"I523",1.207,-1.79,-1.2943,0,"ONLY");
3650 gMC->Gspos("I519",11,"I523",1.207,-1.71,-1.2943,0,"ONLY");
3651 gMC->Gspos("I519",10,"I523",1.277,-1.71,-1.2943,0,"ONLY");
3652 gMC->Gspos("I519",9,"I523",1.277,-1.79,-1.2943,0,"ONLY");
3653 gMC->Gspos("I519",8,"I523",1.347,-1.79,-1.2943,0,"ONLY");
3654 gMC->Gspos("I519",7,"I523",1.347,-1.71,-1.2943,0,"ONLY");
3655 gMC->Gspos("I519",6,"I523",3.162,-1.71,-1.2943,0,"ONLY");
3656 gMC->Gspos("I519",5,"I523",3.162,-1.79,-1.2943,0,"ONLY");
3657 gMC->Gspos("I519",4,"I523",3.232,-1.79,-1.2943,0,"ONLY");
3658 gMC->Gspos("I519",3,"I523",3.232,-1.71,-1.2943,0,"ONLY");
3659 gMC->Gspos("I521",12,"I523",-2.8209,-1.7925,-0.982,0,"ONLY");
3660 gMC->Gspos("I521",11,"I523",-1.6895,-1.7925,-0.982,0,"ONLY");
3661 gMC->Gspos("I521",10,"I523",-0.5631,-1.7925,-0.982,0,"ONLY");
3662 gMC->Gspos("I521",9,"I523",0.5633,-1.7925,-0.982,0,"ONLY");
3663 gMC->Gspos("I521",8,"I523",1.6861,-1.7925,-0.982,0,"ONLY");
3664 gMC->Gspos("I521",7,"I523",2.8161,-1.7925,-0.982,0,"ONLY");
3665 gMC->Gspos("I519",2,"I523",3.302,-1.79,-1.2943,0,"ONLY");
3666 gMC->Gspos("I520",3,"I523",0.0001,-1.845,-1.19,0,"ONLY");
3667 gMC->Gspos("I520",2,"I523",-2.2499,-1.845,-1.19,0,"ONLY");
3668 gMC->Gspos("I521",6,"I523",-2.8209,-1.7075,-0.982,0,"ONLY");
3669 gMC->Gspos("I521",5,"I523",-1.6895,-1.7075,-0.982,0,"ONLY");
3670 gMC->Gspos("I521",4,"I523",-0.5631,-1.7075,-0.982,0,"ONLY");
3671 gMC->Gspos("I521",3,"I523",0.5633,-1.7075,-0.982,0,"ONLY");
3672 gMC->Gspos("I521",2,"I523",1.6861,-1.7075,-0.982,0,"ONLY");
3673 gMC->Gspos("I518",1,"I523",0.0001,-1.75,-1.065,0,"ONLY");
3674 gMC->Gspos("I519",1,"I523",3.302,-1.71,-1.2943,0,"ONLY");
3675 gMC->Gspos("I520",1,"I523",2.2501,-1.845,-1.19,0,"ONLY");
3676 gMC->Gspos("I521",1,"I523",2.8161,-1.7075,-0.982,0,"ONLY");
3677 gMC->Gspos("I522",1,"I523",2.2501,-1.655,-1.3,idrotm[583],"MANY");
3678 gMC->Gspos("I522",2,"I523",-2.2499,-1.655,-1.3,idrotm[583],"MANY");
3679 gMC->Gspos("I542",2,"I523",-2.2499,-1.615,0.0,idrotm[573],"ONLY");
3680 gMC->Gspos("I541",2,"I523",-2.2499,-1.615,0.0,idrotm[573],"ONLY");
3681 gMC->Gspos("I541",1,"I523",2.2501,-1.615,0.0,0,"ONLY");
3682 gMC->Gspos("I542",1,"I523",2.2501,-1.615,0.0,0,"ONLY");
3683 gMC->Gspos("I543",1,"I523",2.1001,-1.615,0.955,0,"MANY");
3684 gMC->Gspos("I543",2,"I523",-2.0999,-1.615,0.955,idrotm[573],"MANY");
3685 gMC->Gspos("I537",2,"I523",1.7501,-1.52,0.0,idrotm[583],"ONLY");
3686 gMC->Gspos("I538",2,"I523",1.8368,-1.3122,0.0,idrotm[575],"ONLY");
3687 gMC->Gspos("I537",3,"I523",0.1035,1.6901,0.0,idrotm[575],"ONLY");
3688 gMC->Gspos("I538",3,"I523",-0.1199,1.6612,0.0,idrotm[581],"ONLY");
3689 gMC->Gspos("I538",1,"I523",-1.7166,-1.52,0.0,idrotm[583],"ONLY");
3690 gMC->Gspos("I537",1,"I523",-1.8532,-1.341,0.0,idrotm[581],"ONLY");
3691 gMC->Gspos("I536",3,"I523",-1.031,0.2033,-1.008,idrotm[580],"ONLY");
3692 gMC->Gspos("I536",4,"I523",-1.031,0.2033,0.908,idrotm[579],"ONLY");
3693 gMC->Gspos("I535",1,"I523",-0.0072,-1.58,-0.0361,idrotm[633],"ONLY");
3694 gMC->Gspos("I536",2,"I523",1.0312,0.2033,-1.008,idrotm[577],"ONLY");
3695 gMC->Gspos("I536",1,"I523",1.0312,0.2033,0.908,idrotm[576],"ONLY");
3696 gMC->Gspos("I534",1,"I523",0.0001,-1.58,1.905,0,"ONLY");
3697 gMC->Gspos("I540",1,"I523",0.0001,-1.785,1.905,idrotm[571],"ONLY");
3698 gMC->Gspos("I539",1,"I523",1.8001,-1.75,-0.195,idrotm[571],"ONLY");
3699 gMC->Gspos("I539",2,"I523",-1.7999,-1.75,-0.195,idrotm[572],"ONLY");
3700 gMC->Gspos("ITS6",1,"I566",0.0,0.0,0.0,0,"ONLY");
3701 gMC->Gspos("I550",1,"I544",2.25,-1.615,0.0,0,"ONLY");
3702 gMC->Gspos("I551",1,"I544",2.25,-1.615,0.0,0,"ONLY");
3703 gMC->Gspos("I551",2,"I544",-2.25,-1.615,0.0,idrotm[573],"ONLY");
3704 gMC->Gspos("I550",2,"I544",-2.25,-1.615,0.0,idrotm[573],"ONLY");
3705 gMC->Gspos("I549",1,"I544",1.7167,-1.52,0.0,idrotm[583],"ONLY");
3706 gMC->Gspos("I548",1,"I544",1.8533,-1.341,0.0,idrotm[575],"ONLY");
3707 gMC->Gspos("I547",1,"I544",1.0311,0.2033,-0.287,idrotm[576],"ONLY");
3708 gMC->Gspos("I545",1,"I544",0.0,-1.58,0.71,0,"ONLY");
3709 gMC->Gspos("I547",2,"I544",1.0311,0.2033,-2.203,idrotm[577],"ONLY");
3710 gMC->Gspos("I546",1,"I544",-0.0073,-1.58,-1.2311,idrotm[633],"ONLY");
3711 gMC->Gspos("I547",4,"I544",-1.0311,0.2033,-0.287,idrotm[579],"ONLY");
3712 gMC->Gspos("I547",3,"I544",-1.0311,0.2033,-2.203,idrotm[580],"ONLY");
3713 gMC->Gspos("I548",2,"I544",-0.1033,1.6901,0.0,idrotm[581],"O]NLY");
3714 gMC->Gspos("I549",2,"I544",0.12,1.6613,0.0,idrotm[575],"ONLY");
3715 gMC->Gspos("I549",3,"I544",-1.8367,-1.3122,0.0,idrotm[581],"ONLY");
3716 gMC->Gspos("I548",3,"I544",-1.75,-1.52,0.0,idrotm[583],"ONLY");
3717 gMC->Gspos("I552",1,"I544",2.1,-1.615,-0.24,0,"MANY");
3718 gMC->Gspos("I552",2,"I544",-2.1,-1.615,-0.24,idrotm[573],"MANY");
3719 gMC->Gspos("I515",12,"I516",-1.6896,-1.7075,-0.9822,0,"ONLY");
3720 gMC->Gspos("I515",11,"I516",-1.6896,-1.7925,-0.9822,0,"ONLY");
3721 gMC->Gspos("I513",37,"I516",0.0,-1.79,-1.035,idrotm[586],"ONLY");
3722 gMC->Gspos("I513",1,"I516",-3.2987,-1.71,-1.2943,0,"ONLY");
3723 gMC->Gspos("I515",1,"I516",-2.816,-1.7075,-0.9822,0,"ONLY");
3724 gMC->Gspos("I514",1,"I516",-2.25,-1.845,-1.19,0,"ONLY");
3725 gMC->Gspos("I514",2,"I516",0.0,-1.845,-1.19,0,"ONLY");
3726 gMC->Gspos("I514",3,"I516",2.25,-1.845,-1.19,0,"ONLY");
3727 gMC->Gspos("I515",2,"I516",-2.816,-1.7925,-0.9822,0,"ONLY");
3728 gMC->Gspos("I513",2,"I516",-3.2987,-1.79,-1.2943,0,"ONLY");
3729 gMC->Gspos("I515",3,"I516",-0.5632,-1.7075,-0.9822,0,"ONLY");
3730 gMC->Gspos("I515",4,"I516",-0.5632,-1.7925,-0.9822,0,"ONLY");
3731 gMC->Gspos("I515",5,"I516",0.5632,-1.7925,-0.9822,0,"ONLY");
3732 gMC->Gspos("I515",6,"I516",0.5632,-1.7075,-0.9822,0,"ONLY");
3733 gMC->Gspos("I515",7,"I516",1.6896,-1.7075,-0.9822,0,"ONLY");
3734 gMC->Gspos("I515",8,"I516",1.6896,-1.7925,-0.9822,0,"ONLY");
3735 gMC->Gspos("I515",9,"I516",2.816,-1.7925,-0.9822,0,"ONLY");
3736 gMC->Gspos("I515",10,"I516",2.816,-1.7075,-0.9822,0,"ONLY");
3737 gMC->Gspos("I513",3,"I516",-3.2287,-1.79,-1.2943,0,"ONLY");
3738 gMC->Gspos("I513",4,"I516",-3.2287,-1.71,-1.2943,0,"ONLY");
3739 gMC->Gspos("I513",5,"I516",-3.1587,-1.71,-1.2943,0,"ONLY");
3740 gMC->Gspos("I513",6,"I516",-3.1587,-1.79,-1.2943,0,"ONLY");
3741 gMC->Gspos("I513",7,"I516",-1.3437,-1.79,-1.2943,0,"ONLY");
3742 gMC->Gspos("I513",8,"I516",-1.3437,-1.71,-1.2943,0,"ONLY");
3743 gMC->Gspos("I513",9,"I516",-1.2737,-1.71,-1.2943,0,"ONLY");
3744 gMC->Gspos("I513",10,"I516",-1.2737,-1.79,-1.2943,0,"ONLY");
3745 gMC->Gspos("I513",11,"I516",-1.2037,-1.79,-1.2943,0,"ONLY");
3746 gMC->Gspos("I513",12,"I516",-1.2037,-1.71,-1.2943,0,"ONLY");
3747 gMC->Gspos("I513",13,"I516",-1.046,-1.71,-1.2943,0,"ONLY");
3748 gMC->Gspos("I513",14,"I516",-1.046,-1.79,-1.2943,0,"ONLY");
3749 gMC->Gspos("I513",15,"I516",-0.976,-1.79,-1.2943,0,"ONLY");
3750 gMC->Gspos("I513",16,"I516",-0.976,-1.71,-1.2943,0,"ONLY");
3751 gMC->Gspos("I513",17,"I516",-0.906,-1.71,-1.2943,0,"ONLY");
3752 gMC->Gspos("I513",18,"I516",-0.906,-1.79,-1.2943,0,"ONLY");
3753 gMC->Gspos("I513",19,"I516",0.9091,-1.79,-1.2943,0,"ONLY");
3754 gMC->Gspos("I513",20,"I516",0.9091,-1.71,-1.2943,0,"ONLY");
3755 gMC->Gspos("I513",21,"I516",0.9791,-1.71,-1.2943,0,"ONLY");
3756 gMC->Gspos("I513",22,"I516",0.9791,-1.79,-1.2943,0,"ONLY");
3757 gMC->Gspos("I513",23,"I516",1.0491,-1.79,-1.2943,0,"ONLY");
3758 gMC->Gspos("I513",24,"I516",1.0491,-1.71,-1.2943,0,"ONLY");
3759 gMC->Gspos("I513",25,"I516",1.2068,-1.71,-1.2943,0,"ONLY");
3760 gMC->Gspos("I513",26,"I516",1.2068,-1.79,-1.2943,0,"ONLY");
3761 gMC->Gspos("I513",27,"I516",1.2768,-1.79,-1.2943,0,"ONLY");
3762 gMC->Gspos("I513",28,"I516",1.2768,-1.71,-1.2943,0,"ONLY");
3763 gMC->Gspos("I513",29,"I516",1.3469,-1.71,-1.2943,0,"ONLY");
3764 gMC->Gspos("I513",30,"I516",1.3469,-1.79,-1.2943,0,"ONLY");
3765 gMC->Gspos("I513",31,"I516",3.1619,-1.79,-1.2943,0,"ONLY");
3766 gMC->Gspos("I513",32,"I516",3.1619,-1.71,-1.2943,0,"ONLY");
3767 gMC->Gspos("I513",33,"I516",3.2319,-1.71,-1.2943,0,"ONLY");
3768 gMC->Gspos("I513",34,"I516",3.2319,-1.79,-1.2943,0,"ONLY");
3769 gMC->Gspos("I513",35,"I516",3.3019,-1.79,-1.2943,0,"ONLY");
3770 gMC->Gspos("I513",36,"I516",3.3019,-1.71,-1.2943,0,"ONLY");
3771 gMC->Gspos("I512",1,"I516",0.0,-1.75,-1.065,0,"ONLY");
3772 gMC->Gspos("I528",1,"I516",1.7167,-1.52,0.0,idrotm[583],"ONLY");
3773 gMC->Gspos("I527",1,"I516",1.8534,-1.341,0.0,idrotm[575],"ONLY");
3774 gMC->Gspos("I528",2,"I516",0.12,1.6613,0.0,idrotm[575],"ONLY");
3775 gMC->Gspos("I527",2,"I516",-0.1033,1.6901,0.0,idrotm[581],"ONLY");
3776 gMC->Gspos("I527",3,"I516",-1.75,-1.52,0.0,idrotm[583],"ONLY");
3777 gMC->Gspos("I528",3,"I516",-1.8367,-1.3122,0.0,idrotm[581],"ONLY");
3778 gMC->Gspos("I526",2,"I516",1.0311,0.2033,-1.008,idrotm[577],"ONLY");
3779 gMC->Gspos("I525",1,"I516",-0.0073,-1.58,-0.0361,idrotm[633],"ONLY");
3780 gMC->Gspos("I524",1,"I516",0.0,-1.58,1.905,0,"ONLY");
3781 gMC->Gspos("I526",1,"I516",1.0311,0.2033,0.908,idrotm[576],"ONLY");
3782 gMC->Gspos("I526",3,"I516",-1.0311,0.2033,0.908,idrotm[579],"ONLY");
3783 gMC->Gspos("I526",4,"I516",-1.0311,0.2033,-1.008,idrotm[580],"ONLY");
3784 gMC->Gspos("I529",1,"I516",1.8,-1.75,-0.195,idrotm[571],"ONLY");
3785 gMC->Gspos("I530",1,"I516",0.0,-1.785,1.905,idrotm[571],"ONLY");
3786 gMC->Gspos("I529",2,"I516",-1.8,-1.75,-0.195,idrotm[572],"ONLY");
3787 gMC->Gspos("I517",1,"I516",2.25,-1.655,-1.3,idrotm[583],"MANY");
3788 gMC->Gspos("I517",2,"I516",-2.25,-1.655,-1.3,idrotm[584],"MANY");
3789 gMC->Gspos("I531",2,"I516",-2.25,-1.615,0.0,idrotm[573],"ONLY");
3790 gMC->Gspos("I531",1,"I516",2.25,-1.615,0.0,0,"ONLY");
3791 gMC->Gspos("I532",1,"I516",2.25,-1.615,0.0,0,"ONLY");
3792 gMC->Gspos("I532",2,"I516",-2.25,-1.615,0.0,idrotm[573],"ONLY");
3793 gMC->Gspos("I533",1,"I516",2.1,-1.615,0.955,0,"MANY");
3794 gMC->Gspos("I533",2,"I516",-2.1,-1.615,0.955,idrotm[573],"MANY");
3795 gMC->Gspos("ITS5",1,"I562",0.0,0.0,0.0,0,"ONLY");
db915fea 3796
3797
9d2da7b3 3798 // --- Place volumes of shield between SPD and SDD
3799
3800
3801 gMC->Gspos("IC01",1,"ITSD",0.0,0.0,0.0,0,"ONLY");
3802 gMC->Gspos("IC02",1,"ITSD",0.0,0.0,25.+8.75,0,"ONLY");
3803 gMC->Gspos("IC02",2,"ITSD",0.0,0.0,-25.-8.75,idrotm[200],"ONLY");
3804 //gMC->Gspos("IC03",1,"ITSD",0.0,0.0,25.+17.5+7.875,0,"ONLY");
3805 //gMC->Gspos("IC03",2,"ITSD",0.0,0.0,-25.-17.5-7.875,idrotm[200],"ONLY");
3806
3807
3808 // --- Place volumes of shield between SDD and SSD
3809
3810
3811 gMC->Gspos("ICY2",1,"ITSD",0.0,0.0,-0.7,0,"ONLY");
3812
3813
3814 // --- Place volumes of SDD cone ----------------------------------
3815
3816
3817 gMC->Gspos("I093",1,"IS02",0.0,0.0,0.0,0,"MANY");
3818 gMC->Gspos("I093",2,"IS02",0.0,0.0,0.0,idrotm[856],"MANY");
3819 gMC->Gspos("I099",4,"IS02",0.0,0.0,0.0,idrotm[857],"ONLY");
3820 gMC->Gspos("I099",3,"IS02",0.0,0.0,0.0,idrotm[858],"ONLY");
3821 gMC->Gspos("I099",5,"IS02",0.0,0.0,0.0,idrotm[859],"ONLY");
3822 gMC->Gspos("I099",6,"IS02",0.0,0.0,0.0,idrotm[860],"ONLY");
3823 gMC->Gspos("I099",7,"IS02",0.0,0.0,0.0,idrotm[861],"ONLY");
3824 gMC->Gspos("I099",2,"IS02",0.0,0.0,0.0,idrotm[862],"ONLY");
3825 gMC->Gspos("I200",4,"IS02",0.0,0.0,0.0,idrotm[863],"ONLY");
3826 gMC->Gspos("I200",3,"IS02",0.0,0.0,0.0,idrotm[864],"ONLY");
3827 gMC->Gspos("I200",2,"IS02",0.0,0.0,0.0,idrotm[865],"ONLY");
3828 gMC->Gspos("I200",13,"IS02",0.0,0.0,0.0,idrotm[867],"ONLY");
3829 gMC->Gspos("I200",12,"IS02",0.0,0.0,0.0,idrotm[869],"ONLY");
3830 gMC->Gspos("I200",11,"IS02",0.0,0.0,0.0,idrotm[870],"ONLY");
3831 gMC->Gspos("I200",10,"IS02",0.0,0.0,0.0,idrotm[871],"ONLY");
3832 gMC->Gspos("I200",9,"IS02",0.0,0.0,0.0,idrotm[872],"ONLY");
3833 gMC->Gspos("I200",8,"IS02",0.0,0.0,0.0,idrotm[873],"ONLY");
3834 gMC->Gspos("I200",7,"IS02",0.0,0.0,0.0,idrotm[874],"ONLY");
3835 gMC->Gspos("I200",6,"IS02",0.0,0.0,0.0,idrotm[875],"ONLY");
3836 gMC->Gspos("I200",5,"IS02",0.0,0.0,0.0,idrotm[876],"ONLY");
3837 gMC->Gspos("I090",2,"IS02",0.0,0.0,-39.15,0,"ONLY");
3838 //gMC->Gspos("I089",1,"IS02",0.0,0.0,0.0,0,"ONLY"); // old cylind. shield
3839 gMC->Gspos("I090",1,"IS02",0.0,0.0,39.15,idrotm[856],"ONLY");
3840 gMC->Gspos("I099",9,"IS02",0.0,0.0,0.0,idrotm[877],"ONLY");
3841 gMC->Gspos("I099",8,"IS02",0.0,0.0,0.0,idrotm[879],"ONLY");
3842 gMC->Gspos("I099",1,"IS02",0.0,0.0,0.0,idrotm[880],"ONLY");
3843 gMC->Gspos("I099",12,"IS02",0.0,0.0,0.0,idrotm[881],"ONLY");
3844 gMC->Gspos("I099",11,"IS02",0.0,0.0,0.0,idrotm[851],"ONLY");
3845 gMC->Gspos("I099",10,"IS02",0.0,0.0,0.0,idrotm[882],"ONLY");
3846 gMC->Gspos("I200",23,"IS02",0.0,0.0,0.0,idrotm[898],"ONLY");
3847 gMC->Gspos("I200",24,"IS02",0.0,0.0,0.0,idrotm[883],"ONLY");
3848 gMC->Gspos("I200",1,"IS02",0.0,0.0,0.0,idrotm[884],"ONLY");
3849 gMC->Gspos("I200",14,"IS02",0.0,0.0,0.0,idrotm[885],"ONLY");
3850 gMC->Gspos("I200",15,"IS02",0.0,0.0,0.0,idrotm[887],"ONLY");
3851 gMC->Gspos("I200",16,"IS02",0.0,0.0,0.0,idrotm[888],"ONLY");
3852 gMC->Gspos("I200",17,"IS02",0.0,0.0,0.0,idrotm[889],"ONLY");
3853 gMC->Gspos("I200",18,"IS02",0.0,0.0,0.0,idrotm[890],"ONLY");
3854 gMC->Gspos("I200",22,"IS02",0.0,0.0,0.0,idrotm[891],"ONLY");
3855 gMC->Gspos("I200",21,"IS02",0.0,0.0,0.0,idrotm[892],"ONLY");
3856 gMC->Gspos("I200",20,"IS02",0.0,0.0,0.0,idrotm[868],"ONLY");
3857 gMC->Gspos("I200",19,"IS02",0.0,0.0,0.0,idrotm[893],"ONLY");
3858 gMC->Gspos("I098",1,"IS02",0.0,0.0,32.1,0,"ONLY");
3859 gMC->Gspos("I097",1,"IS02",0.0,0.0,25.1,0,"ONLY");
3860 gMC->Gspos("I097",2,"IS02",0.0,0.0,-25.1,idrotm[856],"ONLY");
3861 gMC->Gspos("I098",2,"IS02",0.0,0.0,-32.1,idrotm[856],"ONLY");
3862 gMC->Gspos("I202",1,"IS02",12.1,0.0,33.84,0,"ONLY");
3863 gMC->Gspos("I202",6,"IS02",-6.05,-10.4789,33.84,idrotm[930],"ONLY");
3864 gMC->Gspos("I202",5,"IS02",-6.05,10.4789,33.84,idrotm[929],"ONLY");
3865 gMC->Gspos("I202",2,"IS02",12.1,0.0,-33.84,idrotm[856],"ONLY");
3866 gMC->Gspos("I202",3,"IS02",-6.05,10.4789,-33.84,idrotm[932],"ONLY");
3867 gMC->Gspos("I202",4,"IS02",-6.05,-10.4789,-33.84,idrotm[934],"ONLY");
3868 gMC->Gspos("I203",12,"IS02",21.8453,0.0,-42.24,idrotm[856],"ONLY");
3869 gMC->Gspos("I203",11,"IS02",10.9227,-18.9186,-42.24,idrotm[935],"ONLY");
3870 gMC->Gspos("I203",10,"IS02",10.9227,-18.9186,42.24,idrotm[846],"ONLY");
3871 gMC->Gspos("I203",9,"IS02",-10.9227,-18.9186,-42.24,idrotm[934],"ONLY");
3872 gMC->Gspos("I203",8,"IS02",-10.9227,-18.9186,42.24,idrotm[930],"ONLY");
3873 gMC->Gspos("I203",7,"IS02",-21.8453,0.0,-42.24,idrotm[933],"ONLY");
3874 gMC->Gspos("I203",6,"IS02",-21.8453,0.0,42.24,idrotm[878],"ONLY");
3875 gMC->Gspos("I203",5,"IS02",-10.9227,18.9186,-42.24,idrotm[932],"ONLY");
3876 gMC->Gspos("I203",4,"IS02",-10.9227,18.9186,42.24,idrotm[929],"ONLY");
3877 gMC->Gspos("I203",3,"IS02",10.9227,18.9186,-42.24,idrotm[931],"ONLY");
3878 gMC->Gspos("I203",2,"IS02",10.9227,18.9186,42.24,idrotm[853],"ONLY");
3879 gMC->Gspos("I203",1,"IS02",21.8453,0.0,42.24,0,"ONLY");
3880 gMC->Gspos("I095",1,"I098",0.0,0.0,0.0,0,"ONLY");
3881 gMC->Gspos("I096",23,"I098",22.77,0.0,0.0,idrotm[894],"MANY");
3882 gMC->Gspos("I096",14,"I098",22.3754,6.57,0.0,idrotm[895],"MANY");
3883 gMC->Gspos("I096",3,"I098",19.1553,12.3104,0.0,idrotm[896],"MANY");
3884 gMC->Gspos("I096",16,"I098",15.2714,17.6241,0.0,idrotm[897],"MANY");
3885 gMC->Gspos("I096",5,"I098",9.459,20.7123,0.0,idrotm[899],"MANY");
3886 gMC->Gspos("I096",18,"I098",3.3188,23.0826,0.0,idrotm[900],"MANY");
3887 gMC->Gspos("I096",7,"I098",-3.2405,22.5382,0.0,idrotm[901],"MANY");
3888 gMC->Gspos("I096",20,"I098",-9.6875,21.2126,0.0,idrotm[902],"MANY");
3889 gMC->Gspos("I096",9,"I098",-14.9112,17.2084,0.0,idrotm[903],"MANY");
3890 gMC->Gspos("I096",22,"I098",-19.618,12.6077,0.0,idrotm[904],"MANY");
3891 gMC->Gspos("I096",11,"I098",-21.8477,6.4151,0.0,idrotm[905],"MANY");
3892 gMC->Gspos("I096",24,"I098",-23.32,0.0,0.0,idrotm[906],"MANY");
3893 gMC->Gspos("I096",13,"I098",-21.8477,-6.4151,0.0,idrotm[907],"MANY");
3894 gMC->Gspos("I096",4,"I098",-19.618,-12.6077,0.0,idrotm[908],"MANY");
3895 gMC->Gspos("I096",15,"I098",-14.9112,-17.2084,0.0,idrotm[909],"MANY");
3896 gMC->Gspos("I096",6,"I098",-9.6875,-21.2126,0.0,idrotm[910],"MANY");
3897 gMC->Gspos("I096",17,"I098",-3.2405,-22.5382,0.0,idrotm[911],"MANY");
3898 gMC->Gspos("I096",8,"I098",3.3188,-23.0826,0.0,idrotm[912],"MANY");
3899 gMC->Gspos("I096",19,"I098",9.459,-20.7123,0.0,idrotm[913],"MANY");
3900 gMC->Gspos("I096",10,"I098",15.2714,-17.6241,0.0,idrotm[914],"MANY");
3901 gMC->Gspos("I096",21,"I098",19.1553,-12.3104,0.0,idrotm[915],"MANY");
3902 gMC->Gspos("I096",12,"I098",22.3754,-6.57,0.0,idrotm[916],"MANY");
3903 gMC->Gspos("I094",1,"I097",0.0,0.0,0.0,0,"ONLY");
3904 gMC->Gspos("I096",1,"I097",13.87,0.0,0.0,idrotm[894],"MANY");
3905 gMC->Gspos("I096",32,"I097",13.037,6.2783,0.0,idrotm[917],"MANY");
3906 gMC->Gspos("I096",25,"I097",8.6478,10.844,0.0,idrotm[918],"MANY");
3907 gMC->Gspos("I096",34,"I097",3.2199,14.1072,0.0,idrotm[919],"MANY");
3908 gMC->Gspos("I096",27,"I097",-3.0864,13.5223,0.0,idrotm[920],"MANY");
3909 gMC->Gspos("I096",36,"I097",-9.0219,11.3131,0.0,idrotm[921],"MANY");
3910 gMC->Gspos("I096",29,"I097",-12.4964,6.018,0.0,idrotm[922],"MANY");
3911 gMC->Gspos("I096",2,"I097",-14.47,0.0,0.0,idrotm[906],"MANY");
3912 gMC->Gspos("I096",31,"I097",-12.4964,-6.018,0.0,idrotm[923],"MANY");
3913 gMC->Gspos("I096",26,"I097",-9.0219,-11.3131,0.0,idrotm[924],"MANY");
3914 gMC->Gspos("I096",33,"I097",-3.0864,-13.5223,0.0,idrotm[925],"MANY");
3915 gMC->Gspos("I096",28,"I097",3.2199,-14.1072,0.0,idrotm[926],"MANY");
3916 gMC->Gspos("I096",35,"I097",8.6478,-10.844,0.0,idrotm[927],"MANY");
3917 gMC->Gspos("I096",30,"I097",13.037,-6.2783,0.0,idrotm[928],"MANY");
3918
3919
3920 // --- Place volumes of SSD cone ----------------------------------
db915fea 3921
9d2da7b3 3922
3923 gMC->Gspos("I212",2,"IS01",0.0,0.0,0.0,idrotm[701],"MANY"); // old z=-1.4
3924 gMC->Gspos("I212",1,"IS01",0.0,0.0,0.0,0,"MANY");
3925 //gMC->Gspos("I210",1,"IS01",0.0,0.0,-0.7,0,"ONLY"); // old cylind. shield
3926 gMC->Gspos("I211",1,"IS01",0.0,0.0,-56.5,0,"ONLY");
3927 gMC->Gspos("I217",1,"IS01",0.0,0.0,-47.75,0,"ONLY");
3928 gMC->Gspos("I218",1,"IS01",0.0,0.0,-47.75,0,"ONLY");
3929 gMC->Gspos("I219",1,"IS01",0.0,0.0,-53.6,0,"ONLY");
3930 gMC->Gspos("I220",1,"IS01",0.0,0.0,-53.6,0,"ONLY");
3931 gMC->Gspos("I211",2,"IS01",0.0,0.0,55.1,idrotm[701],"ONLY");
3932 gMC->Gspos("I219",2,"IS01",0.0,0.0,52.2,idrotm[701],"ONLY");
3933 gMC->Gspos("I220",2,"IS01",0.0,0.0,52.2,idrotm[701],"ONLY");
3934 gMC->Gspos("I217",2,"IS01",0.0,0.0,46.35,idrotm[701],"ONLY");
3935 gMC->Gspos("I218",2,"IS01",0.0,0.0,46.35,idrotm[701],"ONLY");
3936 gMC->Gspos("I214",2,"IS01",0.0,0.0,65.85,idrotm[701],"ONLY");
3937 gMC->Gspos("I213",2,"IS01",0.0,0.0,60.85,idrotm[701],"ONLY");
3938 gMC->Gspos("I213",1,"IS01",0.0,0.0,-62.25,0,"ONLY");
3939 gMC->Gspos("I214",1,"IS01",0.0,0.0,-67.25,0,"ONLY");
3940 gMC->Gspos("I215",19,"IS01",0.0,0.0,-1.4,idrotm[702],"ONLY");
3941 gMC->Gspos("I215",21,"IS01",0.0,0.0,-1.4,idrotm[703],"ONLY");
3942 gMC->Gspos("I215",23,"IS01",0.0,0.0,-1.4,idrotm[704],"ONLY");
3943 gMC->Gspos("I215",24,"IS01",0.0,0.0,-1.4,idrotm[705],"ONLY");
3944 gMC->Gspos("I215",3,"IS01",0.0,0.0,-1.4,idrotm[706],"ONLY");
3945 gMC->Gspos("I215",5,"IS01",0.0,0.0,-1.4,idrotm[707],"ONLY");
3946 gMC->Gspos("I215",7,"IS01",0.0,0.0,-1.4,idrotm[708],"ONLY");
3947 gMC->Gspos("I215",9,"IS01",0.0,0.0,-1.4,idrotm[709],"ONLY");
3948 gMC->Gspos("I215",11,"IS01",0.0,0.0,-1.4,idrotm[710],"ONLY");
3949 gMC->Gspos("I215",13,"IS01",0.0,0.0,-1.4,idrotm[711],"ONLY");
3950 gMC->Gspos("I215",15,"IS01",0.0,0.0,-1.4,idrotm[712],"ONLY");
3951 gMC->Gspos("I215",17,"IS01",0.0,0.0,-1.4,idrotm[713],"ONLY");
3952 gMC->Gspos("I216",9,"IS01",0.0,0.0,45.35,idrotm[714],"ONLY");
3953 gMC->Gspos("I216",11,"IS01",0.0,0.0,45.35,idrotm[715],"ONLY");
3954 gMC->Gspos("I216",12,"IS01",0.0,0.0,45.35,idrotm[716],"ONLY");
3955 gMC->Gspos("I216",3,"IS01",0.0,0.0,45.35,idrotm[717],"ONLY");
3956 gMC->Gspos("I216",5,"IS01",0.0,0.0,45.35,idrotm[718],"ONLY");
3957 gMC->Gspos("I216",7,"IS01",0.0,0.0,45.35,idrotm[719],"ONLY");
3958 gMC->Gspos("I216",10,"IS01",0.0,0.0,-46.75,idrotm[720],"ONLY");
3959 gMC->Gspos("I216",1,"IS01",0.0,0.0,-46.75,idrotm[721],"ONLY");
3960 gMC->Gspos("I216",2,"IS01",0.0,0.0,-46.75,idrotm[722],"ONLY");
3961 gMC->Gspos("I216",4,"IS01",0.0,0.0,-46.75,idrotm[723],"ONLY");
3962 gMC->Gspos("I216",6,"IS01",0.0,0.0,-46.75,idrotm[724],"ONLY");
3963 gMC->Gspos("I216",8,"IS01",0.0,0.0,-46.75,idrotm[725],"ONLY");
3964 gMC->Gspos("I215",1,"IS01",0.0,0.0,0.0,idrotm[726],"ONLY");
3965 gMC->Gspos("I215",2,"IS01",0.0,0.0,0.0,idrotm[727],"ONLY");
3966 gMC->Gspos("I215",4,"IS01",0.0,0.0,0.0,idrotm[728],"ONLY");
3967 gMC->Gspos("I215",6,"IS01",0.0,0.0,0.0,idrotm[729],"ONLY");
3968 gMC->Gspos("I215",8,"IS01",0.0,0.0,0.0,idrotm[733],"ONLY");
3969 gMC->Gspos("I215",10,"IS01",0.0,0.0,0.0,idrotm[730],"ONLY");
3970 gMC->Gspos("I215",12,"IS01",0.0,0.0,0.0,idrotm[731],"ONLY");
3971 gMC->Gspos("I215",14,"IS01",0.0,0.0,0.0,idrotm[768],"ONLY");
3972 gMC->Gspos("I215",16,"IS01",0.0,0.0,0.0,idrotm[732],"ONLY");
3973 gMC->Gspos("I215",18,"IS01",0.0,0.0,0.0,idrotm[734],"ONLY");
3974 gMC->Gspos("I215",20,"IS01",0.0,0.0,0.0,idrotm[798],"ONLY");
3975 gMC->Gspos("I215",22,"IS01",0.0,0.0,0.0,idrotm[735],"ONLY");
3976
3977
3978 // --- Place subdetectors' mother volumes and supports' mother volumes
3979 // into ITS mother volume ITSD
3980
3981 gMC->Gspos("IT12",1,"ITSD",0.0,0.0,0.0,0,"ONLY"); // SPD mother volume
3982 gMC->Gspos("IT34",1,"ITSD",0.0,0.0,0.0,0,"ONLY"); // SDD mother volume
3983 gMC->Gspos("IT56",1,"ITSD",0.0,0.0,0.0,0,"ONLY"); // SSD mother volume
3984 gMC->Gspos("IS02",1,"ITSD",0.0,0.0,0.0,0,"ONLY"); // SDD cones/supports
3985 gMC->Gspos("IS01",1,"ITSD",0.0,0.0,0.0,0,"ONLY"); // SSD cones/supports
3986
db915fea 3987
9d2da7b3 3988 // **************************** SERVICES *********************************
db915fea 3989
db915fea 3990
3991 // --- DEFINE CABLES AT THE END OF THE ITS CONES - COPPER PART
3992
45725ec9 3993 dgh[0] = 46.;
3994 dgh[1] = 46.+1.0;
db915fea 3995 dgh[2] = 9.5;
3996
9d2da7b3 3997 gMC->Gsvolu("ICCU", "TUBE", idtmed[213], dgh, 3);
db915fea 3998 gMC->Gspos("ICCU", 1, "ITSV", 0., 0., 86.7, 0, "ONLY");
3999 gMC->Gspos("ICCU", 2, "ITSV", 0., 0., -86.7, idrotm[200], "ONLY");
4000
4001 // --- DEFINE CABLES AT THE END OF THE ITS CONES - CARBON PART
4002
45725ec9 4003 dgh[0] = 46.+1.0;
4004 dgh[1] = 46.+1.0+1.5;
db915fea 4005 dgh[2] = 9.5;
4006
9d2da7b3 4007 gMC->Gsvolu("ICCC", "TUBE", idtmed[225], dgh, 3);
db915fea 4008 gMC->Gspos("ICCC", 1, "ITSV", 0., 0., 86.7, 0, "ONLY");
4009 gMC->Gspos("ICCC", 2, "ITSV", 0., 0., -86.7, idrotm[200], "ONLY");
4010
4011 // --- DEFINE PATCH PANELS AT THE END OF THE ITS CONES
4012
45725ec9 4013 dgh[0] = 46.;
db915fea 4014 dgh[1] = 56.;
4015 dgh[2] = 2.25;
4016
9d2da7b3 4017 gMC->Gsvolu("IPAN", "TUBE", idtmed[210], dgh, 3);
db915fea 4018 gMC->Gspos("IPAN", 1, "ITSV", 0., 0., 98.45, 0, "ONLY");
4019 gMC->Gspos("IPAN", 2, "ITSV", 0., 0., -98.45, idrotm[200], "ONLY");
4020
4021 // --- DEFINE CABLES/COOLING BELOW THE TPC - COPPER PART - UPPER PART
4022
4023 dgh[0] = (xltpc-100.7)/2.;
45725ec9 4024 dgh[1] = 46.2;
4025 dgh[2] = 46.2+1.0;
4026 dgh[3] = 62.3;
4027 dgh[4] = 62.3+1.0;
db915fea 4028 dgh[5] = 12.;
4029 dgh[6] = 168.;
9d2da7b3 4030 gMC->Gsvolu("ICU1", "CONS", idtmed[213], dgh, 7);
db915fea 4031 gMC->Gspos("ICU1", 1, "ITSV", 0., 0., 100.7+dgh[0], 0, "ONLY");
4032 gMC->Gspos("ICU1", 2, "ITSV", 0., 0., -(100.7+dgh[0]), idrotm[200], "ONLY");
4033
4034 // --- DEFINE CABLES/COOLING BELOW THE TPC - COPPER PART - LOWER PART
4035
4036 dgh[0] = (xltpc-100.7)/2.;
45725ec9 4037 dgh[1] = 46.2;
4038 dgh[2] = 46.2+1.0;
4039 dgh[3] = 62.3;
4040 dgh[4] = 62.3+1.0;
db915fea 4041 dgh[5] = 192.;
4042 dgh[6] = 348.;
9d2da7b3 4043 gMC->Gsvolu("ICU2", "CONS", idtmed[213], dgh, 7);
db915fea 4044 gMC->Gspos("ICU2", 1, "ITSV", 0., 0., 100.7+dgh[0], 0, "ONLY");
4045 gMC->Gspos("ICU2", 2, "ITSV", 0., 0., -(100.7+dgh[0]), idrotm[200], "ONLY");
4046
4047 // --- DEFINE CABLES/COOLING BELOW THE TPC - CARBON PART - UPPER PART
4048
4049 dgh[0] = (xltpc-100.7)/2.;
45725ec9 4050 dgh[1] = 46.2+1.0;
4051 dgh[2] = 46.2+1.0+1.5;
4052 dgh[3] = 62.3+1.0;
4053 dgh[4] = 62.3+1.0+1.5;
db915fea 4054 dgh[5] = 12.;
4055 dgh[6] = 168.;
9d2da7b3 4056 gMC->Gsvolu("ICC1", "CONS", idtmed[225], dgh, 7);
db915fea 4057 gMC->Gspos("ICC1", 1, "ITSV", 0., 0., 100.7+dgh[0], 0, "ONLY");
4058 gMC->Gspos("ICC1", 2, "ITSV", 0., 0., -(100.7+dgh[0]), idrotm[200], "ONLY");
4059
4060 // --- DEFINE CABLES/COOLING BELOW THE TPC - CARBON PART - LOWER PART
4061
4062 dgh[0] = (xltpc-100.7)/2.;
45725ec9 4063 dgh[1] = 46.2+1.0;
4064 dgh[2] = 46.2+1.0+1.5;
4065 dgh[3] = 62.3+1.0;
4066 dgh[4] = 62.3+1.0+1.5;
db915fea 4067 dgh[5] = 192.;
4068 dgh[6] = 348.;
9d2da7b3 4069 gMC->Gsvolu("ICC2", "CONS", idtmed[225], dgh, 7);
db915fea 4070 gMC->Gspos("ICC2", 1, "ITSV", 0., 0., 100.7+dgh[0], 0, "ONLY");
4071 gMC->Gspos("ICC2", 2, "ITSV", 0., 0., -(100.7+dgh[0]), idrotm[200], "ONLY");
4072
4073 // --- DEFINE CABLES/COOLING BEHIND THE TPC - COPPER PART - UPPER PART
4074
45725ec9 4075 dgh[0] = 62.1;
db915fea 4076 dgh[1] = 74.5;
4077 dgh[2] = 0.5;
4078 dgh[3] = 12.;
4079 dgh[4] = 168.;
9d2da7b3 4080 gMC->Gsvolu("ICU3", "TUBS", idtmed[213], dgh, 5);
db915fea 4081 gMC->Gspos("ICU3", 1, "ITSV", 0., 0., xltpc+1.5+dgh[2], 0, "ONLY");
4082 gMC->Gspos("ICU3", 2, "ITSV", 0., 0., -(xltpc+1.5+dgh[2]), idrotm[200], "ONLY");
4083
4084 // --- DEFINE CABLES/COOLING BEHIND THE TPC - COPPER PART - LOWER PART
4085
45725ec9 4086 dgh[0] = 62.1;
db915fea 4087 dgh[1] = 74.5;
4088 dgh[2] = 0.5;
4089 dgh[3] = 192.;
4090 dgh[4] = 348.;
9d2da7b3 4091 gMC->Gsvolu("ICU4", "TUBS", idtmed[213], dgh, 5);
db915fea 4092 gMC->Gspos("ICU4", 1, "ITSV", 0., 0., xltpc+1.5+dgh[2], 0, "ONLY");
4093 gMC->Gspos("ICU4", 2, "ITSV", 0., 0., -(xltpc+1.5+dgh[2]), idrotm[200], "ONLY");
4094
4095 // --- DEFINE CABLES/COOLING BEHIND THE TPC - CARBON PART - UPPER PART
4096
45725ec9 4097 dgh[0] = 62.1;
db915fea 4098 dgh[1] = 74.5;
4099 dgh[2] = 0.75;
4100 dgh[3] = 12.;
4101 dgh[4] = 168.;
9d2da7b3 4102 gMC->Gsvolu("ICC3", "TUBS", idtmed[225], dgh, 5);
db915fea 4103 gMC->Gspos("ICC3", 1, "ITSV", 0., 0., xltpc+dgh[2], 0, "ONLY");
4104 gMC->Gspos("ICC3", 2, "ITSV", 0., 0., -(xltpc+dgh[2]), idrotm[200], "ONLY");
4105
4106 // --- DEFINE CABLES/COOLING BEHIND THE TPC - CARBON PART - LOWER PART
4107
45725ec9 4108 dgh[0] = 62.1;
db915fea 4109 dgh[1] = 74.5;
4110 dgh[2] = 0.75;
4111 dgh[3] = 192.;
4112 dgh[4] = 348.;
9d2da7b3 4113 gMC->Gsvolu("ICC4", "TUBS", idtmed[225], dgh, 5);
db915fea 4114 gMC->Gspos("ICC4", 1, "ITSV", 0., 0., xltpc+dgh[2], 0, "ONLY");
4115 gMC->Gspos("ICC4", 2, "ITSV", 0., 0., -(xltpc+dgh[2]), idrotm[200], "ONLY");
4116
4117 // --- DEFINE HOOK TO THE TPC ON OTHER SIDE W.R.T. THE ABSORBER - UPPER PART
4118
4119 dgh[0] = 74.5;
4120 dgh[1] = 79.5;
4121 dgh[2] = 2.5;
4122 dgh[3] = 12.;
4123 dgh[4] = 168.;
9d2da7b3 4124 gMC->Gsvolu("IHK1", "TUBS", idtmed[264], dgh, 5);
db915fea 4125 gMC->Gspos("IHK1", 1, "ITSV", 0., 0., -xltpc-dgh[2], 0, "ONLY");
4126
4127 // --- DEFINE HOOK TO THE TPC ON OTHER SIDE W.R.T. THE ABSORBER - LOWER PART
4128
4129 dgh[0] = 74.5;
4130 dgh[1] = 79.5;
4131 dgh[2] = 2.5;
4132 dgh[3] = 192.;
4133 dgh[4] = 348.;
9d2da7b3 4134 gMC->Gsvolu("IHK2", "TUBS", idtmed[264], dgh, 5);
db915fea 4135 gMC->Gspos("IHK2", 1, "ITSV", 0., 0., -xltpc-dgh[2], 0, "ONLY");
4136
4137 // --- DEFINE RAILS BETWEEN THE ITS AND THE TPC
4138
4139 //dgh[0] = 0.85;
4140 //dgh[1] = 10.;
4141 //dgh[2] = 190.;
4142 //gMC->Gsvolu("IRAI", "BOX ", idtmed[285], dgh, 3);
4143 //gMC->Gspos("IRAI", 1, "ITSV", 53., 0., -69.5, 0, "ONLY");
4144 //gMC->Gspos("IRAI", 2, "ITSV", -53., 0., -69.5, 0, "ONLY");
4145
4146 // --- DEFINE CYLINDERS HOLDING RAILS BETWEEN THE ITS AND THE TPC
4147
4148
4149 dgh[0] = 58.;
4150 dgh[1] = 59.;
4151 dgh[2] = 0.6;
9d2da7b3 4152 gMC->Gsvolu("ICYL", "TUBE", idtmed[210], dgh, 3);
db915fea 4153 gMC->Gspos("ICYL", 1, "ALIC", 0., 0., 74., 0, "ONLY");
4154 gMC->Gspos("ICYL", 2, "ALIC", 0., 0., -74., idrotm[200], "ONLY");
4155
4156 // --- Outputs the geometry tree in the EUCLID/CAD format
4157
4158 if (fEuclidOut) {
4159 gMC->WriteEuclid("ITSgeometry", "ITSV", 1, 5);
4160 }
4161}
4162//_____________________________________________________________________________
4163void AliITSvPPRsymm::CreateMaterials(){
4164////////////////////////////////////////////////////////////////////////
4165 //
4166 // Create ITS materials
4167 // This function defines the default materials used in the Geant
4168 // Monte Carlo simulations for the geometries AliITSv1, AliITSv3,
9d2da7b3 4169 // AliITSvPPRsymm.
db915fea 4170 // In general it is automatically replaced by
4171 // the CreatMaterials routine defined in AliITSv?. Should the function
4172 // CreateMaterials not exist for the geometry version you are using this
4173 // one is used. See the definition found in AliITSv5 or the other routine
4174 // for a complete definition.
4175 //
db915fea 4176
4177 Int_t isxfld = gAlice->Field()->Integ();
4178 Float_t sxmgmx = gAlice->Field()->Max();
4179
9d2da7b3 4180 // --- Define the various materials and media for GEANT ---
db915fea 4181
9d2da7b3 4182 AliMaterial(1,"SI$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
4183 AliMedium(1,"SI$",1,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4184
4185 AliMaterial(2,"SPD SI CHIP$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
4186 AliMedium(2,"SPD SI CHIP$",2,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01, 0);
4187
4188 AliMaterial(3,"SPD SI BUS$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
4189 AliMedium(3,"SPD SI BUS$",3,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4190
4191 AliMaterial(4,"C (M55J)$",0.12011E+02,0.60000E+01,0.1930E+01,0.22100E+02,0.99900E+03);
4192 AliMedium(4,"C (M55J)$",4,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4193
4194 AliMaterial(5,"AIR$",0.14610E+02,0.73000E+01,0.12050E-02,0.30423E+05,0.99900E+03);
4195 AliMedium(5,"AIR$",5,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E-02,.10000E+01,0);
4196
4197 AliMaterial(6,"GEN AIR$",0.14610E+02,0.73000E+01,0.12050E-02,0.30423E+05,0.99900E+03);
4198 AliMedium(6,"GEN AIR$",6,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E-02,.10000E+01,0);
4199
4200 AliMaterial(7,"SDD SI CHIP$",0.374952E+02,0.178184E+02,0.24485E+01,0.76931E+01,0.99900E+03);
4201 AliMedium(7,"SDD SI CHIP$",7,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4202
4203 AliMaterial(9,"SDD C (M55J)$",0.123565E+02,0.64561E+01,0.18097E+01,0.229570E+02,0.99900E+03);
4204 AliMedium(9,"SDD C (M55J)$",9,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4205
4206 AliMaterial(10,"SDD AIR$",0.14610E+02,0.73000E+01,0.12050E-02,0.30423E+05,0.99900E+03);
4207 AliMedium(10,"SDD AIR$",10,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E-02,.10000E+01,0);
4208
4209 AliMaterial(11,"AL$",0.26982E+02,0.13000E+02,0.26989E+01,0.89000E+01,0.99900E+03);
4210 AliMedium(11,"AL$",11,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4211
4212 AliMaterial(12,"WATER$",0.14322E+02,0.72167E+01,0.10000E+01,0.35759E+02,0.94951E+02);
4213 AliMedium(12,"WATER$",12,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4214
4215 AliMaterial(14,"COPPER$",0.63546E+02,0.29000E+02,0.89600E+01,0.14300E+01,0.99900E+03);
4216 AliMedium(14,"COPPER$",14,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4217
4218 AliMaterial(15,"CERAMICS$",0.22314E+02,0.10856E+02,0.36000E+01,0.76200E+01,0.31901E+02);
4219 AliMedium(15,"CERAMICS$",15,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4220
4221 AliMaterial(20,"SSD C (M55J)$",0.12011E+02,0.60000E+01,0.1930E+01,0.22100E+02,0.99900E+03);
4222 AliMedium(20,"SSD C (M55J)$",20,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4223
4224 AliMaterial(21,"SSD AIR$",0.14610E+02,0.73000E+01,0.12050E-02,0.30423E+05,0.99900E+03);
4225 AliMedium(21,"SSD AIR$",21,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E-02,.10000E+01,0);
4226
4227 AliMaterial(25,"G10FR4$",0.17749E+02,0.88750E+01,0.18000E+01,0.21822E+02,0.99900E+03);
4228 AliMedium(25,"G10FR4$",25,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4229
4230 AliMaterial(26,"GEN C (M55J)$",0.12011E+02,0.60000E+01,0.1930E+01,0.22100E+02,0.99900E+03);
4231 AliMedium(26,"GEN C (M55J)$",26,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4232
4233 AliMaterial(27,"GEN Air$",0.14610E+02,0.73000E+01,0.12050E-02,0.30423E+05,0.99900E+03);
4234 AliMedium(27,"GEN Air$",27,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E-02,.10000E+01,0);
4235
4236 AliMaterial(51,"SPD SI$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
4237 AliMedium(51,"SPD SI$",51,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4238
4239 AliMaterial(52,"SPD SI CHIP$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
4240 AliMedium(52,"SPD SI CHIP$",52,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4241
4242 AliMaterial(53,"SPD SI BUS$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
4243 AliMedium(53,"SPD SI BUS$",53,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4244
4245 AliMaterial(54,"SPD C (M55J)$",0.12011E+02,0.60000E+01,0.1930E+01,0.22100E+02,0.99900E+03);
4246 AliMedium(54,"SPD C (M55J)$",54,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4247
4248 AliMaterial(55,"SPD AIR$",0.14610E+02,0.73000E+01,0.12050E-02,0.30423E+05,0.99900E+03);
4249 AliMedium(55,"SPD AIR$",55,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E-02,.10000E+01,0);
4250
4251 AliMaterial(56,"SPD KAPTON(POLYCH2)$",0.14000E+02,0.71770E+01,0.13000E+01,0.31270E+02,0.99900E+03);
4252 AliMedium(56,"SPD KAPTON(POLYCH2)$",56,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4253
4254 AliMaterial(61,"EPOXY$",0.17749E+02,0.88750E+01,0.18000E+01,0.21822E+02,0.99900E+03);
4255 AliMedium(61,"EPOXY$",61,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4256
4257 AliMaterial(62,"SILICON$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
4258 AliMedium(62,"SILICON$",62,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4259
4260 AliMaterial(63,"KAPTONH(POLYCH2)$",0.14000E+02,0.71770E+01,0.13000E+01,0.31270E+02,0.99900E+03);
4261 AliMedium(63,"KAPTONH(POLYCH2)$",63,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4262
4263 AliMaterial(64,"ALUMINUM$",0.26982E+02,0.13000E+02,0.26989E+01,0.89000E+01,0.99900E+03);
4264 AliMedium(64,"ALUMINUM$",64,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4265
4266 AliMaterial(65,"INOX$",0.55098E+02,0.2572E+02,0.7900E+01,0.17800E+01,0.99900E+03);
4267 AliMedium(65,"INOX$",65,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4268
4269 AliMaterial(68,"ROHACELL$",0.12011E+02,0.60000E+01,0.9500E01,0.43600E+03,0.99900E+03);
4270 AliMedium(68,"ROHACELL$",68,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4271
4272 AliMaterial(69,"SDD C AL (M55J)$",0.138802E+02,0.71315E+01,0.19837E+01,0.176542E+02,0.99900E+03);
4273 AliMedium(69,"SDD C AL (M55J)$",69,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4274
4275 AliMaterial(70,"SDDKAPTON (POLYCH2)$",0.14000E+02,0.71770E+01,0.13000E+01,0.31270E+02,0.99900E+03);
4276 AliMedium(70,"SDDKAPTON (POLYCH2)$",70,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4277
4278 AliMaterial(71,"ITS SANDW A$",0.12011E+02,0.60000E+01,0.2115E+00,0.17479E+03,0.99900E+03);
4279 AliMedium(71,"ITS SANDW A$",71,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4280
4281 AliMaterial(72,"ITS SANDW B$",0.12011E+02,0.60000E+01,0.27000E+00,0.18956E+03,0.99900E+03);
4282 AliMedium(72,"ITS SANDW B$",72,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4283
4284 AliMaterial(73,"ITS SANDW C$",0.12011E+02,0.60000E+01,0.41000E+00,0.90868E+02,0.99900E+03);
4285 AliMedium(73,"ITS SANDW C$",73,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4286
4287 AliMaterial(74,"HEAT COND GLUE$",0.12011E+02,0.60000E+01,0.1930E+01,0.22100E+02,0.99900E+03);
4288 AliMedium(74,"HEAT COND GLUE$",74,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4289
4290 AliMaterial(75,"ELASTO SIL$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
4291 AliMedium(75,"ELASTO SIL$",75,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4292
4293 AliMaterial(76,"SPDBUS(AL+KPT+EPOX)$",0.19509E+02,0.96502E+01,0.19060E+01,0.15413E+02,0.99900E+03);
4294 AliMedium(76,"SPDBUS(AL+KPT+EPOX)$",76,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4295
4296 AliMaterial(77,"SDD X7R capacitors$",0.1157516E+03,0.477056E+02,0.67200E+01,0.14236E+01,0.99900E+03);
4297 AliMedium(77,"SDD X7R capacitors$",77,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4298
4299 AliMaterial(78,"SDD ruby sph. Al2O3$",0.218101E+02,0.106467E+02,0.39700E+01,0.48539E+01,0.99900E+03);
4300 AliMedium(78,"SDD ruby sph. Al2O3$",78,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4301
4302 AliMaterial(79,"SDD SI insensitive$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
4303 AliMedium(79,"SDD SI insensitive$",79,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4304
4305 AliMaterial(80,"SDD HV microcable$",0.159379E+02,0.78598E+01,0.16087E+01,0.217906E+02,0.99900E+03);
4306 AliMedium(80,"SDD HV microcable$",80,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4307
4308 AliMaterial(81,"SDD LV+signal cable$",0.223689E+02,0.108531+02,0.21035E+01,0.13440E+02,0.99900E+03);
4309 AliMedium(81,"SDD LV+signal cable$",81,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4310
4311 AliMaterial(82,"SDD hybrid microcab$",0.218254E+02,0.106001E+02,0.20502E+01,0.137308E+02,0.99900E+03);
4312 AliMedium(82,"SDD hybrid microcab$",82,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4313
4314 AliMaterial(83,"SDD anode microcab$",0.186438E+02,0.91193E+01,0.17854E+01,0.176451E+02,0.99900E+03);
4315 AliMedium(83,"SDD anode microcab$",83,0,isxfld,sxmgmx,.10000E+01,.10000E+01,0.30000E02,.10000E+01,0);
4316
4317 // Special media
4318
4319 AliMaterial(90,"SPD shield$", 12.011, 6., 1.93/10. , 22.1*10., 999);
4320 AliMedium(90,"SPD shield$",90, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
4321
4322 AliMaterial(91, "SPD End ladder$", 55.845, 26., 7.87/10., 1.76*10., 999);
4323 AliMedium(91, "SPD End ladder$",91, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
4324
4325 AliMaterial(92, "SPD cone$",28.0855, 14., 2.33, 9.36, 999);
4326 AliMedium(92, "SPD cone$", 92, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
4327
4328 AliMaterial(93, "SDD End ladder$", 69.9298, 29.8246, 0.3824, 36.5103, 999);
4329 AliMedium(93, "SDD End ladder$",93, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
4330
4331 AliMaterial(94, "SDD cone$",63.546, 29., 1.15, 1.265, 999);
4332 AliMedium(94, "SDD cone$", 94, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
4333
4334 AliMaterial(95, "SSD End ladder$", 32.0988, 15.4021, 0.68, 35.3238, 999);
4335 AliMedium(95, "SSD End ladder$",95, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
4336
4337 AliMaterial(96, "SSD cone$",63.546, 29., 1.15, 1.265, 999);
4338 AliMedium(96, "SSD cone$", 96, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
4339
db915fea 4340
4341}
bae7e562 4342//______________________________________________________________________
4343void AliITSvPPRsymm::InitAliITSgeom(){
4344// Based on the geometry tree defined in Geant 3.21, this
4345// routine initilizes the Class AliITSgeom from the Geant 3.21 ITS geometry
4346// sturture.
9a4c6ea3 4347 if(!(dynamic_cast<TGeant3*>(gMC))) {
bae7e562 4348 Error("InitAliITSgeom",
4349 "Wrong Monte Carlo. InitAliITSgeom uses TGeant3 calls");
4350 return;
4351 } // end if
4352 cout << "Reading Geometry transformation directly from Geant 3." << endl;
4353 const Int_t nlayers = 6;
9d2da7b3 4354 const Int_t ndeep = 9;
bae7e562 4355 Int_t itsGeomTreeNames[nlayers][ndeep],lnam[20],lnum[20];
4356 Int_t nlad[nlayers],ndet[nlayers];
4357 Double_t t[3],r[10];
4358 Float_t par[20],att[20];
4359 Int_t npar,natt,idshape,imat,imed;
4360 AliITSGeant3Geometry *ig = new AliITSGeant3Geometry();
4361 Int_t mod,lay,lad,det,i,j,k;
9d2da7b3 4362 Char_t names[nlayers][ndeep][4];
4363 Int_t itsGeomTreeCopys[nlayers][ndeep];
4364 if(fMinorVersion == 1){ // Option A
4365 Char_t *namesA[nlayers][ndeep] = {
4366 {"ALIC","ITSV","ITSD","IT12","I12A","I10A","I103","I101","ITS1"}, // lay=1
4367 {"ALIC","ITSV","ITSD","IT12","I12A","I20A","I1D3","I1D1","ITS2"}, // lay=2
4368 {"ALIC","ITSV","ITSD","IT34","I004","I302","ITS3"," "," "}, // lay=3
4369 {"ALIC","ITSV","ITSD","IT34","I005","I402","ITS4"," "," "}, // lay=4
4370 {"ALIC","ITSV","ITSD","IT56","I565","I562","ITS5"," "," "}, // lay=5
4371 {"ALIC","ITSV","ITSD","IT56","I569","I566","ITS6"," "," "}};// lay=6
4372 Int_t itsGeomTreeCopysA[nlayers][ndeep]= {{1,1,1,1,10, 2, 4,1,1},// lay=1
4373 {1,1,1,1,10, 4, 4,1,1},// lay=2
4374 {1,1,1,1,14, 6, 1,0,0},// lay=3
4375 {1,1,1,1,22, 8, 1,0,0},// lay=4
4376 {1,1,1,1,34,22, 1,0,0},// lay=5
4377 {1,1,1,1,38,25, 1,0,0}};//lay=6
4378 for(i=0;i<nlayers;i++)for(j=0;j<ndeep;j++){
4379 for(k=0;k<4;k++) names[i][j][k] = namesA[i][j][k];
4380 itsGeomTreeCopys[i][j] = itsGeomTreeCopysA[i][j];
4381 } // end for i,j
4382 }else if(fMinorVersion == 2){ // Option B
4383 Char_t *namesB[nlayers][ndeep] = {
4384 {"ALIC","ITSV","ITSD","IT12","I12B","I10B","I107","I101","ITS1"}, // lay=1
4385 {"ALIC","ITSV","ITSD","IT12","I12B","I20B","I1D7","I1D1","ITS2"}, // lay=2
4386 {"ALIC","ITSV","ITSD","IT34","I004","I302","ITS3"," "," "}, // lay=3
4387 {"ALIC","ITSV","ITSD","IT34","I005","I402","ITS4"," "," "}, // lay=4
4388 {"ALIC","ITSV","ITSD","IT56","I565","I562","ITS5"," "," "}, // lay=5
4389 {"ALIC","ITSV","ITSD","IT56","I569","I566","ITS6"," "," "}};// lay=6
4390 Int_t itsGeomTreeCopysB[nlayers][ndeep]= {{1,1,1,1,10, 2, 4,1,1},// lay=1
4391 {1,1,1,1,10, 4, 4,1,1},// lay=2
4392 {1,1,1,1,14, 6, 1,0,0},// lay=3
4393 {1,1,1,1,22, 8, 1,0,0},// lay=4
4394 {1,1,1,1,34,22, 1,0,0},// lay=5
4395 {1,1,1,1,38,25, 1,0,0}};//lay=6
4396 for(i=0;i<nlayers;i++)for(j=0;j<ndeep;j++){
4397 for(k=0;k<4;k++) names[i][j][k] = namesB[i][j][k];
4398 itsGeomTreeCopys[i][j] = itsGeomTreeCopysB[i][j];
4399 } // end for i,j
4400 } // end if fMinorVersion
bae7e562 4401 // Sorry, but this is not very pritty code. It should be replaced
4402 // at some point with a version that can search through the geometry
4403 // tree its self.
4404 cout << "Reading Geometry informaton from Geant3 common blocks" << endl;
4405 for(i=0;i<20;i++) lnam[i] = lnum[i] = 0;
4406 for(i=0;i<nlayers;i++)for(j=0;j<ndeep;j++)
4407 itsGeomTreeNames[i][j] = ig->StringToInt(names[i][j]);
4408 mod = 0;
4409 for(i=0;i<nlayers;i++){
4410 k = 1;
4411 for(j=0;j<ndeep;j++) if(itsGeomTreeCopys[i][j]!=0)
4412 k *= TMath::Abs(itsGeomTreeCopys[i][j]);
4413 mod += k;
4414 } // end for i
4415
4416 if(fITSgeom!=0) delete fITSgeom;
4417 nlad[0]=20;nlad[1]=40;nlad[2]=14;nlad[3]=22;nlad[4]=34;nlad[5]=38;
9d2da7b3 4418 ndet[0]=4;ndet[1]=4;ndet[2]=6;ndet[3]=8;ndet[4]=22;ndet[5]=25;
bae7e562 4419 fITSgeom = new AliITSgeom(0,6,nlad,ndet,mod);
4420 mod = -1;
4421 for(lay=1;lay<=nlayers;lay++){
4422 for(j=0;j<ndeep;j++) lnam[j] = itsGeomTreeNames[lay-1][j];
4423 for(j=0;j<ndeep;j++) lnum[j] = itsGeomTreeCopys[lay-1][j];
4424 switch (lay){
4425 case 1: case 2: // layers 1 and 2 are a bit special
4426 lad = 0;
4427 for(j=1;j<=itsGeomTreeCopys[lay-1][4];j++){
4428 lnum[4] = j;
4429 for(k=1;k<=itsGeomTreeCopys[lay-1][5];k++){
4430 lad++;
4431 lnum[5] = k;
4432 for(det=1;det<=itsGeomTreeCopys[lay-1][6];det++){
4433 lnum[6] = det;
4434 mod++;
4435 ig->GetGeometry(ndeep,lnam,lnum,t,r,idshape,npar,natt,
4436 par,att,imat,imed);
4437 fITSgeom->CreatMatrix(mod,lay,lad,det,kSPD,t,r);
4438 if(!(fITSgeom->IsShapeDefined((Int_t)kSPD)))
bae7e562 4439 fITSgeom->ReSetShape(kSPD,
4440 new AliITSgeomSPD425Short());
4441 } // end for det
4442 } // end for k
4443 } // end for j
4444 break;
4445 case 3: case 4: case 5: case 6: // layers 3-6
4446 lnum[6] = 1;
4447 for(lad=1;lad<=itsGeomTreeCopys[lay-1][4];lad++){
4448 lnum[4] = lad;
4449 for(det=1;det<=itsGeomTreeCopys[lay-1][5];det++){
4450 lnum[5] = det;
4451 mod++;
4452 ig->GetGeometry(7,lnam,lnum,t,r,idshape,npar,natt,
4453 par,att,imat,imed);
4454 switch (lay){
4455 case 3: case 4:
4456 fITSgeom->CreatMatrix(mod,lay,lad,det,kSDD,t,r);
4457 if(!(fITSgeom->IsShapeDefined(kSDD)))
4458 fITSgeom->ReSetShape(kSDD,new AliITSgeomSDD256());
4459 break;
4460 case 5:
4461 fITSgeom->CreatMatrix(mod,lay,lad,det,kSSD,t,r);
4462 if(!(fITSgeom->IsShapeDefined(kSSD)))
9d2da7b3 4463 fITSgeom->ReSetShape(kSSD,
4464 new AliITSgeomSSD275and75());
bae7e562 4465 break;
4466 case 6:
4467 fITSgeom->CreatMatrix(mod,lay,lad,det,kSSDp,t,r);
4468 if(!(fITSgeom->IsShapeDefined(kSSDp)))
9d2da7b3 4469 fITSgeom->ReSetShape(kSSDp,
4470 new AliITSgeomSSD75and275());
bae7e562 4471 break;
4472 } // end switch
4473 } // end for det
4474 } // end for lad
4475 break;
4476 } // end switch
4477 } // end for lay
4478 return;
4479}
db915fea 4480//_____________________________________________________________________________
4481void AliITSvPPRsymm::Init(){
4482////////////////////////////////////////////////////////////////////////
4483// Initialise the ITS after it has been created.
4484////////////////////////////////////////////////////////////////////////
bae7e562 4485 Int_t i;
db915fea 4486
bae7e562 4487 cout << endl;
9d2da7b3 4488 for(i=0;i<26;i++) cout << "*";
4489 cout << " ITSvPPRsymm" << fMinorVersion << "_Init ";
4490 for(i=0;i<25;i++) cout << "*";cout << endl;
bae7e562 4491//
4492 if(fRead[0]=='\0') strncpy(fRead,fEuclidGeomDet,60);
4493 if(fWrite[0]=='\0') strncpy(fWrite,fEuclidGeomDet,60);
4494 if(fITSgeom!=0) delete fITSgeom;
4495 fITSgeom = new AliITSgeom();
4496 if(fGeomDetIn) fITSgeom->ReadNewFile(fRead);
4497 if(!fGeomDetIn) this->InitAliITSgeom();
4498 if(fGeomDetOut) fITSgeom->WriteNewFile(fWrite);
db915fea 4499 AliITS::Init();
bae7e562 4500//
4501 for(i=0;i<72;i++) cout << "*";
4502 cout << endl;
4503}
db915fea 4504//_____________________________________________________________________________
4505void AliITSvPPRsymm::DrawModule(){
4506////////////////////////////////////////////////////////////////////////
4507// Draw a shaded view of the FMD version 9.
4508////////////////////////////////////////////////////////////////////////
4509
4510 // Set everything unseen
4511 gMC->Gsatt("*", "seen", -1);
4512 //
4513 // Set ALIC mother visible
4514 gMC->Gsatt("ALIC","SEEN",0);
4515 //
4516 // Set the volumes visible
4517 gMC->Gsatt("ITSD","SEEN",0);
4518 gMC->Gsatt("ITS1","SEEN",1);
4519 gMC->Gsatt("ITS2","SEEN",1);
4520 gMC->Gsatt("ITS3","SEEN",1);
4521 gMC->Gsatt("ITS4","SEEN",1);
4522 gMC->Gsatt("ITS5","SEEN",1);
4523 gMC->Gsatt("ITS6","SEEN",1);
4524
4525 gMC->Gsatt("IPCB","SEEN",1);
4526 gMC->Gsatt("ICO2","SEEN",1);
4527 gMC->Gsatt("ICER","SEEN",0);
4528 gMC->Gsatt("ISI2","SEEN",0);
4529 gMC->Gsatt("IPLA","SEEN",0);
4530 gMC->Gsatt("ICO3","SEEN",0);
4531 gMC->Gsatt("IEPX","SEEN",0);
4532 gMC->Gsatt("ISI3","SEEN",1);
4533 gMC->Gsatt("ISUP","SEEN",0);
4534 gMC->Gsatt("ICHO","SEEN",0);
4535 gMC->Gsatt("ICMO","SEEN",0);
4536 gMC->Gsatt("ICMD","SEEN",0);
4537 gMC->Gsatt("ICCO","SEEN",1);
4538 gMC->Gsatt("ICCM","SEEN",0);
4539 gMC->Gsatt("ITMD","SEEN",0);
4540 gMC->Gsatt("ITTT","SEEN",1);
4541
4542 //
4543 gMC->Gdopt("hide", "on");
4544 gMC->Gdopt("shad", "on");
4545 gMC->Gsatt("*", "fill", 7);
4546 gMC->SetClipBox(".");
4547 gMC->SetClipBox("*", 0, 300, -300, 300, -300, 300);
4548 gMC->DefaultRange();
4549 gMC->Gdraw("alic", 40, 30, 0, 11, 10, .07, .07);
4550 gMC->Gdhead(1111, "Inner Tracking System Version 1");
4551 gMC->Gdman(17, 6, "MAN");
4552}
4553//_____________________________________________________________________________
4554void AliITSvPPRsymm::StepManager(){
4555////////////////////////////////////////////////////////////////////////
9d2da7b3 4556// Called for every step in the ITS, then calles the AliITShit class
db915fea 4557// creator with the information to be recoreded about that hit.
9d2da7b3 4558// The value of the macro ALIITSPRINTGEOM if set to 1 will allow the
4559// printing of information to a file which can be used to create a .det
4560// file read in by the routine CreateGeometry(). If set to 0 or any other
4561// value except 1, the default behavior, then no such file is created nor
4562// it the extra variables and the like used in the printing allocated.
db915fea 4563////////////////////////////////////////////////////////////////////////
db915fea 4564 Int_t copy, id;
9d2da7b3 4565 Int_t copy1,copy2;
db915fea 4566 Float_t hits[8];
4567 Int_t vol[4];
4568 TLorentzVector position, momentum;
9d2da7b3 4569 TClonesArray &lhits = *fHits;
db915fea 4570 //
4571 // Track status
4572 vol[3] = 0;
4573 if(gMC->IsTrackInside()) vol[3] += 1;
4574 if(gMC->IsTrackEntering()) vol[3] += 2;
4575 if(gMC->IsTrackExiting()) vol[3] += 4;
4576 if(gMC->IsTrackOut()) vol[3] += 8;
4577 if(gMC->IsTrackDisappeared()) vol[3] += 16;
4578 if(gMC->IsTrackStop()) vol[3] += 32;
4579 if(gMC->IsTrackAlive()) vol[3] += 64;
4580 //
4581 // Fill hit structure.
9d2da7b3 4582 if(!(gMC->TrackCharge())) return;
4583 //
4584 // Only entering charged tracks
4585 if((id = gMC->CurrentVolID(copy)) == fIdSens[0]) {
4586 vol[0] = 1;
4587 id = gMC->CurrentVolOffID(0,copy);
4588 //detector copy in the ladder = 1<->4 (ITS1 < I101 < I103 < I10A)
4589 vol[1] = copy;
4590 gMC->CurrentVolOffID(1,copy1);
4591 //ladder copy in the module = 1<->2 (I10A < I12A)
4592 gMC->CurrentVolOffID(2,copy2);
4593 //module copy in the layer = 1<->10 (I12A < IT12)
4594 vol[2] = copy1+(copy2-1)*2;//# of ladders in one module = 2
4595 } else if(id == fIdSens[1]){
4596 vol[0] = 2;
4597 id = gMC->CurrentVolOffID(0,copy);
4598 //detector copy in the ladder = 1<->4 (ITS2 < I1D1 < I1D3 < I20A)
4599 vol[1] = copy;
4600 gMC->CurrentVolOffID(1,copy1);
4601 //ladder copy in the module = 1<->4 (I20A < I12A)
4602 gMC->CurrentVolOffID(2,copy2);
4603 //module copy in the layer = 1<->10 (I12A < IT12)
4604 vol[2] = copy1+(copy2-1)*4;//# of ladders in one module = 4
4605 } else if(id == fIdSens[2]){
4606 vol[0] = 3;
4607 id = gMC->CurrentVolOffID(1,copy);
4608 //detector copy in the ladder = 1<->6 (ITS3 < I302 < I004)
4609 vol[1] = copy;
4610 id = gMC->CurrentVolOffID(2,copy);
4611 //ladder copy in the layer = 1<->14 (I004 < IT34)
4612 vol[2] = copy;
4613 } else if(id == fIdSens[3]){
4614 vol[0] = 4;
4615 id = gMC->CurrentVolOffID(1,copy);
4616 //detector copy in the ladder = 1<->8 (ITS4 < I402 < I005)
4617 vol[1] = copy;
4618 id = gMC->CurrentVolOffID(2,copy);
4619 //ladder copy in the layer = 1<->22 (I005 < IT34))
4620 vol[2] = copy;
4621 }else if(id == fIdSens[4]){
4622 vol[0] = 5;
4623 id = gMC->CurrentVolOffID(1,copy);
4624 //detector copy in the ladder = 1<->22 (ITS5 < I562 < I565)
4625 vol[1] = copy;
4626 id = gMC->CurrentVolOffID(2,copy);
4627 //ladder copy in the layer = 1<->34 (I565 < IT56)
4628 vol[2] = copy;
4629 }else if(id == fIdSens[5]){
4630 vol[0] = 6;
4631 id = gMC->CurrentVolOffID(1,copy);
4632 //detector copy in the ladder = 1<->25 (ITS6 < I566 < I569)
4633 vol[1] = copy;
4634 id = gMC->CurrentVolOffID(2,copy);
4635 //ladder copy in the layer = 1<->38 (I569 < IT56)
4636 vol[2] = copy;
4637 } else {
4638 return; // not an ITS volume?
4639 } // end if/else if (gMC->CurentVolID(copy) == fIdSens[i])
db915fea 4640//
9d2da7b3 4641 gMC->TrackPosition(position);
4642 gMC->TrackMomentum(momentum);
4643 hits[0]=position[0];
4644 hits[1]=position[1];
4645 hits[2]=position[2];
4646 hits[3]=momentum[0];
4647 hits[4]=momentum[1];
4648 hits[5]=momentum[2];
4649 hits[6]=gMC->Edep();
4650 hits[7]=gMC->TrackTime();
4651 // Fill hit structure with this new hit.
4652 new(lhits[fNhits++]) AliITShit(fIshunt,gAlice->CurrentTrack(),vol,hits);
4653
4654 return;
4655
db915fea 4656}