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