1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
18 Revision 1.8 2001/03/13 08:36:24 hristov
19 fabsf replaced by TMath::Abs
21 Revision 1.7 2001/03/13 00:43:43 barbera
22 Updated 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
24 Revision 1.6 2001/02/13 16:53:35 nilsen
25 Fixed a but when trying to use GEANT4. Needed to replace
26 if(!((TGeant3*)gMC)) with if(!(dynamic_casst<TGeant3*>(gMC)))
27 because just casting gMC to be TGeant3* even when it realy is a TGeant3 pointer
28 did not result in a zero value. For AliITSv5asymm and AliITSv5symm, needed
29 to fix a bug in the initilizers and a bug in BuildGeometry. This is now done
30 in the same way as in AliITSv5.cxx.
32 Revision 1.5 2001/02/09 20:06:26 nilsen
33 Fixed bug in distructor. Can't distroy fixxed length arrays. Thanks Peter.
35 Revision 1.4 2001/02/09 00:05:31 nilsen
36 Added fMajor/MinorVersion variables and made other changes to better make
37 use of the new code changes in AliITSgeom related classes.
39 Revision 1.3 2001/01/30 09:23:13 hristov
40 Streamers removed (R.Brun)
42 Revision 1.2 2001/01/26 20:01:19 hristov
43 Major upgrade of AliRoot code
45 Revision 1.1.2.1 2001/01/15 13:38:32 barbera
46 New ITS detailed geometry to be used for the PPR
48 Revision 1.12 2000/12/10 16:00:44 barbera
49 Added last definition of special media like end-ladder boxes and cones
51 Revision 1.11 2000/10/30 08:02:25 barbera
52 PCON's changed into simpler CONS and TUBS. Services now allow for the rails to go through them.
54 Revision 1.3.2.7 2000/10/27 17:20:00 barbera
55 Position of rails w.r.t. the interaction point corrected.
57 Revision 1.9 2000/10/27 13:31:29 barbera
58 Rails between ITS and TPC added.
60 Revision 1.8 2000/10/27 13:03:08 barbera
61 Small changes in the SPD volumes and materials
63 Revision 1.6 2000/10/16 14:45:37 barbera
64 Mother volume ITSD modified to avoid some overlaps
66 Revision 1.5 2000/10/16 13:49:15 barbera
67 Services volumes slightly modified and material added following Pierluigi Barberis' information
69 Revision 1.4 2000/10/07 15:33:07 barbera
70 Small corrections to the ITSV mother volume
72 Revision 1.3 2000/10/07 13:06:50 barbera
73 Some new materials and media defined
75 Revision 1.2 2000/10/07 10:42:43 barbera
76 Mother volume ITSV corrected
78 Revision 1.1 2000/10/06 23:09:12 barbera
79 New geometry (symmetric services
81 Revision 1.20 2000/10/02 21:28:08 fca
82 Removal of useless dependecies via forward declarations
84 Revision 1.19 2000/07/10 16:07:19 fca
85 Release version of ITS code
87 Revision 1.14.2.2 2000/05/19 10:09:21 nilsen
88 fix for bug with HP and Sun unix + fix for event display in ITS-working branch
90 Revision 1.14.2.1 2000/03/04 23:45:19 nilsen
91 Fixed up the comments/documentation.
93 Revision 1.14 1999/11/25 06:52:56 fca
96 Revision 1.13.2.1 1999/11/25 06:52:21 fca
99 Revision 1.13 1999/10/27 11:16:26 fca
100 Correction of problem in geometry
102 Revision 1.12 1999/10/22 08:25:25 fca
103 remove double definition of destructors
105 Revision 1.11 1999/10/22 08:16:49 fca
106 Correct destructors, thanks to I.Hrivnacova
108 Revision 1.10 1999/10/06 19:56:50 fca
111 Revision 1.9 1999/10/05 08:05:09 fca
112 Minor corrections for uninitialised variables.
114 Revision 1.8 1999/09/29 09:24:20 fca
115 Introduction of the Copyright and cvs Log
119 //////////////////////////////////////////////////////////////////////////////
121 // Inner Traking System version PPR symmetric //
122 // This class contains the base procedures for the Inner Tracking System //
124 // Authors: R. Barbera //
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. //
133 //////////////////////////////////////////////////////////////////////////////
134 // See AliITSvPPRsymm::StepManager().
135 #include <iostream.h>
140 #include <TGeometry.h>
143 #include <TFile.h> // only required for Tracking function?
145 #include <TObjArray.h>
146 #include <TLorentzVector.h>
147 #include <TObjString.h>
148 #include <TClonesArray.h>
155 #include "AliConst.h"
156 #include "../TGeant3/TGeant3.h"
157 #include "AliITSGeant3Geometry.h"
158 #include "AliITShit.h"
160 #include "AliITSvPPRsymm.h"
161 #include "AliITSgeom.h"
162 #include "AliITSgeomSPD.h"
163 #include "AliITSgeomSDD.h"
164 #include "AliITSgeomSSD.h"
167 ClassImp(AliITSvPPRsymm)
169 //_____________________________________________________________________________
170 AliITSvPPRsymm::AliITSvPPRsymm() {
171 ////////////////////////////////////////////////////////////////////////
172 // Standard default constructor for the ITS version 9.
173 ////////////////////////////////////////////////////////////////////////
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();
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';
188 //_____________________________________________________________________________
189 AliITSvPPRsymm::AliITSvPPRsymm(const char *name, const char *title) : AliITS(name, title){
190 ////////////////////////////////////////////////////////////////////////
191 // Standard constructor for the ITS version 9.
192 ////////////////////////////////////////////////////////////////////////
196 fIdName = new TString[fIdN];
203 fIdSens = new Int_t[fIdN];
204 for (i=0;i<fIdN;i++) fIdSens[i] = 0;
205 fMajorVersion = IsVersion();
207 fEuclidOut = kFALSE; // Don't write Euclide file
208 fGeomDetOut = kFALSE; // Don't write .det file
209 fGeomDetIn = kTRUE; // Read .det file
215 fEuclidGeometry="$ALICE_ROOT/ITS/ITSgeometry_vPPRsymm2.euc";
216 strncpy(fEuclidGeomDet,"$ALICE_ROOT/ITS/ITSgeometry_vPPRsymm2.det",60);
217 strncpy(fRead,fEuclidGeomDet,60);
218 strncpy(fWrite,fEuclidGeomDet,60);
221 //____________________________________________________________________________
222 AliITSvPPRsymm::AliITSvPPRsymm(const AliITSvPPRsymm &source){
223 ////////////////////////////////////////////////////////////////////////
224 // Copy Constructor for ITS version 9.
225 ////////////////////////////////////////////////////////////////////////
226 if(&source == this) return;
227 Warning("Copy Constructor","Not allowed to copy AliITSvPPRsymm");
230 //_____________________________________________________________________________
231 AliITSvPPRsymm& AliITSvPPRsymm::operator=(const AliITSvPPRsymm &source){
232 ////////////////////////////////////////////////////////////////////////
233 // Assignment operator for the ITS version 9.
234 ////////////////////////////////////////////////////////////////////////
235 if(&source == this) return *this;
236 Warning("= operator","Not allowed to copy AliITSvPPRsymm");
239 //_____________________________________________________________________________
240 AliITSvPPRsymm::~AliITSvPPRsymm() {
241 ////////////////////////////////////////////////////////////////////////
242 // Standard destructor for the ITS version 9.
243 ////////////////////////////////////////////////////////////////////////
245 //__________________________________________________________________________
246 void AliITSvPPRsymm::BuildGeometry(){
247 ////////////////////////////////////////////////////////////////////////
248 // Geometry builder for the ITS version 9.
249 ////////////////////////////////////////////////////////////////////////
251 const int kColorITS=kYellow;
253 top = gAlice->GetGeometry()->GetNode("alice");
255 new TTUBE("S_layer1","Layer1 of ITS","void",3.95,3.95+0.05475,12.25);
257 node = new TNode("Layer1","Layer1","S_layer1",0,0,0,"");
258 node->SetLineColor(kColorITS);
261 new TTUBE("S_layer2","Layer2 of ITS","void",7.,7.+0.05475,16.3);
263 node = new TNode("Layer2","Layer2","S_layer2",0,0,0,"");
264 node->SetLineColor(kColorITS);
267 new TTUBE("S_layer3","Layer3 of ITS","void",15.,15.+0.05288,21.1);
269 node = new TNode("Layer3","Layer3","S_layer3",0,0,0,"");
270 node->SetLineColor(kColorITS);
273 new TTUBE("S_layer4","Layer4 of ITS","void",24,24+0.05288,29.6);
275 node = new TNode("Layer4","Layer4","S_layer4",0,0,0,"");
276 node->SetLineColor(kColorITS);
279 new TTUBE("S_layer5","Layer5 of ITS","void",40,40+0.05382,45.1);
281 node = new TNode("Layer5","Layer5","S_layer5",0,0,0,"");
282 node->SetLineColor(kColorITS);
285 new TTUBE("S_layer6","Layer6 of ITS","void",45,45+0.05382,50.4);
287 node = new TNode("Layer6","Layer6","S_layer6",0,0,0,"");
288 node->SetLineColor(kColorITS);
291 //_____________________________________________________________________________
292 void AliITSvPPRsymm::CreateGeometry(){
293 ////////////////////////////////////////////////////////////////////////
294 // This routine defines and Creates the geometry for version 9 of the ITS.
295 ////////////////////////////////////////////////////////////////////////
297 //INNER RADII OF THE SILICON LAYERS
298 // Float_t rl[6] = { 3.8095,7.,15.,24.,38.1,43.5765 };
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
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. };
312 Float_t dits[50], rlim, zmax;
316 Int_t idrotm[1999], i;
320 // Define some variables for SPD
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
328 Float_t ddet1=300.; // total detector thickness on layer 1 (micron)
329 Float_t dchip1=300.; // total chip thickness on layer 1 (micron)
331 Float_t ddet2=300.; // total detector thickness on layer 2 (micron)
332 Float_t dchip2=300.; // total chip thickness on layer 2 (micron)
334 Float_t dbus=200.; // total bus thickness on both layers (micron)
336 ddet1 = GetThicknessDet1();
337 ddet2 = GetThicknessDet2();
338 dchip1 = GetThicknessChip1();
339 dchip2 = GetThicknessChip2();
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;
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;
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;
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;
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
372 Float_t deltax, deltay;
374 Int_t thickness = fMinorVersion/10;
375 Int_t option = fMinorVersion - 10*thickness;
378 // Define some variables for SDD
381 Float_t sin30, cos30;
383 // SDD electronics+services main volumes
384 Float_t I018dits[3], I024dits[3], I047dits[3], I048dits[3];
386 // SDD detector ladder
388 Float_t I302dits[3], I402dits[3], I004dits[3], I005dits[3];
389 Float_t Y_SDD_sep = 0.20;
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};
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;
400 Float_t I029dits[4], I030dits[4], I031dits[3], I032dits[3];
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;
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;
420 Float_t I044dits[4], xI044, yI044, volI044;
421 Float_t xHV, yHV, zHV, xLV, yLV, zLV;
422 Char_t HVname[5], LVname[5];
425 // Define media off-set
427 Int_t *idtmed = fIdtmed->GetArray()-199;
432 // SPD - option 'a' (this is NOT the default so leave commented)
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);
517 // SPD - option 'b' (this is the default)
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);
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);
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);
697 AliMatrix(idrotm[535],90.0,198.95,90.0,288.95,0.0,0.0);
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);
714 AliMatrix(idrotm[553],90.0,18.95,90.0,108.95,0.0,0.0);
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);
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);
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);
876 AliMatrix(idrotm[200], 90., 0., 90., 90., 180., 0.);
879 // CONVERT INTO CM (RL(SI)=9.36 CM)
881 for (i = 0; i < 6; ++i) {
882 drl[i] = drl[i] / 100. * 9.36;
885 // FIELD CAGE HALF LENGTH
891 // --- Define ghost volume containing the whole ITS (including services)
892 // and fill it with air
897 dgh[3] = -xltpc-5.-0.1;
950 dgh[36] = xltpc+4.+0.1;
953 gMC->Gsvolu("ITSV", "PCON", idtmed[205], dgh, 39);
955 // --- Place the ghost volume in its mother volume (ALIC) and make it
958 gMC->Gspos("ITSV", 1, "ALIC", 0., 0., 0., 0, "ONLY");
959 //gMC->Gsatt("ITSV", "SEEN", 0);
962 // --- Define ghost volume containing the six layers and fill it with air
979 gMC->Gsvolu("ITSD", "PCON", idtmed[205], dgh, 15);
981 // --- Place the ghost volume in its mother volume (ITSV) and make it
984 gMC->Gspos("ITSD", 1, "ITSV", 0., 0., 0., 0, "ONLY");
985 //gMC->Gsatt("ITSD", "SEEN", 0);
988 // --- Define SPD (option 'a') volumes ----------------------------
991 // (this is NOT the default)
998 gMC->Gsvolu("IT12", "TUBE", idtmed[254], dits, 3);
1005 gMC->Gsvolu("I12A", "TUBS", idtmed[254], dits, 5); // sector
1008 di10a[1] = ddet1+dchip1+dbus+0.0025;
1010 gMC->Gsvolu("I10A", "BOX ", idtmed[254], di10a, 3); // mother volume
1013 di20a[1] = ddet2+dchip2+dbus+0.0025;
1015 gMC->Gsvolu("I20A", "BOX ", idtmed[254], di20a, 3); // mother volume
1020 gMC->Gsvolu("I123", "BOX ", idtmed[253], dits, 3);
1027 gMC->Gsvolu("I121", "TUBS", idtmed[253], dits, 5);
1032 gMC->Gsvolu("I122", "BOX ", idtmed[253], dits, 3);
1039 gMC->Gsvolu("I120", "TUBS", idtmed[253], dits, 5);
1044 gMC->Gsvolu("I144", "BOX ", idtmed[253], dits, 3);
1049 gMC->Gsvolu("I113", "BOX ", idtmed[254], dits, 3);
1054 gMC->Gsvolu("I143", "BOX ", idtmed[253], dits, 3);
1061 gMC->Gsvolu("I142", "TUBS", idtmed[253], dits, 5);
1066 gMC->Gsvolu("I141", "BOX ", idtmed[253], dits, 3);
1073 gMC->Gsvolu("I140", "TUBS", idtmed[253], dits, 5);
1078 gMC->Gsvolu("I139", "BOX ", idtmed[253], dits, 3);
1083 gMC->Gsvolu("I138", "BOX ", idtmed[253], dits, 3);
1090 gMC->Gsvolu("I137", "TUBS", idtmed[253], dits, 5);
1095 gMC->Gsvolu("I136", "BOX ", idtmed[253], dits, 3);
1102 gMC->Gsvolu("I135", "TUBS", idtmed[253], dits, 5);
1107 gMC->Gsvolu("I134", "BOX ", idtmed[253], dits, 3);
1112 gMC->Gsvolu("I133", "BOX ", idtmed[253], dits, 3);
1119 gMC->Gsvolu("I132", "TUBS", idtmed[253], dits, 5);
1124 gMC->Gsvolu("I131", "BOX ", idtmed[253], dits, 3);
1131 gMC->Gsvolu("I130", "TUBS", idtmed[253], dits, 5);
1136 gMC->Gsvolu("I129", "BOX ", idtmed[253], dits, 3);
1141 gMC->Gsvolu("I128", "BOX ", idtmed[253], dits, 3);
1148 gMC->Gsvolu("I126", "TUBS", idtmed[253], dits, 5);
1153 gMC->Gsvolu("I125", "BOX ", idtmed[253], dits, 3);
1160 gMC->Gsvolu("I124", "TUBS", idtmed[253], dits, 5);
1163 di103[1] = ddet1+dchip1;
1165 gMC->Gsvolu("I103", "BOX ", idtmed[254], di103, 3); // contains det and chip
1170 gMC->Gsvolu("I105", "BOX ", idtmed[201], dits, 3);
1175 gMC->Gsvolu("I104", "BOX ", idtmed[275], di104, 3); // bus for both layers
1178 di1d3[1] = ddet2+dchip2;
1180 gMC->Gsvolu("I1D3", "BOX ", idtmed[254], di1d3, 3); // contains det and chip
1188 gMC->Gsvolu("I112", "TUBS", idtmed[253], dits, 5);
1195 gMC->Gsvolu("I111", "TUBS", idtmed[253], dits, 5);
1200 gMC->Gsvolu("I118", "BOX ", idtmed[273], dits, 3);
1205 gMC->Gsvolu("I110", "BOX ", idtmed[253], dits, 3);
1212 gMC->Gsvolu("I114", "TUBS", idtmed[264], dits, 5);
1219 gMC->Gsvolu("I115", "TUBS", idtmed[211], dits, 5);
1224 gMC->Gsvolu("I116", "BOX ", idtmed[264], dits, 3);
1229 gMC->Gsvolu("I102", "BOX ", idtmed[201], di102, 3); // chip layer 1
1234 gMC->Gsvolu("I1D2", "BOX ", idtmed[201], di1d2, 3); // chip layer 2
1239 gMC->Gsvolu("I101", "BOX ", idtmed[250], di101, 3); // contains detector
1244 gMC->Gsvolu("I1D1", "BOX ", idtmed[250], di1d1, 3); // contains detector
1249 gMC->Gsvolu("I117", "BOX ", idtmed[211], dits, 3);
1254 gMC->Gsvolu("ITS1", "BOX ", idtmed[200], dits1, 3); // detector layer 1
1259 gMC->Gsvolu("ITS2", "BOX ", idtmed[200], dits2, 3); // detector layer 2
1266 gMC->Gsvolu("I650", "TUBS", idtmed[254], dits, 5); // was I150 in old geom.
1271 gMC->Gsvolu("I676", "TUBE", idtmed[274], dits, 3); // was I176 in old geom.
1276 gMC->Gsvolu("I673", "TUBE", idtmed[274], dits, 3); // was I173 in old geom.
1281 gMC->Gsvolu("I671", "TUBE", idtmed[274], dits, 3); // was I171 in old geom.
1286 gMC->Gsvolu("I669", "TUBE", idtmed[264], dits, 3); // was I169 in old geom.
1293 gMC->Gsvolu("I667", "TUBS", idtmed[263], dits, 5); // was I167 in old geom.
1300 gMC->Gsvolu("I666", "TUBS", idtmed[263], dits, 5); // was I166 in old geom.
1305 gMC->Gsvolu("I678", "TUBE", idtmed[263], dits, 3); // was I178 in old geom.
1310 gMC->Gsvolu("I677", "TUBE", idtmed[211], dits, 3); // was I177 in old geom.
1315 gMC->Gsvolu("I675", "TUBE", idtmed[263], dits, 3); // was I175 in old geom.
1320 gMC->Gsvolu("I674", "TUBE", idtmed[211], dits, 3); // was I174 in old geom.
1325 gMC->Gsvolu("I672", "TUBE", idtmed[211], dits, 3); // was I172 in old geom.
1330 gMC->Gsvolu("I670", "TUBE", idtmed[211], dits, 3); // was I170 in old geom.
1337 gMC->Gsvolu("I668", "TUBS", idtmed[211], dits, 5); // was I168 in old geom.
1341 // --- Define SPD (option 'b') volumes ----------------------------
1344 // (this is the default)
1351 gMC->Gsvolu("IT12", "TUBE", idtmed[254], dits, 3);
1358 gMC->Gsvolu("I12B", "TUBS", idtmed[254], dits, 5); // sector
1361 di10b[1] = ddet1+dchip1+dbus+0.0025;
1363 gMC->Gsvolu("I10B", "BOX ", idtmed[254], di10b, 3); // mother volume
1367 di20b[1] = ddet2+dchip2+dbus+0.0025;
1369 gMC->Gsvolu("I20B", "BOX ", idtmed[254], di20b, 3); // mother volume
1375 gMC->Gsvolu("I123", "BOX ", idtmed[253], dits, 3);
1382 gMC->Gsvolu("I121", "TUBS", idtmed[253], dits, 5);
1387 gMC->Gsvolu("I122", "BOX ", idtmed[253], dits, 3);
1394 gMC->Gsvolu("I120", "TUBS", idtmed[253], dits, 5);
1399 gMC->Gsvolu("I144", "BOX ", idtmed[253], dits, 3);
1404 gMC->Gsvolu("I113", "BOX ", idtmed[254], dits, 3);
1409 gMC->Gsvolu("I143", "BOX ", idtmed[253], dits, 3);
1416 gMC->Gsvolu("I142", "TUBS", idtmed[253], dits, 5);
1421 gMC->Gsvolu("I141", "BOX ", idtmed[253], dits, 3);
1428 gMC->Gsvolu("I140", "TUBS", idtmed[253], dits, 5);
1433 gMC->Gsvolu("I139", "BOX ", idtmed[253], dits, 3);
1438 gMC->Gsvolu("I138", "BOX ", idtmed[253], dits, 3);
1445 gMC->Gsvolu("I137", "TUBS", idtmed[253], dits, 5);
1450 gMC->Gsvolu("I136", "BOX ", idtmed[253], dits, 3);
1457 gMC->Gsvolu("I135", "TUBS", idtmed[253], dits, 5);
1462 gMC->Gsvolu("I134", "BOX ", idtmed[253], dits, 3);
1467 gMC->Gsvolu("I133", "BOX ", idtmed[253], dits, 3);
1474 gMC->Gsvolu("I132", "TUBS", idtmed[253], dits, 5);
1479 gMC->Gsvolu("I131", "BOX ", idtmed[253], dits, 3);
1486 gMC->Gsvolu("I130", "TUBS", idtmed[253], dits, 5);
1491 gMC->Gsvolu("I129", "BOX ", idtmed[253], dits, 3);
1496 gMC->Gsvolu("I128", "BOX ", idtmed[253], dits, 3);
1503 gMC->Gsvolu("I126", "TUBS", idtmed[253], dits, 5);
1508 gMC->Gsvolu("I125", "BOX ", idtmed[253], dits, 3);
1515 gMC->Gsvolu("I124", "TUBS", idtmed[253], dits, 5);
1520 gMC->Gsvolu("I105", "BOX ", idtmed[201], dits, 3);
1523 di107[1] = ddet1+dchip1;
1525 gMC->Gsvolu("I107", "BOX ", idtmed[254], di107, 3); // contains det and chip
1530 gMC->Gsvolu("I109", "BOX ", idtmed[275], dits, 3);
1535 gMC->Gsvolu("I108", "BOX ", idtmed[275], di108, 3); // bus for both layers
1538 di1d7[1] = ddet2+dchip2;
1540 gMC->Gsvolu("I1D7", "BOX ", idtmed[254], di1d7, 3); // contains det and chip
1547 gMC->Gsvolu("I112", "TUBS", idtmed[253], dits, 5);
1554 gMC->Gsvolu("I111", "TUBS", idtmed[253], dits, 5);
1559 gMC->Gsvolu("I118", "BOX ", idtmed[273], dits, 3);
1564 gMC->Gsvolu("I110", "BOX ", idtmed[253], dits, 3);
1571 gMC->Gsvolu("I114", "TUBS", idtmed[264], dits, 5);
1578 gMC->Gsvolu("I115", "TUBS", idtmed[211], dits, 5);
1583 gMC->Gsvolu("I116", "BOX ", idtmed[264], dits, 3);
1588 gMC->Gsvolu("I106", "BOX ", idtmed[201], di106, 3); // chip layer 1
1593 gMC->Gsvolu("I1D6", "BOX ", idtmed[201], di1d6, 3); // chip layer 2
1598 gMC->Gsvolu("I101", "BOX ", idtmed[250], di101, 3); // contains detector
1603 gMC->Gsvolu("I1D1", "BOX ", idtmed[250], di1d1, 3); // contains detector
1608 gMC->Gsvolu("I117", "BOX ", idtmed[211], dits, 3);
1613 gMC->Gsvolu("ITS1", "BOX ", idtmed[200], dits1, 3); // detector layer 1
1618 gMC->Gsvolu("ITS2", "BOX ", idtmed[200], dits2, 3); // detector layer 2
1625 gMC->Gsvolu("I650", "TUBS", idtmed[254], dits, 5); // was I150 in old geom.
1630 gMC->Gsvolu("I676", "TUBE", idtmed[274], dits, 3); // was I176 in old geom.
1635 gMC->Gsvolu("I673", "TUBE", idtmed[274], dits, 3); // was I173 in old geom.
1640 gMC->Gsvolu("I671", "TUBE", idtmed[274], dits, 3); // was I171 in old geom.
1645 gMC->Gsvolu("I669", "TUBE", idtmed[264], dits, 3); // was I169 in old geom.
1652 gMC->Gsvolu("I667", "TUBS", idtmed[263], dits, 5); // was I167 in old geom.
1659 gMC->Gsvolu("I666", "TUBS", idtmed[263], dits, 5); // was I166 in old geom.
1664 gMC->Gsvolu("I678", "TUBE", idtmed[263], dits, 3); // was I178 in old geom.
1669 gMC->Gsvolu("I677", "TUBE", idtmed[211], dits, 3); // was I177 in old geom.
1674 gMC->Gsvolu("I675", "TUBE", idtmed[263], dits, 3); // was I175 in old geom.
1679 gMC->Gsvolu("I674", "TUBE", idtmed[211], dits, 3); // was I174 in old geom.
1684 gMC->Gsvolu("I672", "TUBE", idtmed[211], dits, 3); // was I172 in old geom.
1689 gMC->Gsvolu("I670", "TUBE", idtmed[211], dits, 3); // was I170 in old geom.
1696 gMC->Gsvolu("I668", "TUBS", idtmed[211], dits, 5); // was I168 in old geom.
1700 // --- Define SDD volumes ------------------------------------------
1703 cos30 = cos(30.*3.14159/180.);
1704 sin30 = sin(30.*3.14159/180.);
1728 gMC->Gsvolu("IT34", "PCON", idtmed[209], dits, 21);
1730 // block of the SDD electronics and related ladder frame
1734 gMC->Gsvolu("I018", "BOX ", idtmed[209], I018dits, 3);
1736 // block of the SDD end ladder
1739 I024dits[2] = 2.725;
1740 gMC->Gsvolu("I024", "BOX ", idtmed[209], I024dits, 3);
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);
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);
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);
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);
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.;
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]);
1774 I004dits[2] = I004dits[2] + I302dits[2];
1775 gMC->Gsvolu("I004", "BOX ", idtmed[209], I004dits, 3);
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.;
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]);
1784 I005dits[2] = I005dits[2] + I402dits[2];
1785 gMC->Gsvolu("I005", "BOX ", idtmed[209], I005dits, 3);
1788 // -- block of the SDD ladder foot and end ladder
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);
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);
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);
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);
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);
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);
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);
1835 // lower edge of SDD ladder frame at end-ladder - part 1
1838 dits[2] = I024dits[2];
1840 gMC->Gsvolu("I025", "TRD1", idtmed[208], dits, 4);
1842 // lower edge of SDD ladder frame at end-ladder - part 2
1845 dits[2] = I024dits[2];
1847 gMC->Gsvolu("I026", "TRD1", idtmed[208], dits, 4);
1849 // new: for the 1st top rod of the structure
1850 // at the end-ladder - F.T. March,7-2001
1852 I029dits[1] = 0.1815;
1853 I029dits[2] = 1.0100;
1854 I029dits[3] = 0.015;
1855 gMC->Gsvolu("I029", "TRD1", idtmed[208], I029dits, 4);
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);
1865 // inox cooling tubes for the end ladder - F.T. March,7-2001
1866 I031dits[0] = 0.093;
1868 I031dits[2] = I024dits[2];
1869 gMC->Gsvolu("I031", "TUBE", idtmed[264], I031dits, 3);
1871 // cooling water for the end ladder - F.T. March,7-2001
1873 I032dits[1] = I031dits[0];
1874 I032dits[2] = I024dits[2];
1875 gMC->Gsvolu("I032", "TUBE", idtmed[211], I032dits, 3);
1877 // -- block of the SDD ladder frame holding the electronics
1879 // edge of the ladder frame - part 1
1884 gMC->Gsvolu("I019", "TRD1", idtmed[208], dits, 4);
1886 // edge of the ladder frame - part 2
1891 gMC->Gsvolu("I020", "TRD1", idtmed[208], dits, 4);
1893 // inclined segments of the ladder frame
1898 gMC->Gsvolu("I021", "TRD1", idtmed[208], dits, 4);
1900 // horiz.segments of the ladders, normal to ladder edges
1905 gMC->Gsvolu("I022", "TRD1", idtmed[208], dits, 4);
1907 // horiz.segments of the ladders, at 45 deg. to ladder edges
1912 gMC->Gsvolu("I023", "TRD1", idtmed[208], dits, 4);
1914 // supports of the ceramic pins holding the detectors
1918 gMC->Gsvolu("I033", "BOX ", idtmed[208], dits, 3);
1920 // ceramic pins holding the detectors
1924 gMC->Gsvolu("I034", "TUBE", idtmed[277], dits, 3);
1926 // holders of cooling tubes
1930 gMC->Gsvolu("I035", "TUBE", idtmed[208], I035dits, 3);
1932 // top holders of microcables
1936 gMC->Gsvolu("I036", "BOX ", idtmed[208], dits, 3);
1938 // inox cooling tubes - F.T. March,7-2001
1939 I037dits[0] = 0.093;
1941 I037dits[2] = I018dits[2];
1942 gMC->Gsvolu("I037", "TUBE", idtmed[264], I037dits, 3);
1944 // cooling water - F.T. March,7-2001
1946 I038dits[1] = I037dits[0];
1947 I038dits[2] = I018dits[2];
1948 gMC->Gsvolu("I038", "TUBE", idtmed[211], I038dits, 3);
1950 // -- block of the SDD electronics (heat bridge, chips, hybrid, anode microcable)
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);
1961 dits[2] = I039dits[2];
1962 gMC->Gsvolu("I040", "BOX ", idtmed[268], dits, 3);
1967 I041dits[2] = I039dits[2];
1970 gMC->Gsvolu("I041", "TUBS", idtmed[268], I041dits, 5);
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);
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);
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);
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);
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];
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);
2011 // SDD sensitive volume
2013 dits[1] = 0.01499; // not 0.015 because it is included into I302 which is 0.015
2015 gMC->Gsvolu("ITS3", "BOX ", idtmed[200], dits, 3);
2017 // Like for ITS3 - F.T. March,7-2001
2019 dits[1] = 0.01499; // not 0.015 because it is included into I402 which is 0.015
2021 gMC->Gsvolu("ITS4", "BOX ", idtmed[200], dits, 3);
2024 // --- Define SSD volumes ------------------------------------------
2048 gMC->Gsvolu("IT56", "PCON", idtmed[220], dits, 21);
2053 gMC->Gsvolu("I570", "BOX ", idtmed[204], dits, 3);
2058 gMC->Gsvolu("I569", "BOX ", idtmed[204], dits, 3);
2063 gMC->Gsvolu("I571", "BOX ", idtmed[204], dits, 3);
2068 gMC->Gsvolu("I565", "BOX ", idtmed[204], dits, 3);
2073 gMC->Gsvolu("I553", "BOX ", idtmed[204], dits, 3);
2078 gMC->Gsvolu("I523", "BOX ", idtmed[204], dits, 3);
2083 gMC->Gsvolu("I566", "BOX ", idtmed[206], dits, 3);
2088 gMC->Gsvolu("I544", "BOX ", idtmed[204], dits, 3);
2093 gMC->Gsvolu("I516", "BOX ", idtmed[204], dits, 3);
2098 gMC->Gsvolu("I562", "BOX ", idtmed[206], dits, 3);
2103 gMC->Gsvolu("I559", "TUBE", idtmed[211], dits, 3);
2108 gMC->Gsvolu("I560", "TUBE", idtmed[210], dits, 3);
2114 gMC->Gsvolu("I558", "TRD1", idtmed[203], dits, 4);
2120 gMC->Gsvolu("I557", "TRD1", idtmed[203], dits, 4);
2125 gMC->Gsvolu("I556", "BOX ", idtmed[203], dits, 3);
2130 gMC->Gsvolu("I554", "BOX ", idtmed[203], dits, 3);
2135 gMC->Gsvolu("I555", "BOX ", idtmed[203], dits, 3);
2140 gMC->Gsvolu("I561", "BOX ", idtmed[203], dits, 3);
2145 gMC->Gsvolu("I519", "BOX ", idtmed[214], dits, 3);
2150 gMC->Gsvolu("I521", "BOX ", idtmed[206], dits, 3);
2155 gMC->Gsvolu("I520", "BOX ", idtmed[214], dits, 3);
2160 gMC->Gsvolu("I518", "BOX ", idtmed[203], dits, 3);
2166 gMC->Gsvolu("I522", "TRD1", idtmed[203], dits, 4);
2171 gMC->Gsvolu("I542", "TUBE", idtmed[210], dits, 3);
2176 gMC->Gsvolu("I541", "TUBE", idtmed[211], dits, 3);
2181 gMC->Gsvolu("I543", "BOX ", idtmed[203], dits, 3);
2187 gMC->Gsvolu("I537", "TRD1", idtmed[203], dits, 4);
2193 gMC->Gsvolu("I538", "TRD1", idtmed[203], dits, 4);
2198 gMC->Gsvolu("I536", "BOX ", idtmed[203], dits, 3);
2203 gMC->Gsvolu("I535", "BOX ", idtmed[203], dits, 3);
2208 gMC->Gsvolu("I534", "BOX ", idtmed[203], dits, 3);
2213 gMC->Gsvolu("I540", "TUBE", idtmed[203], dits, 3);
2218 gMC->Gsvolu("I539", "TUBE", idtmed[203], dits, 3);
2223 gMC->Gsvolu("ITS6", "BOX ", idtmed[200], dits, 3);
2228 gMC->Gsvolu("I550", "TUBE", idtmed[211], dits, 3);
2233 gMC->Gsvolu("I551", "TUBE", idtmed[210], dits, 3);
2239 gMC->Gsvolu("I549", "TRD1", idtmed[203], dits, 4);
2245 gMC->Gsvolu("I548", "TRD1", idtmed[203], dits, 4);
2250 gMC->Gsvolu("I547", "BOX ", idtmed[203], dits, 3);
2255 gMC->Gsvolu("I545", "BOX ", idtmed[203], dits, 3);
2260 gMC->Gsvolu("I546", "BOX ", idtmed[203], dits, 3);
2265 gMC->Gsvolu("I552", "BOX ", idtmed[203], dits, 3);
2270 gMC->Gsvolu("I515", "BOX ", idtmed[206], dits, 3);
2275 gMC->Gsvolu("I513", "BOX ", idtmed[214], dits, 3);
2280 gMC->Gsvolu("I514", "BOX ", idtmed[214], dits, 3);
2285 gMC->Gsvolu("I512", "BOX ", idtmed[203], dits, 3);
2291 gMC->Gsvolu("I528", "TRD1", idtmed[203], dits, 4);
2297 gMC->Gsvolu("I527", "TRD1", idtmed[203], dits, 4);
2302 gMC->Gsvolu("I526", "BOX ", idtmed[203], dits, 3);
2307 gMC->Gsvolu("I525", "BOX ", idtmed[203], dits, 3);
2312 gMC->Gsvolu("I524", "BOX ", idtmed[203], dits, 3);
2317 gMC->Gsvolu("I529", "TUBE", idtmed[203], dits, 3);
2322 gMC->Gsvolu("I530", "TUBE", idtmed[203], dits, 3);
2328 gMC->Gsvolu("I517", "TRD1", idtmed[203], dits, 4);
2333 gMC->Gsvolu("I531", "TUBE", idtmed[211], dits, 3);
2338 gMC->Gsvolu("I532", "TUBE", idtmed[210], dits, 3);
2343 gMC->Gsvolu("I533", "BOX ", idtmed[203], dits, 3);
2348 gMC->Gsvolu("ITS5", "BOX ", idtmed[200], dits, 3);
2351 // --- Define volumes of shield between SPD and SDD ----------------
2357 gMC->Gsvolu("IC01", "TUBE", idtmed[289], dits, 3);
2362 gMC->Gsvolu("IC02", "TUBE", idtmed[289], dits, 3);
2365 // --- Define volumes of cylinder between SDD and SSD --------------
2368 dits[0] = (59.5-0.13/2.)/2.;
2369 dits[1] = (59.5+0.13/2.)/2.;
2371 gMC->Gsvolu("ICY2", "TUBE", idtmed[225], dits, 3);
2375 // --- Define volumes of SDD cone ----------------------------------
2416 gMC->Gsvolu("IS02", "PCON", idtmed[204], dits, 39);
2439 gMC->Gsvolu("I093", "PCON", idtmed[272], dits, 21); // SDD cone
2444 dits[3] = 27.35; // 23.7
2453 gMC->Gsvolu("I099", "PCON", idtmed[292], dits, 12); // SDD 3 end-ladder elect.
2467 gMC->Gsvolu("I200", "PCON", idtmed[292], dits, 12); // SDD 4 end-ladder elect.
2472 gMC->Gsvolu("I090", "TUBE", idtmed[208], dits, 3);
2477 gMC->Gsvolu("I089", "TUBE", idtmed[208], dits, 3);
2482 gMC->Gsvolu("I098", "TUBE", idtmed[204], dits, 3);
2487 gMC->Gsvolu("I097", "TUBE", idtmed[204], dits, 3);
2492 gMC->Gsvolu("I202", "BOX ", idtmed[272], dits, 3);
2497 gMC->Gsvolu("I203", "BOX ", idtmed[272], dits, 3);
2502 gMC->Gsvolu("I095", "TUBE", idtmed[224], dits, 3);
2508 gMC->Gsvolu("I096", "TRD1", idtmed[264], dits, 4);
2513 gMC->Gsvolu("I094", "TUBE", idtmed[224], dits, 3);
2516 // --- Define volumes of SSD cone ----------------------------------
2558 gMC->Gsvolu("IS01", "PCON", idtmed[204], dits, 39);
2581 gMC->Gsvolu("I212", "PCON", idtmed[272], dits, 21); // SSD cone
2586 gMC->Gsvolu("I211", "TUBE", idtmed[219], dits, 3);
2591 gMC->Gsvolu("I217", "TUBE", idtmed[224], dits, 3);
2596 gMC->Gsvolu("I218", "TUBE", idtmed[264], dits, 3);
2601 gMC->Gsvolu("I219", "TUBE", idtmed[224], dits, 3);
2606 gMC->Gsvolu("I220", "TUBE", idtmed[264], dits, 3);
2611 gMC->Gsvolu("I214", "TUBE", idtmed[224], dits, 3);
2616 gMC->Gsvolu("I213", "TUBE", idtmed[224], dits, 3);
2630 dits[12] = -68.5+4.8;
2633 dits[15] = -63.5+4.8;
2636 gMC->Gsvolu("I215", "PCON", idtmed[294], dits, 18); // SSD end-ladder elect.
2668 gMC->Gsvolu("I216", "PCON", idtmed[272], dits, 30);
2671 // --- Place SPD (option 'a') volumes into their mother volume IT12
2674 // (this is NOT the default)
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");
2839 // --- Place SPD (option 'b') volumes into their mother volume IT12
2842 // (this is the default)
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");
3010 // --- Place SDD volumes into their mother volume IT34
3013 // -- position SDD detectors of ladder 3 / layer 3
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");
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");
3038 // -- position SDD detectors of ladder 4 / layer 4
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");
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");
3071 // -- build block of the SDD ladder frame holding the electronics
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");
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");
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");
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");
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");
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");
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");
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");
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");
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");
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");
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");
3126 // -- build block of the SDD electronics (heat bridge, chips, hybrid, anode microcable)
3128 xI050 = SDD_CoolPipe[0]+SDD_CoolPipe[1]*sin30+I050dits[1]/cos30+I041dits[1];
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];
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;
3149 xcap = 2*I039dits[0]/5.;
3150 yI051 = yI039+I039dits[1]+I051dits[1];
3151 zI051 = -I039dits[2] + yI051space/3.;
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");
3159 gMC->Gspos("I051", icap++,"I050", xI051, yI051, zI051, 0, "ONLY");
3161 gMC->Gspos("I051", icap++,"I050", xI051, yI051, zI051, 0, "ONLY");
3163 gMC->Gspos("I051", icap++,"I050", xI051, yI051, zI051, 0, "ONLY");
3164 zI051 -= yI051space/3.;
3166 gMC->Gspos("I051", icap++,"I050", xI051, yI051, zI051, 0, "ONLY");
3168 zI051 += zChipSpace + yI051space;
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");
3180 // -- build block of the SDD ladder frame at the end ladders
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");
3187 gMC->Gspos("I022", 3,"I024", 0.0, -1.7899, 0.825, idrotm[312], "ONLY");
3189 gMC->Gspos("I023", 3,"I024", 0.0, -1.7899,-1.0, idrotm[341], "ONLY");
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");
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");
3197 gMC->Gspos("I029", 1,"I024", -0.087, 1.7067, I029dits[2]-I024dits[2], idrotm[342], "ONLY");
3199 gMC->Gspos("I030", 1,"I024", 0.0958, 1.6914, I030dits[2]-I024dits[2], idrotm[343], "ONLY");
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");
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");
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");
3218 // -- build the SDD ladder 3
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");
3233 for (iSDD=0; iSDD<3; iSDD++) {
3234 HVname[3] = (Char_t)(48+iSDD+5);
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);
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");
3251 for (iSDD=0; iSDD<3; iSDD++) {
3252 LVname[3] = (Char_t)(48+iSDD+1);
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;
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");
3269 // -- build the SDD ladder 4
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");
3286 for (iSDD=0; iSDD<4; iSDD++) {
3287 HVname[3] = (Char_t)(48+iSDD+5);
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);
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");
3304 for (iSDD=0; iSDD<4; iSDD++) {
3305 LVname[3] = (Char_t)(48+iSDD+1);
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;
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");
3322 // -- build the SDD barrel (layers 3 and 4)
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");
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");
3363 // --- Place SSD volumes into their mother volume IT56
3366 gMC->Gspos("I570",14,"IT56",-28.0681,-36.0619,-0.27,idrotm[566],"ONLY");
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");
3370 gMC->Gspos("I570",18,"IT56",-0.27,-45.6977,-0.27,idrotm[533],"ONLY");
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");
3389 gMC->Gspos("I570",37,"IT56",-0.27,45.545,-0.27,0,"ONLY");
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");
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");
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");
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");
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");
3798 // --- Place volumes of shield between SPD and SDD
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");
3808 // --- Place volumes of shield between SDD and SSD
3811 gMC->Gspos("ICY2",1,"ITSD",0.0,0.0,-0.7,0,"ONLY");
3814 // --- Place volumes of SDD cone ----------------------------------
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");
3920 // --- Place volumes of SSD cone ----------------------------------
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");
3978 // --- Place subdetectors' mother volumes and supports' mother volumes
3979 // into ITS mother volume ITSD
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
3988 // **************************** SERVICES *********************************
3991 // --- DEFINE CABLES AT THE END OF THE ITS CONES - COPPER PART
3997 gMC->Gsvolu("ICCU", "TUBE", idtmed[213], dgh, 3);
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");
4001 // --- DEFINE CABLES AT THE END OF THE ITS CONES - CARBON PART
4004 dgh[1] = 46.+1.0+1.5;
4007 gMC->Gsvolu("ICCC", "TUBE", idtmed[225], dgh, 3);
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");
4011 // --- DEFINE PATCH PANELS AT THE END OF THE ITS CONES
4017 gMC->Gsvolu("IPAN", "TUBE", idtmed[210], dgh, 3);
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");
4021 // --- DEFINE CABLES/COOLING BELOW THE TPC - COPPER PART - UPPER PART
4023 dgh[0] = (xltpc-100.7)/2.;
4030 gMC->Gsvolu("ICU1", "CONS", idtmed[213], dgh, 7);
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");
4034 // --- DEFINE CABLES/COOLING BELOW THE TPC - COPPER PART - LOWER PART
4036 dgh[0] = (xltpc-100.7)/2.;
4043 gMC->Gsvolu("ICU2", "CONS", idtmed[213], dgh, 7);
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");
4047 // --- DEFINE CABLES/COOLING BELOW THE TPC - CARBON PART - UPPER PART
4049 dgh[0] = (xltpc-100.7)/2.;
4051 dgh[2] = 46.2+1.0+1.5;
4053 dgh[4] = 62.3+1.0+1.5;
4056 gMC->Gsvolu("ICC1", "CONS", idtmed[225], dgh, 7);
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");
4060 // --- DEFINE CABLES/COOLING BELOW THE TPC - CARBON PART - LOWER PART
4062 dgh[0] = (xltpc-100.7)/2.;
4064 dgh[2] = 46.2+1.0+1.5;
4066 dgh[4] = 62.3+1.0+1.5;
4069 gMC->Gsvolu("ICC2", "CONS", idtmed[225], dgh, 7);
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");
4073 // --- DEFINE CABLES/COOLING BEHIND THE TPC - COPPER PART - UPPER PART
4080 gMC->Gsvolu("ICU3", "TUBS", idtmed[213], dgh, 5);
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");
4084 // --- DEFINE CABLES/COOLING BEHIND THE TPC - COPPER PART - LOWER PART
4091 gMC->Gsvolu("ICU4", "TUBS", idtmed[213], dgh, 5);
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");
4095 // --- DEFINE CABLES/COOLING BEHIND THE TPC - CARBON PART - UPPER PART
4102 gMC->Gsvolu("ICC3", "TUBS", idtmed[225], dgh, 5);
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");
4106 // --- DEFINE CABLES/COOLING BEHIND THE TPC - CARBON PART - LOWER PART
4113 gMC->Gsvolu("ICC4", "TUBS", idtmed[225], dgh, 5);
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");
4117 // --- DEFINE HOOK TO THE TPC ON OTHER SIDE W.R.T. THE ABSORBER - UPPER PART
4124 gMC->Gsvolu("IHK1", "TUBS", idtmed[264], dgh, 5);
4125 gMC->Gspos("IHK1", 1, "ITSV", 0., 0., -xltpc-dgh[2], 0, "ONLY");
4127 // --- DEFINE HOOK TO THE TPC ON OTHER SIDE W.R.T. THE ABSORBER - LOWER PART
4134 gMC->Gsvolu("IHK2", "TUBS", idtmed[264], dgh, 5);
4135 gMC->Gspos("IHK2", 1, "ITSV", 0., 0., -xltpc-dgh[2], 0, "ONLY");
4137 // --- DEFINE RAILS BETWEEN THE ITS AND THE TPC
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");
4146 // --- DEFINE CYLINDERS HOLDING RAILS BETWEEN THE ITS AND THE TPC
4152 gMC->Gsvolu("ICYL", "TUBE", idtmed[210], dgh, 3);
4153 gMC->Gspos("ICYL", 1, "ALIC", 0., 0., 74., 0, "ONLY");
4154 gMC->Gspos("ICYL", 2, "ALIC", 0., 0., -74., idrotm[200], "ONLY");
4156 // --- Outputs the geometry tree in the EUCLID/CAD format
4159 gMC->WriteEuclid("ITSgeometry", "ITSV", 1, 5);
4162 //_____________________________________________________________________________
4163 void AliITSvPPRsymm::CreateMaterials(){
4164 ////////////////////////////////////////////////////////////////////////
4166 // Create ITS materials
4167 // This function defines the default materials used in the Geant
4168 // Monte Carlo simulations for the geometries AliITSv1, AliITSv3,
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.
4177 Int_t isxfld = gAlice->Field()->Integ();
4178 Float_t sxmgmx = gAlice->Field()->Max();
4180 // --- Define the various materials and media for GEANT ---
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
4342 //______________________________________________________________________
4343 void 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
4347 if(!(dynamic_cast<TGeant3*>(gMC))) {
4348 Error("InitAliITSgeom",
4349 "Wrong Monte Carlo. InitAliITSgeom uses TGeant3 calls");
4352 cout << "Reading Geometry transformation directly from Geant 3." << endl;
4353 const Int_t nlayers = 6;
4354 const Int_t ndeep = 9;
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;
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];
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];
4400 } // end if fMinorVersion
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
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]);
4409 for(i=0;i<nlayers;i++){
4411 for(j=0;j<ndeep;j++) if(itsGeomTreeCopys[i][j]!=0)
4412 k *= TMath::Abs(itsGeomTreeCopys[i][j]);
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;
4418 ndet[0]=4;ndet[1]=4;ndet[2]=6;ndet[3]=8;ndet[4]=22;ndet[5]=25;
4419 fITSgeom = new AliITSgeom(0,6,nlad,ndet,mod);
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];
4425 case 1: case 2: // layers 1 and 2 are a bit special
4427 for(j=1;j<=itsGeomTreeCopys[lay-1][4];j++){
4429 for(k=1;k<=itsGeomTreeCopys[lay-1][5];k++){
4432 for(det=1;det<=itsGeomTreeCopys[lay-1][6];det++){
4435 ig->GetGeometry(ndeep,lnam,lnum,t,r,idshape,npar,natt,
4437 fITSgeom->CreatMatrix(mod,lay,lad,det,kSPD,t,r);
4438 if(!(fITSgeom->IsShapeDefined((Int_t)kSPD)))
4439 fITSgeom->ReSetShape(kSPD,
4440 new AliITSgeomSPD425Short());
4445 case 3: case 4: case 5: case 6: // layers 3-6
4447 for(lad=1;lad<=itsGeomTreeCopys[lay-1][4];lad++){
4449 for(det=1;det<=itsGeomTreeCopys[lay-1][5];det++){
4452 ig->GetGeometry(7,lnam,lnum,t,r,idshape,npar,natt,
4456 fITSgeom->CreatMatrix(mod,lay,lad,det,kSDD,t,r);
4457 if(!(fITSgeom->IsShapeDefined(kSDD)))
4458 fITSgeom->ReSetShape(kSDD,new AliITSgeomSDD256());
4461 fITSgeom->CreatMatrix(mod,lay,lad,det,kSSD,t,r);
4462 if(!(fITSgeom->IsShapeDefined(kSSD)))
4463 fITSgeom->ReSetShape(kSSD,
4464 new AliITSgeomSSD275and75());
4467 fITSgeom->CreatMatrix(mod,lay,lad,det,kSSDp,t,r);
4468 if(!(fITSgeom->IsShapeDefined(kSSDp)))
4469 fITSgeom->ReSetShape(kSSDp,
4470 new AliITSgeomSSD75and275());
4480 //_____________________________________________________________________________
4481 void AliITSvPPRsymm::Init(){
4482 ////////////////////////////////////////////////////////////////////////
4483 // Initialise the ITS after it has been created.
4484 ////////////////////////////////////////////////////////////////////////
4488 for(i=0;i<26;i++) cout << "*";
4489 cout << " ITSvPPRsymm" << fMinorVersion << "_Init ";
4490 for(i=0;i<25;i++) cout << "*";cout << endl;
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);
4501 for(i=0;i<72;i++) cout << "*";
4504 //_____________________________________________________________________________
4505 void AliITSvPPRsymm::DrawModule(){
4506 ////////////////////////////////////////////////////////////////////////
4507 // Draw a shaded view of the FMD version 9.
4508 ////////////////////////////////////////////////////////////////////////
4510 // Set everything unseen
4511 gMC->Gsatt("*", "seen", -1);
4513 // Set ALIC mother visible
4514 gMC->Gsatt("ALIC","SEEN",0);
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);
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);
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");
4553 //_____________________________________________________________________________
4554 void AliITSvPPRsymm::StepManager(){
4555 ////////////////////////////////////////////////////////////////////////
4556 // Called for every step in the ITS, then calles the AliITShit class
4557 // creator with the information to be recoreded about that hit.
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.
4563 ////////////////////////////////////////////////////////////////////////
4568 TLorentzVector position, momentum;
4569 TClonesArray &lhits = *fHits;
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;
4581 // Fill hit structure.
4582 if(!(gMC->TrackCharge())) return;
4584 // Only entering charged tracks
4585 if((id = gMC->CurrentVolID(copy)) == fIdSens[0]) {
4587 id = gMC->CurrentVolOffID(0,copy);
4588 //detector copy in the ladder = 1<->4 (ITS1 < I101 < I103 < I10A)
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]){
4597 id = gMC->CurrentVolOffID(0,copy);
4598 //detector copy in the ladder = 1<->4 (ITS2 < I1D1 < I1D3 < I20A)
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]){
4607 id = gMC->CurrentVolOffID(1,copy);
4608 //detector copy in the ladder = 1<->6 (ITS3 < I302 < I004)
4610 id = gMC->CurrentVolOffID(2,copy);
4611 //ladder copy in the layer = 1<->14 (I004 < IT34)
4613 } else if(id == fIdSens[3]){
4615 id = gMC->CurrentVolOffID(1,copy);
4616 //detector copy in the ladder = 1<->8 (ITS4 < I402 < I005)
4618 id = gMC->CurrentVolOffID(2,copy);
4619 //ladder copy in the layer = 1<->22 (I005 < IT34))
4621 }else if(id == fIdSens[4]){
4623 id = gMC->CurrentVolOffID(1,copy);
4624 //detector copy in the ladder = 1<->22 (ITS5 < I562 < I565)
4626 id = gMC->CurrentVolOffID(2,copy);
4627 //ladder copy in the layer = 1<->34 (I565 < IT56)
4629 }else if(id == fIdSens[5]){
4631 id = gMC->CurrentVolOffID(1,copy);
4632 //detector copy in the ladder = 1<->25 (ITS6 < I566 < I569)
4634 id = gMC->CurrentVolOffID(2,copy);
4635 //ladder copy in the layer = 1<->38 (I569 < IT56)
4638 return; // not an ITS volume?
4639 } // end if/else if (gMC->CurentVolID(copy) == fIdSens[i])
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);