Added material to simulate services in front of the SPD, SDD, and SSD support
[u/mrichter/AliRoot.git] / ITS / AliITSvPPRasymmFMD.cxx
CommitLineData
6b2a1732 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16/*
17$Log$
2938f24d 18Revision 1.2 2002/10/02 17:56:37 barbera
19Bug in copy 37 of volume I570 corrected (thanks to J. Belikov)
20
8a3132f2 21Revision 1.1 2002/09/16 14:45:31 barbera
22Updated detailed geometry needed by FMD people for some studies
23
6b2a1732 24
25*/
26
27///////////////////////////////////////////////////////////////////////////////
28// //
29// Inner Traking System version PPR asymmetric for the FMD //
30// This class contains the base procedures for the Inner Tracking System //
31// //
32// Authors: R. Barbera //
33// version 10. //
34// Created January 15 2001. //
35// //
36// NOTE: THIS IS THE ASYMMETRIC PPR geometry of the ITS for the PMD. //
37// //
38///////////////////////////////////////////////////////////////////////////////
39
40// See AliITSvPPRasymmFMD::StepManager().
41#include <iostream.h>
42#include <iomanip.h>
43#include <stdio.h>
44#include <stdlib.h>
45#include <TMath.h>
46#include <TGeometry.h>
47#include <TNode.h>
48#include <TTUBE.h>
49#include <TTUBS.h>
50#include <TPCON.h>
51#include <TFile.h> // only required for Tracking function?
52#include <TCanvas.h>
53#include <TObjArray.h>
54#include <TLorentzVector.h>
55#include <TObjString.h>
56#include <TClonesArray.h>
57#include <TBRIK.h>
58#include <TSystem.h>
59
60#include "AliMC.h"
61#include "AliRun.h"
62#include "AliMagF.h"
63#include "AliConst.h"
64#include "AliGeant3.h"
65#include "AliITSGeant3Geometry.h"
66#include "AliTrackReference.h"
67#include "AliITShit.h"
68#include "AliITS.h"
69#include "AliITSvPPRasymmFMD.h"
70#include "AliITSgeom.h"
71#include "AliITSgeomSPD.h"
72#include "AliITSgeomSDD.h"
73#include "AliITSgeomSSD.h"
74#include "AliITSDetType.h"
75#include "AliITSresponseSPD.h"
76#include "AliITSresponseSDD.h"
77#include "AliITSresponseSSD.h"
78#include "AliITSsegmentationSPD.h"
79#include "AliITSsegmentationSDD.h"
80#include "AliITSsegmentationSSD.h"
81#include "AliITSsimulationSPD.h"
82#include "AliITSsimulationSDD.h"
83#include "AliITSsimulationSSD.h"
84#include "AliITSClusterFinderSPD.h"
85#include "AliITSClusterFinderSDD.h"
86#include "AliITSClusterFinderSSD.h"
87
88
89ClassImp(AliITSvPPRasymmFMD)
90
91//_____________________________________________________________________________
92AliITSvPPRasymmFMD::AliITSvPPRasymmFMD() {
93////////////////////////////////////////////////////////////////////////
94// Standard default constructor for the ITS version 8.
95////////////////////////////////////////////////////////////////////////
96 Int_t i;
97
98 fIdN = 0;
99 fIdName = 0;
100 fIdSens = 0;
101 fEuclidOut = kFALSE; // Don't write Euclide file
102 fGeomDetOut = kFALSE; // Don't write .det file
103 fGeomDetIn = kFALSE; // Don't Read .det file
104 fMajorVersion = IsVersion();
105 fMinorVersion = -1;
106 for(i=0;i<60;i++) fRead[i] = '\0';
107 for(i=0;i<60;i++) fWrite[i] = '\0';
108 for(i=0;i<60;i++) fEuclidGeomDet[i] = '\0';
109}
110//_____________________________________________________________________________
111AliITSvPPRasymmFMD::AliITSvPPRasymmFMD(const char *name, const char *title) : AliITS(name, title){
112////////////////////////////////////////////////////////////////////////
113// Standard constructor for the ITS version 10.
114////////////////////////////////////////////////////////////////////////
115 Int_t i;
116
117 fIdN = 6;
118 fIdName = new TString[fIdN];
119 fIdName[0] = "ITS1";
120 fIdName[1] = "ITS2";
121 fIdName[2] = "ITS3";
122 fIdName[3] = "ITS4";
123 fIdName[4] = "ITS5";
124 fIdName[5] = "ITS6";
125 fIdSens = new Int_t[fIdN];
126 for(i=0;i<fIdN;i++) fIdSens[i] = 0;
127 fMajorVersion = IsVersion();
128 fMinorVersion = 2;
129 fEuclidOut = kFALSE; // Don't write Euclide file
130 fGeomDetOut = kFALSE; // Don't write .det file
131 fGeomDetIn = kFALSE; // Don't Read .det file
132 SetThicknessDet1();
133 SetThicknessDet2();
134 SetThicknessChip1();
135 SetThicknessChip2();
136
137 fEuclidGeometry="$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.euc";
138 strncpy(fEuclidGeomDet,"$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.det",60);
139 strncpy(fRead,fEuclidGeomDet,60);
140 strncpy(fWrite,fEuclidGeomDet,60);
141}
142//____________________________________________________________________________
143AliITSvPPRasymmFMD::AliITSvPPRasymmFMD(const AliITSvPPRasymmFMD &source){
144////////////////////////////////////////////////////////////////////////
145// Copy Constructor for ITS version 8.
146////////////////////////////////////////////////////////////////////////
147 if(&source == this) return;
148 Warning("Copy Constructor","Not allowed to copy AliITSvPPRasymmFMD");
149 return;
150}
151//_____________________________________________________________________________
152AliITSvPPRasymmFMD& AliITSvPPRasymmFMD::operator=(const AliITSvPPRasymmFMD &source){
153////////////////////////////////////////////////////////////////////////
154// Assignment operator for the ITS version 8.
155////////////////////////////////////////////////////////////////////////
156 if(&source == this) return *this;
157 Warning("= operator","Not allowed to copy AliITSvPPRasymmFMD");
158 return *this;
159}
160//_____________________________________________________________________________
161AliITSvPPRasymmFMD::~AliITSvPPRasymmFMD() {
162////////////////////////////////////////////////////////////////////////
163// Standard destructor for the ITS version 8.
164////////////////////////////////////////////////////////////////////////
165}
166//__________________________________________________________________________
167void AliITSvPPRasymmFMD::BuildGeometry(){
168////////////////////////////////////////////////////////////////////////
169// Geometry builder for the ITS version 8.
170////////////////////////////////////////////////////////////////////////
171 TNode *node, *top;
172
173 const Int_t kColorITS=kYellow;
174 //
175 top = gAlice->GetGeometry()->GetNode("alice");
176
177
178 new TTUBE("S_layer1","Layer1 of ITS","void",3.8095,3.8095+1.03*9.36/100.,14.35);
179 top->cd();
180 node = new TNode("Layer1","Layer1","S_layer1",0,0,0,"");
181 node->SetLineColor(kColorITS);
182 fNodes->Add(node);
183
184 new TTUBE("S_layer2","Layer2 of ITS","void",7.,7.+1.03*9.36/100.,14.35);
185 top->cd();
186 node = new TNode("Layer2","Layer2","S_layer2",0,0,0,"");
187 node->SetLineColor(kColorITS);
188 fNodes->Add(node);
189
190 new TTUBE("S_layer3","Layer3 of ITS","void",15.,15.+0.94*9.36/100.,25.1);
191 top->cd();
192 node = new TNode("Layer3","Layer3","S_layer3",0,0,0,"");
193 node->SetLineColor(kColorITS);
194 fNodes->Add(node);
195
196 new TTUBE("S_layer4","Layer4 of ITS","void",24.1,24.1+0.95*9.36/100.,32.1);
197 top->cd();
198 node = new TNode("Layer4","Layer4","S_layer4",0,0,0,"");
199 node->SetLineColor(kColorITS);
200 fNodes->Add(node);
201
202 new TTUBE("S_layer5","Layer5 of ITS","void",38.5,38.5+0.91*9.36/100.,49.405);
203 top->cd();
204 node = new TNode("Layer5","Layer5","S_layer5",0,0,0,"");
205 node->SetLineColor(kColorITS);
206 fNodes->Add(node);
207
208 new TTUBE("S_layer6","Layer6 of ITS","void",43.5765,43.5765+0.87*9.36/100.,55.27);
209 top->cd();
210 node = new TNode("Layer6","Layer6","S_layer6",0,0,0,"");
211 node->SetLineColor(kColorITS);
212 fNodes->Add(node);
213
214
215/*
216 // DETAILED GEOMETRY
217
218 TNode *sub1node, *sub2node, *sub3node, *sub4node, *sub5node;
219
220 // Define some variables for SPD
221
222 Float_t dits[100];
223 Float_t dits1[3], di101[3], di107[3], di10b[3]; // for layer 1
224 Float_t di103[3], di10a[3]; // for layer 1
225 Float_t dits2[3], di1d1[3], di1d7[3], di20b[3]; // for layer 2
226 Float_t di1d3[3], di20a[3]; // for layer 2
227
228 Float_t ddet1=200.; // total detector thickness on layer 1 (micron)
229 Float_t dchip1=200.; // total chip thickness on layer 1 (micron)
230
231 Float_t ddet2=200.; // total detector thickness on layer 2 (micron)
232 Float_t dchip2=200.; // total chip thickness on layer 2 (micron)
233
234 Float_t dbus=300.; // total bus thickness on both layers (micron)
235
236 ddet1 = GetThicknessDet1();
237 ddet2 = GetThicknessDet2();
238 dchip1 = GetThicknessChip1();
239 dchip2 = GetThicknessChip2();
240
241 cout << "par: " << ddet1 << " " << ddet2 << " " << ddet2 << " " << dchip1 << " " << dchip2 << endl;
242
243 if(ddet1 < 100. || ddet1 > 300.) {
244 cout << "ITS - WARNING: the detector thickness for layer 1 is outside the range of [100,300] microns."
245 " The default value of 200 microns will be used." << endl;
246 ddet1=200.;
247 }
248
249 if(ddet2 < 100. || ddet2 > 300.) {
250 cout << "ITS - WARNING: the detector thickness for layer 2 is outside the range of [100,300] microns."
251 " The default value of 200 microns will be used." << endl;
252 ddet2=200.;
253 }
254
255 if(dchip1 < 100. || dchip1 > 300.) {
256 cout << "ITS - WARNING: the chip thickness for layer 1 is outside the range of [100,300] microns."
257 " The default value of 200 microns will be used." << endl;
258 dchip1=200.;
259 }
260
261 if(dchip2 < 100. || dchip2 > 300.) {
262 cout << "ITS - WARNING: the chip thickness for layer 2 is outside the range of [100,300] microns."
263 " The default value of 200 microns will be used." << endl;
264 dchip2=200.;
265 }
266
267 cout << "ITS: Detector thickness on layer 1 is set to " << ddet1 << " microns." << endl;
268 cout << "ITS: Chip thickness on layer 1 is set to " << dchip1 << " microns." << endl;
269 cout << "ITS: Detector thickness on layer 2 is set to " << ddet2 << " microns." << endl;
270 cout << "ITS: Chip thickness on layer 2 is set to " << dchip2 << " microns." << endl;
271
272 ddet1 = ddet1*0.0001/2.; // conversion from tot length in um to half in cm
273 ddet2 = ddet2*0.0001/2.; // conversion from tot length in um to half in cm
274 dchip1 = dchip1*0.0001/2.;// conversion from tot length in um to half in cm
275 dchip2 = dchip2*0.0001/2.;// conversion from tot length in um to half in cm
276 dbus = dbus*0.0001/2.; // conversion from tot length in um to half in cm
277
278 Float_t deltax, deltay;
279
280 Int_t thickness = fMinorVersion/10;
281 Int_t option = fMinorVersion - 10*thickness;
282
283
284 // Define some variables for SDD
285 // SDD detector ladder
286
287 Float_t ySDD;
288 Float_t I302dits[3], I402dits[3], I004dits[3], I005dits[3];
289 Float_t Y_SDD_sep = 0.20;
290 Float_t Z_SDD_lay3[6] = {18.55, 10.95, 3.70, -3.70, -11.20, -18.35};
291 Float_t Z_SDD_lay4[8] = {25.75, 18.60, 11.00, 3.70, -3.70, -11.20, -18.45, -26.05};
292
293 // Rotation matrices
294
295 // SPD - option 'a'
296
297 if (option == 1) {
298
299 new TRotMatrix("itsrot238","itsrot238",90.0,144.0,90.0,234.0,0.0,0.0);
300 new TRotMatrix("itsrot236","itsrot236",90.0,180.013702,90.0,270.013702,0.0,0.0);
301 new TRotMatrix("itsrot239","itsrot239",90.0,216.0,90.0,306.0,0.0,0.0);
302 new TRotMatrix("itsrot233","itsrot233",90.0,252.000504,90.0,342.000488,0.0,0.0 );
303 new TRotMatrix("itsrot240","itsrot240",90.0,288.0,90.0,18.0,0.0,0.0);
304 new TRotMatrix("itsrot241","itsrot241",90.0,324.0,90.0,54.0,0.0,0.0);
305 new TRotMatrix("itsrot242","itsrot242",90.0,36.0,90.0,126.0,0.0,0.0);
306 new TRotMatrix("itsrot234","itsrot234",90.0,71.9991,90.0,161.9991,0.0,0.0);
307 new TRotMatrix("itsrot243","itsrot243",90.0,108.0,90.0,198.0,0.0,0.0);
308 new TRotMatrix("itsrot244","itsrot244",90.0,180.0,90.0,270.0,0.0,0.0);
309 new TRotMatrix("itsrot245","itsrot245",90.0,162.0,90.0,252.0,0.0,0.0);
310 new TRotMatrix("itsrot246","itsrot246",90.0,310.0,90.0,40.0,0.0,0.0);
311 new TRotMatrix("itsrot247","itsrot247",90.0,319.0,90.0,49.0,0.0,0.0);
312 new TRotMatrix("itsrot248","itsrot248",90.0,328.0,90.0,58.0,0.0,0.0);
313 new TRotMatrix("itsrot249","itsrot249",90.0,337.0,90.0,67.0,0.0,0.0);
314
315 }
316
317 // SPD - option 'b' (this is the default)
318
319 if (option == 2) {
320
321 new TRotMatrix("itsrot233","itsrot233",90.0,252.000504,90.0,342.000488,0.0,0.0);
322 new TRotMatrix("itsrot244","itsrot244",90.0,216.0,90.0,306.0,0.0,0.0);
323 new TRotMatrix("itsrot236","itsrot236",90.0,180.013702,90.0,270.013702,0.0,0.0);
324 new TRotMatrix("itsrot245","itsrot245",90.0,36.0,90.0,126.0,0.0,0.0);
325 new TRotMatrix("itsrot234","itsrot234",90.0,71.9991,90.0,161.9991,0.0,0.0);
326 new TRotMatrix("itsrot246","itsrot246",90.0,108.0,90.0,198.0,0.0,0.0);
327 new TRotMatrix("itsrot247","itsrot247",90.0,144.0,90.0,234.0,0.0,0.0);
328 new TRotMatrix("itsrot248","itsrot248",90.0,288.0,90.0,18.0,0.0,0.0);
329 new TRotMatrix("itsrot249","itsrot249",90.0,324.0,90.0,54.0,0.0,0.0);
330 new TRotMatrix("itsrot238","itsrot238",90.0,180.0,90.0,270.0,0.0,0.0);
331 new TRotMatrix("itsrot239","itsrot239",90.0,162.0,90.0,252.0,0.0,0.0);
332 new TRotMatrix("itsrot240","itsrot240",90.0,310.0,90.0,40.0,0.0,0.0);
333 new TRotMatrix("itsrot241","itsrot241",90.0,319.0,90.0,49.0,0.0,0.0);
334 new TRotMatrix("itsrot242","itsrot242",90.0,328.0,90.0,58.0,0.0,0.0);
335 new TRotMatrix("itsrot243","itsrot243",90.0,337.0,90.0,67.0,0.0,0.0);
336
337 }
338
339 // SDD
340
341 new TRotMatrix("itsrot321","itsrot321",90.0,12.86,90.0,102.86,0.0,0.0);
342 new TRotMatrix("itsrot333","itsrot333",90.0,38.57,90.0,128.57,0.0,0.0);
343 new TRotMatrix("itsrot336","itsrot336",90.0,64.29,90.0,154.29,0.0,0.0);
344 new TRotMatrix("itsrot350","itsrot350",90.0,90.0,90.0,180.0,0.0,0.0);
345 new TRotMatrix("itsrot313","itsrot313",90.0,115.71,90.0,205.71,0.0,0.0);
346 new TRotMatrix("itsrot311","itsrot311",90.0,141.43,90.0,231.43,0.0,0.0);
347 new TRotMatrix("itsrot310","itsrot310",90.0,167.14,90.0,257.14,0.0,0.0);
348 new TRotMatrix("itsrot386","itsrot386",90.0,192.86,90.0,282.86,0.0,0.0);
349 new TRotMatrix("itsrot309","itsrot309",90.0,218.57,90.0,308.57,0.0,0.0);
350 new TRotMatrix("itsrot308","itsrot308",90.0,244.29,90.0,334.29,0.0,0.0);
351 new TRotMatrix("itsrot356","itsrot356",90.0,270.0,90.0,0.0,0.0,0.0);
352 new TRotMatrix("itsrot307","itsrot307",90.0,295.71,90.0,25.71,0.0,0.0);
353 new TRotMatrix("itsrot306","itsrot306",90.0,321.43,90.0,51.43,0.0,0.0);
354 new TRotMatrix("itsrot305","itsrot305",90.0,347.14,90.0,77.14,0.0,0.0);
355 new TRotMatrix("itsrot335","itsrot335",90.0,8.18,90.0,98.18,0.0,0.0);
356 new TRotMatrix("itsrot332","itsrot332",90.0,24.55,90.0,114.55,0.0,0.0);
357 new TRotMatrix("itsrot331","itsrot331",90.0,40.91,90.0,130.91,0.0,0.0);
358 new TRotMatrix("itsrot366","itsrot366",90.0,57.27,90.0,147.27,0.0,0.0);
359 new TRotMatrix("itsrot330","itsrot330",90.0,73.64,90.0,163.64,0.0,0.0);
360 new TRotMatrix("itsrot350","itsrot350",90.0,90.0,90.0,180.0,0.0,0.0);
361 new TRotMatrix("itsrot329","itsrot329",90.0,106.36,90.0,196.36,0.0,0.0);
362 new TRotMatrix("itsrot328","itsrot328",90.0,122.73,90.0,212.73,0.0,0.0);
363 new TRotMatrix("itsrot327","itsrot327",90.0,139.09,90.0,229.09,0.0,0.0);
364 new TRotMatrix("itsrot326","itsrot326",90.0,155.45,90.0,245.45,0.0,0.0);
365 new TRotMatrix("itsrot325","itsrot325",90.0,171.82,90.0,261.82,0.0,0.0);
366 new TRotMatrix("itsrot324","itsrot324",90.0,188.18,90.0,278.18,0.0,0.0);
367 new TRotMatrix("itsrot323","itsrot323",90.0,204.55,90.0,294.55,0.0,0.0);
368 new TRotMatrix("itsrot322","itsrot322",90.0,220.91,90.0,310.91,0.0,0.0);
369 new TRotMatrix("itsrot320","itsrot320",90.0,237.27,90.0,327.27,0.0,0.0);
370 new TRotMatrix("itsrot319","itsrot319",90.0,253.64,90.0,343.64,0.0,0.0);
371 new TRotMatrix("itsrot318","itsrot318",90.0,270.0,90.0,360.0,0.0,0.0);
372 new TRotMatrix("itsrot317","itsrot317",90.0,286.36,90.0,16.36,0.0,0.0);
373 new TRotMatrix("itsrot316","itsrot316",90.0,302.73,90.0,32.73,0.0,0.0);
374 new TRotMatrix("itsrot315","itsrot315",90.0,319.09,90.0,49.09,0.0,0.0);
375 new TRotMatrix("itsrot314","itsrot314",90.0,335.45,90.0,65.45,0.0,0.0);
376 new TRotMatrix("itsrot334","itsrot334",90.0,351.82,90.0,81.82,0.0,0.0);
377
378 //SSD
379
380 new TRotMatrix("itsrot504","itsrot504",90.0,127.06,90.0,217.06,0.0,0.0);
381 new TRotMatrix("itsrot505","itsrot505",90.0,116.47,90.0,206.47,0.0,0.0);
382 new TRotMatrix("itsrot506","itsrot506",90.0,105.88,90.0,195.88,0.0,0.0);
383 new TRotMatrix("itsrot507","itsrot507",90.0,95.29,90.0,185.29,0.0,0.0);
384 new TRotMatrix("itsrot508","itsrot508",90.0,84.71,90.0,174.71,0.0,0.0);
385 new TRotMatrix("itsrot509","itsrot509",90.0,74.12,90.0,164.12,0.0,0.0);
386 new TRotMatrix("itsrot510","itsrot510",90.0,63.53,90.0,153.53,0.0,0.0);
387 new TRotMatrix("itsrot511","itsrot511",90.0,52.94,90.0,142.94,0.0,0.0);
388 new TRotMatrix("itsrot512","itsrot512",90.0,42.35,90.0,132.35,0.0,0.0);
389 new TRotMatrix("itsrot513","itsrot513",90.0,31.76,90.0,121.76,0.0,0.0);
390 new TRotMatrix("itsrot653","itsrot653",90.0,21.18,90.0,111.18,0.0,0.0);
391 new TRotMatrix("itsrot514","itsrot514",90.0,10.59,90.0,100.59,0.0,0.0);
392 new TRotMatrix("itsrot515","itsrot515",90.0,349.41,90.0,79.41,0.0,0.0);
393 new TRotMatrix("itsrot516","itsrot516",90.0,338.82,90.0,68.82,0.0,0.0);
394 new TRotMatrix("itsrot517","itsrot517",90.0,328.24,90.0,58.24,0.0,0.0);
395 new TRotMatrix("itsrot518","itsrot518",90.0,317.65,90.0,47.65,0.0,0.0);
396 new TRotMatrix("itsrot519","itsrot519",90.0,307.06,90.0,37.06,0.0,0.0);
397 new TRotMatrix("itsrot520","itsrot520",90.0,296.47,90.0,26.47,0.0,0.0);
398 new TRotMatrix("itsrot521","itsrot521",90.0,285.88,90.0,15.88,0.0,0.0);
399 new TRotMatrix("itsrot522","itsrot522",90.0,275.29,90.0,5.29,0.0,0.0);
400 new TRotMatrix("itsrot523","itsrot523",90.0,264.71,90.0,354.71,0.0,0.0);
401 new TRotMatrix("itsrot524","itsrot524",90.0,254.12,90.0,344.12,0.0,0.0);
402 new TRotMatrix("itsrot525","itsrot525",90.0,243.53,90.0,333.53,0.0,0.0);
403 new TRotMatrix("itsrot526","itsrot526",90.0,232.94,90.0,322.94,0.0,0.0);
404 new TRotMatrix("itsrot527","itsrot527",90.0,222.35,90.0,312.35,0.0,0.0);
405 new TRotMatrix("itsrot528","itsrot528",90.0,211.76,90.0,301.76,0.0,0.0);
406 new TRotMatrix("itsrot618","itsrot618",90.0,201.18,90.0,291.18,0.0,0.0);
407 new TRotMatrix("itsrot529","itsrot529",90.0,190.59,90.0,280.59,0.0,0.0);
408 new TRotMatrix("itsrot533","itsrot533",90.0,180.0,90.0,270.0,0.0,0.0);
409 new TRotMatrix("itsrot530","itsrot530",90.0,169.41,90.0,259.41,0.0,0.0);
410 new TRotMatrix("itsrot531","itsrot531",90.0,158.82,90.0,248.82,0.0,0.0);
411 new TRotMatrix("itsrot501","itsrot501",90.0,148.24,90.0,238.24,0.0,0.0);
412 new TRotMatrix("itsrot503","itsrot503",90.0,137.65,90.0,227.65,0.0,0.0);
413 new TRotMatrix("itsrot532","itsrot532",90.0,360.0,90.0,90.0,0.0,0.0);
414 new TRotMatrix("itsrot560","itsrot560",90.0,85.26,90.0,175.26,0.0,0.0);
415 new TRotMatrix("itsrot561","itsrot561",90.0,94.74,90.0,184.74,0.0,0.0);
416 new TRotMatrix("itsrot562","itsrot562",90.0,104.21,90.0,194.21,0.0,0.0);
417 new TRotMatrix("itsrot563","itsrot563",90.0,113.68,90.0,203.68,0.0,0.0);
418 new TRotMatrix("itsrot564","itsrot564",90.0,123.16,90.0,213.16,0.0,0.0);
419 new TRotMatrix("itsrot565","itsrot565",90.0,132.63,90.0,222.63,0.0,0.0);
420 new TRotMatrix("itsrot566","itsrot566",90.0,142.11,90.0,232.11,0.0,0.0);
421 new TRotMatrix("itsrot567","itsrot567",90.0,151.58,90.0,241.58,0.0,0.0);
422 new TRotMatrix("itsrot568","itsrot568",90.0,161.05,90.0,251.05,0.0,0.0);
423 new TRotMatrix("itsrot569","itsrot569",90.0,170.53,90.0,260.53,0.0,0.0);
424 new TRotMatrix("itsrot533","itsrot533",90.0,180.0,90.0,270.0,0.0,0.0);
425 new TRotMatrix("itsrot534","itsrot534",90.0,189.47,90.0,279.47,0.0,0.0);
426 new TRotMatrix("itsrot535","itsrot535",90.0,198.95,90.0,288.95,0.0,0.0);
427 new TRotMatrix("itsrot623","itsrot623",90.0,208.42,90.0,298.42,0.0,0.0);
428 new TRotMatrix("itsrot537","itsrot537",90.0,217.89,90.0,307.89,0.0,0.0);
429 new TRotMatrix("itsrot538","itsrot538",90.0,227.37,90.0,317.37,0.0,0.0);
430 new TRotMatrix("itsrot539","itsrot539",90.0,236.84,90.0,326.84,0.0,0.0);
431 new TRotMatrix("itsrot540","itsrot540",90.0,246.32,90.0,336.32,0.0,0.0);
432 new TRotMatrix("itsrot541","itsrot541",90.0,255.79,90.0,345.79,0.0,0.0);
433 new TRotMatrix("itsrot542","itsrot542",90.0,265.26,90.0,355.26,0.0,0.0);
434 new TRotMatrix("itsrot543","itsrot543",90.0,274.74,90.0,4.74,0.0,0.0);
435 new TRotMatrix("itsrot544","itsrot544",90.0,284.21,90.0,14.21,0.0,0.0);
436 new TRotMatrix("itsrot545","itsrot545",90.0,293.68,90.0,23.68,0.0,0.0);
437 new TRotMatrix("itsrot546","itsrot546",90.0,303.16,90.0,33.16,0.0,0.0);
438 new TRotMatrix("itsrot547","itsrot547",90.0,312.63,90.0,42.63,0.0,0.0);
439 new TRotMatrix("itsrot548","itsrot548",90.0,322.11,90.0,52.11,0.0,0.0);
440 new TRotMatrix("itsrot549","itsrot549",90.0,331.58,90.0,61.58,0.0,0.0);
441 new TRotMatrix("itsrot550","itsrot550",90.0,341.05,90.0,71.05,0.0,0.0);
442 new TRotMatrix("itsrot551","itsrot551",90.0,350.53,90.0,80.53,0.0,0.0);
443 new TRotMatrix("itsrot552","itsrot552",90.0,9.47,90.0,99.47,0.0,0.0);
444 new TRotMatrix("itsrot553","itsrot553",90.0,18.95,90.0,108.95,0.0,0.0);
445 new TRotMatrix("itsrot620","itsrot620",90.0,28.42,90.0,118.42,0.0,0.0);
446 new TRotMatrix("itsrot555","itsrot555",90.0,37.89,90.0,127.89,0.0,0.0);
447 new TRotMatrix("itsrot556","itsrot556",90.0,47.37,90.0,137.37,0.0,0.0);
448 new TRotMatrix("itsrot557","itsrot557",90.0,56.84,90.0,146.84,0.0,0.0);
449 new TRotMatrix("itsrot558","itsrot558",90.0,66.32,90.0,156.32,0.0,0.0);
450 new TRotMatrix("itsrot559","itsrot559",90.0,75.79,90.0,165.79,0.0,0.0);
451
452
453 // --- Define SPD (option 'a') volumes ----------------------------
454
455 // SPD - option 'a'
456 // (this is NOT the default)
457
458 if (option == 1) {
459
460 dits1[0] = 0.64;
461 dits1[1] = ddet1;
462 dits1[2] = 3.48;
463 new TBRIK("ITS1","ITS1","void",dits1[0],dits1[1],dits1[2]);
464
465 dits2[0] = 0.64;
466 dits2[1] = ddet2;
467 dits2[2] = 3.48;
468 new TBRIK("ITS2","ITS2","void",dits2[0],dits2[1],dits2[2]);
469
470 di101[0] = 0.705;
471 di101[1] = ddet1;
472 di101[2] = 3.536;
473 new TBRIK("I101","I101","void",di101[0],di101[1],di101[2]);
474
475 di1d1[0] = 0.705;
476 di1d1[1] = ddet2;
477 di1d1[2] = 3.536;
478 new TBRIK("I1D1","I1D1","void",di1d1[0],di1d1[1],di1d1[2]);
479
480 di103[0] = 0.793;
481 di103[1] = ddet1+dchip1;
482 di103[2] = 3.536;
483 new TBRIK("I103","I103","void",di103[0],di103[1],di103[2]);
484
485 di1d3[0] = 0.793;
486 di1d3[1] = ddet2+dchip2;
487 di1d3[2] = 3.536;
488 new TBRIK("I1D3","I1D3","void",di1d3[0],di1d3[1],di1d3[2]);
489
490 di10a[0] = 0.843;
491 di10a[1] = ddet1+dchip1+dbus+0.0025;
492 di10a[2] = 19.344;
493 new TBRIK("I10A","I10A","void",di10a[0],di10a[1],di10a[2]);
494
495 di20a[0] = 0.843;
496 di20a[1] = ddet2+dchip2+dbus+0.0025;
497 di20a[2] = 19.344;
498 new TBRIK("I20A","I20A","void",di20a[0],di20a[1],di20a[2]);
499
500 dits[0] = 3.7;
501 dits[1] = 7.7;
502 dits[2] = 24;
503 dits[3] = 57;
504 dits[4] = 100;
505 new TTUBS("I12A","I12A","void",dits[0],dits[1],dits[2],dits[3],dits[4]);
506
507 dits[0] = 3.7;
508 dits[1] = 7.75;
509 dits[2] = 26.1;
510 new TTUBE("IT12","IT12","void",dits[0],dits[1],dits[2]);
511
512 }
513
514 // --- Define SPD (option 'b') volumes ----------------------------
515
516 // SPD - option 'b'
517 // (this is the default)
518
519 if (option == 2) {
520
521 dits1[0] = 0.64;
522 dits1[1] = ddet1;
523 dits1[2] = 3.48;
524 new TBRIK("ITS1","ITS1","void",dits1[0],dits1[1],dits1[2]);
525
526 dits2[0] = 0.64;
527 dits2[1] = ddet2;
528 dits2[2] = 3.48;
529 new TBRIK("ITS2","ITS2","void",dits2[0],dits2[1],dits2[2]);
530
531 di101[0] = 0.705;
532 di101[1] = ddet1;
533 di101[2] = 3.536;
534 new TBRIK("I101","I101","void",di101[0],di101[1],di101[2]);
535
536 di1d1[0] = 0.705;
537 di1d1[1] = ddet2;
538 di1d1[2] = 3.536;
539 new TBRIK("I1D1","I1D1","void",di1d1[0],di1d1[1],di1d1[2]);
540
541 di107[0] = 0.793;
542 di107[1] = ddet1+dchip1;
543 di107[2] = 3.536;
544 new TBRIK("I107","I107","void",di107[0],di107[1],di107[2]);
545
546 di1d7[0] = 0.7975;
547 di1d7[1] = ddet2+dchip2;
548 di1d7[2] = 3.536;
549 new TBRIK("I1D7","I1D7","void",di1d7[0],di1d7[1],di1d7[2]);
550
551 di10b[0] = 0.843;
552 di10b[1] = ddet1+dchip1+dbus+0.0025;
553 di10b[2] = 19.344;
554 new TBRIK("I10B","I10B","void",di10b[0],di10b[1],di10b[2]);
555
556 di20b[0] = 0.843;
557 di20b[1] = ddet2+dchip2+dbus+0.0025;
558 di20b[2] = 19.344;
559 new TBRIK("I20B","I20B","void",di20b[0],di20b[1],di20b[2]);
560
561 dits[0] = 3.7;
562 dits[1] = 7.7;
563 dits[2] = 24;
564 dits[3] = 57;
565 dits[4] = 100;
566 new TTUBS("I12B","I12B","void",dits[0],dits[1],dits[2],dits[3],dits[4]);
567
568 dits[0] = 3.7;
569 dits[1] = 7.75;
570 dits[2] = 26.1;
571 new TTUBE("IT12","IT12","void",dits[0],dits[1],dits[2]);
572
573
574 }
575
576 // --- Define SDD volumes ------------------------------------------
577
578 TPCON *it34 = new TPCON("IT34","IT34","void",0.,360.,6);
579 it34->DefineSection(0,-34.6,23.49,28.);
580 it34->DefineSection(1,-23.65,23.49,28.);
581 it34->DefineSection(2,-23.65,14.59,28.);
582 it34->DefineSection(3,23.65,14.59,28.);
583 it34->DefineSection(4,23.65,23.49,28.);
584 it34->DefineSection(5,34.6,23.49,28.);
585
586 I302dits[0] = 3.6250;
587 I302dits[1] = 0.0150;
588 I302dits[2] = 4.3794;
589 new TBRIK("I302","I302","void",I302dits[0],I302dits[1],I302dits[2]);
590
591 I004dits[0] = I302dits[0]+0.005;
592 I004dits[1] = 2*I302dits[1]+Y_SDD_sep/2.;
593 I004dits[2] = TMath::Abs(Z_SDD_lay3[0]);
594 if (I004dits[2] < TMath::Abs(Z_SDD_lay3[5])) {
595 I004dits[2] = TMath::Abs(Z_SDD_lay3[5]);
596 }
597 I004dits[2] = I004dits[2] + I302dits[2];
598 new TBRIK("I004","I004","void",I004dits[0],I004dits[1],I004dits[2]);
599
600 dits[0] = 3.50850;
601 dits[1] = 0.01499;
602 dits[2] = 3.76320;
603 new TBRIK("ITS3","ITS3","void",dits[0],dits[1],dits[2]);
604
605 I402dits[0] = 3.6250;
606 I402dits[1] = 0.0150;
607 I402dits[2] = 4.3794;
608 new TBRIK("I402","I402","void",I402dits[0],I402dits[1],I402dits[2]);
609
610 I005dits[0] = I402dits[0]+0.005;
611 I005dits[1] = 2*I402dits[1]+Y_SDD_sep/2.;
612 I005dits[2] = TMath::Abs(Z_SDD_lay4[0]);
613 if (I005dits[2] < TMath::Abs(Z_SDD_lay4[7])) {
614 I005dits[2] = TMath::Abs(Z_SDD_lay4[7]);
615 }
616 I005dits[2] = I005dits[2] + I402dits[2];
617 new TBRIK("I005","I005","void",I005dits[0],I005dits[1],I005dits[2]);
618
619 dits[0] = 3.50850;
620 dits[1] = 0.01499;
621 dits[2] = 3.76320;
622 new TBRIK("ITS4","ITS4","void",dits[0],dits[1],dits[2]);
623
624
625 // --- Define SSD volumes ------------------------------------------
626
627
628 TPCON *it56 = new TPCON("IT56","IT56","void",0.,360.,6);
629 it56->DefineSection(0,-57.45,43.6,48.);
630 it56->DefineSection(1,-49.15,43.6,48.);
631 it56->DefineSection(2,-49.15,36.9,48.);
632 it56->DefineSection(3,50.55,36.9,48.);
633 it56->DefineSection(4,50.55,43.6,48.);
634 it56->DefineSection(5,57.45,43.6,48.);
635
636 dits[0] = 3.75;
637 dits[1] = 0.045;
638 dits[2] = 43.3;
639 new TBRIK("I565","I565","void",dits[0],dits[1],dits[2]);
640
641 dits[0] = 3.75;
642 dits[1] = 0.045;
643 dits[2] = 50.975;
644 new TBRIK("I569","I569","void",dits[0],dits[1],dits[2]);
645
646 dits[0] = 3.75;
647 dits[1] = 0.015;
648 dits[2] = 2.1;
649 new TBRIK("I562","I562","void",dits[0],dits[1],dits[2]);
650
651 dits[0] = 3.75;
652 dits[1] = 0.015;
653 dits[2] = 2.1;
654 new TBRIK("I566","I566","void",dits[0],dits[1],dits[2]);
655
656 dits[0] = 3.65;
657 dits[1] = 0.015;
658 dits[2] = 2;
659 new TBRIK("ITS5","ITS5","void",dits[0],dits[1],dits[2]);
660
661 dits[0] = 3.65;
662 dits[1] = 0.015;
663 dits[2] = 2;
664 new TBRIK("ITS6","ITS6","void",dits[0],dits[1],dits[2]);
665
666 //
667
668 top->cd();
669
670 // --- Place SPD (option 'a') volumes into their mother volume
671
672 // SPD - option 'a'
673 // (this is NOT the default)
674
675 if (option == 1) {
676
677
678 }
679
680
681 // --- Place SPD (option 'b') volumes into their mother volume
682
683 // SPD - option 'b'
684 // (this is the default)
685
686 if (option == 2) {
687
688 // Place IT12 in Alice
689 //
690 node = new TNode("IT12","IT12","IT12",0.,0.,0.,"");
691 node->SetLineColor(kColorITS);
692 node->SetVisibility(0);
693 node->cd();
694 //
695 // Place copy #1 of I12B in IT12
696 //
697 sub1node = new TNode("I12B","I12B","I12B",0.,0.,0.,"");
698 sub1node->SetLineColor(kColorITS);
699 sub1node->SetVisibility(0);
700 sub1node->cd();
701 //
702 // Place copy #1 of I10B in I12B
703 //
704 deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(252.*TMath::Pi()/180.);
705 deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(252.*TMath::Pi()/180.);
706 sub2node = new TNode("I10B","I10B","I10B",1.4531+deltax,3.8152+deltay,0.,"itsrot239");
707 sub2node->SetLineColor(kColorITS);
708 sub2node->SetVisibility(0);
709 sub2node->cd();
710 //
711 // Place copy #1 of I107 in I10B
712 //
713 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
714 sub3node->SetLineColor(kColorITS);
715 sub3node->SetVisibility(0);
716 sub3node->cd();
717 //
718 // Place copy #1 of I101 in I107
719 //
720 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
721 sub4node->SetLineColor(kColorITS);
722 sub4node->SetVisibility(0);
723 sub4node->cd();
724 //
725 // Place copy #1 of ITS1 in I101
726 //
727 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
728 sub5node->SetLineColor(kColorITS);
729 fNodes->Add(sub5node);
730 sub4node->cd();
731 fNodes->Add(sub4node);
732 sub3node->cd();
733 fNodes->Add(sub3node);
734 sub2node->cd();
735 //
736 // Place copy #2 of I107 in I10B
737 //
738 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
739 sub3node->SetLineColor(kColorITS);
740 sub3node->SetVisibility(0);
741 sub3node->cd();
742 //
743 // Place copy #1 of I101 in I107
744 //
745 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
746 sub4node->SetLineColor(kColorITS);
747 sub4node->SetVisibility(0);
748 sub4node->cd();
749 //
750 // Place copy #1 of ITS1 in I101
751 //
752 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
753 sub5node->SetLineColor(kColorITS);
754 fNodes->Add(sub5node);
755 sub4node->cd();
756 fNodes->Add(sub4node);
757 sub3node->cd();
758 fNodes->Add(sub3node);
759 sub2node->cd();
760 //
761 // Place copy #3 of I107 in I10B
762 //
763 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
764 sub3node->SetLineColor(kColorITS);
765 sub3node->SetVisibility(0);
766 sub3node->cd();
767 //
768 // Place copy #1 of I101 in I107
769 //
770 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
771 sub4node->SetLineColor(kColorITS);
772 sub4node->SetVisibility(0);
773 sub4node->cd();
774 //
775 // Place copy #1 of ITS1 in I101
776 //
777 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
778 sub5node->SetLineColor(kColorITS);
779 fNodes->Add(sub5node);
780 sub4node->cd();
781 fNodes->Add(sub4node);
782 sub3node->cd();
783 fNodes->Add(sub3node);
784 sub2node->cd();
785 //
786 // Place copy #4 of I107 in I10B
787 //
788 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
789 sub3node->SetLineColor(kColorITS);
790 sub3node->SetVisibility(0);
791 sub3node->cd();
792 //
793 // Place copy #1 of I101 in I107
794 //
795 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
796 sub4node->SetLineColor(kColorITS);
797 sub4node->SetVisibility(0);
798 sub4node->cd();
799 //
800 // Place copy #1 of ITS1 in I101
801 //
802 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
803 sub5node->SetLineColor(kColorITS);
804 fNodes->Add(sub5node);
805 sub4node->cd();
806 fNodes->Add(sub4node);
807 sub3node->cd();
808 fNodes->Add(sub3node);
809 sub2node->cd();
810 fNodes->Add(sub2node);
811 sub1node->cd();
812 //
813 // Place copy #2 of I10B in I12B
814 //
815 deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(270.*TMath::Pi()/180.);
816 deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(270.*TMath::Pi()/180.);
817 sub2node = new TNode("I10B","I10B","I10B",0.203+deltax,3.8206+deltay,0.,"itsrot238");
818 sub2node->SetLineColor(kColorITS);
819 sub2node->SetVisibility(0);
820 sub2node->cd();
821 //
822 // Place copy #1 of I107 in I10B
823 //
824 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
825 sub3node->SetLineColor(kColorITS);
826 sub3node->SetVisibility(0);
827 sub3node->cd();
828 //
829 // Place copy #1 of I101 in I107
830 //
831 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
832 sub4node->SetLineColor(kColorITS);
833 sub4node->SetVisibility(0);
834 sub4node->cd();
835 //
836 // Place copy #1 of ITS1 in I101
837 //
838 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
839 sub5node->SetLineColor(kColorITS);
840 fNodes->Add(sub5node);
841 sub4node->cd();
842 fNodes->Add(sub4node);
843 sub3node->cd();
844 fNodes->Add(sub3node);
845 sub2node->cd();
846 //
847 // Place copy #2 of I107 in I10B
848 //
849 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
850 sub3node->SetLineColor(kColorITS);
851 sub3node->SetVisibility(0);
852 sub3node->cd();
853 //
854 // Place copy #1 of I101 in I107
855 //
856 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
857 sub4node->SetLineColor(kColorITS);
858 sub4node->SetVisibility(0);
859 sub4node->cd();
860 //
861 // Place copy #1 of ITS1 in I101
862 //
863 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
864 sub5node->SetLineColor(kColorITS);
865 fNodes->Add(sub5node);
866 sub4node->cd();
867 fNodes->Add(sub4node);
868 sub3node->cd();
869 fNodes->Add(sub3node);
870 sub2node->cd();
871 //
872 // Place copy #3 of I107 in I10B
873 //
874 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
875 sub3node->SetLineColor(kColorITS);
876 sub3node->SetVisibility(0);
877 sub3node->cd();
878 //
879 // Place copy #1 of I101 in I107
880 //
881 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
882 sub4node->SetLineColor(kColorITS);
883 sub4node->SetVisibility(0);
884 sub4node->cd();
885 //
886 // Place copy #1 of ITS1 in I101
887 //
888 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
889 sub5node->SetLineColor(kColorITS);
890 fNodes->Add(sub5node);
891 sub4node->cd();
892 fNodes->Add(sub4node);
893 sub3node->cd();
894 fNodes->Add(sub3node);
895 sub2node->cd();
896 //
897 // Place copy #4 of I107 in I10B
898 //
899 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
900 sub3node->SetLineColor(kColorITS);
901 sub3node->SetVisibility(0);
902 sub3node->cd();
903 //
904 // Place copy #1 of I101 in I107
905 //
906 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
907 sub4node->SetLineColor(kColorITS);
908 sub4node->SetVisibility(0);
909 sub4node->cd();
910 //
911 // Place copy #1 of ITS1 in I101
912 //
913 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
914 sub5node->SetLineColor(kColorITS);
915 fNodes->Add(sub5node);
916 sub4node->cd();
917 fNodes->Add(sub4node);
918 sub3node->cd();
919 fNodes->Add(sub3node);
920 sub2node->cd();
921 fNodes->Add(sub2node);
922 sub1node->cd();
923 //
924 // Place copy #1 of I20B in I12B
925 //
926 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(40.*TMath::Pi()/180.);
927 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(40.*TMath::Pi()/180.);
928 sub2node = new TNode("I20B","I20B","I20B",3.0174+deltax,6.5143+deltay,0.,"itsrot240");
929 sub2node->SetLineColor(kColorITS);
930 sub2node->SetVisibility(0);
931 sub2node->cd();
932 //
933 // Place copy #1 of I1D7 in I20B
934 //
935 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
936 sub3node->SetLineColor(kColorITS);
937 sub3node->SetVisibility(0);
938 sub3node->cd();
939 //
940 // Place copy #1 of I1D1 in I1D7
941 //
942 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
943 sub4node->SetLineColor(kColorITS);
944 sub4node->SetVisibility(0);
945 sub4node->cd();
946 //
947 // Place copy #1 of ITS2 in I1D1
948 //
949 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
950 sub5node->SetLineColor(kColorITS);
951 fNodes->Add(sub5node);
952 sub4node->cd();
953 fNodes->Add(sub4node);
954 sub3node->cd();
955 fNodes->Add(sub3node);
956 sub2node->cd();
957 //
958 // Place copy #2 of I1D7 in I20B
959 //
960 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
961 sub3node->SetLineColor(kColorITS);
962 sub3node->SetVisibility(0);
963 sub3node->cd();
964 //
965 // Place copy #1 of I1D1 in I1D7
966 //
967 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
968 sub4node->SetLineColor(kColorITS);
969 sub4node->SetVisibility(0);
970 sub4node->cd();
971 //
972 // Place copy #1 of ITS2 in I1D1
973 //
974 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
975 sub5node->SetLineColor(kColorITS);
976 fNodes->Add(sub5node);
977 sub4node->cd();
978 fNodes->Add(sub4node);
979 sub3node->cd();
980 fNodes->Add(sub3node);
981 sub2node->cd();
982 //
983 // Place copy #3 of I1D7 in I20B
984 //
985 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
986 sub3node->SetLineColor(kColorITS);
987 sub3node->SetVisibility(0);
988 sub3node->cd();
989 //
990 // Place copy #1 of I1D1 in I1D7
991 //
992 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
993 sub4node->SetLineColor(kColorITS);
994 sub4node->SetVisibility(0);
995 sub4node->cd();
996 //
997 // Place copy #1 of ITS2 in I1D1
998 //
999 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1000 sub5node->SetLineColor(kColorITS);
1001 fNodes->Add(sub5node);
1002 sub4node->cd();
1003 fNodes->Add(sub4node);
1004 sub3node->cd();
1005 fNodes->Add(sub3node);
1006 sub2node->cd();
1007 //
1008 // Place copy #4 of I1D7 in I20B
1009 //
1010 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
1011 sub3node->SetLineColor(kColorITS);
1012 sub3node->SetVisibility(0);
1013 sub3node->cd();
1014 //
1015 // Place copy #1 of I1D1 in I1D7
1016 //
1017 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1018 sub4node->SetLineColor(kColorITS);
1019 sub4node->SetVisibility(0);
1020 sub4node->cd();
1021 //
1022 // Place copy #1 of ITS2 in I1D1
1023 //
1024 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1025 sub5node->SetLineColor(kColorITS);
1026 fNodes->Add(sub5node);
1027 sub4node->cd();
1028 fNodes->Add(sub4node);
1029 sub3node->cd();
1030 fNodes->Add(sub3node);
1031 sub2node->cd();
1032 fNodes->Add(sub2node);
1033 sub1node->cd();
1034 //
1035 // Place copy #2 of I20B in I12B
1036 //
1037 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(49.*TMath::Pi()/180.);
1038 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(49.*TMath::Pi()/180.);
1039 sub2node = new TNode("I20B","I20B","I20B",1.9612+deltax,6.9062+deltay,0.,"itsrot241");
1040 sub2node->SetLineColor(kColorITS);
1041 sub2node->SetVisibility(0);
1042 sub2node->cd();
1043 //
1044 // Place copy #1 of I1D7 in I20B
1045 //
1046 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
1047 sub3node->SetLineColor(kColorITS);
1048 sub3node->SetVisibility(0);
1049 sub3node->cd();
1050 //
1051 // Place copy #1 of I1D1 in I1D7
1052 //
1053 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1054 sub4node->SetLineColor(kColorITS);
1055 sub4node->SetVisibility(0);
1056 sub4node->cd();
1057 //
1058 // Place copy #1 of ITS2 in I1D1
1059 //
1060 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1061 sub5node->SetLineColor(kColorITS);
1062 fNodes->Add(sub5node);
1063 sub4node->cd();
1064 fNodes->Add(sub4node);
1065 sub3node->cd();
1066 fNodes->Add(sub3node);
1067 sub2node->cd();
1068 //
1069 // Place copy #2 of I1D7 in I20B
1070 //
1071 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
1072 sub3node->SetLineColor(kColorITS);
1073 sub3node->SetVisibility(0);
1074 sub3node->cd();
1075 //
1076 // Place copy #1 of I1D1 in I1D7
1077 //
1078 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1079 sub4node->SetLineColor(kColorITS);
1080 sub4node->SetVisibility(0);
1081 sub4node->cd();
1082 //
1083 // Place copy #1 of ITS2 in I1D1
1084 //
1085 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1086 sub5node->SetLineColor(kColorITS);
1087 fNodes->Add(sub5node);
1088 sub4node->cd();
1089 fNodes->Add(sub4node);
1090 sub3node->cd();
1091 fNodes->Add(sub3node);
1092 sub2node->cd();
1093 //
1094 // Place copy #3 of I1D7 in I20B
1095 //
1096 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
1097 sub3node->SetLineColor(kColorITS);
1098 sub3node->SetVisibility(0);
1099 sub3node->cd();
1100 //
1101 // Place copy #1 of I1D1 in I1D7
1102 //
1103 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1104 sub4node->SetLineColor(kColorITS);
1105 sub4node->SetVisibility(0);
1106 sub4node->cd();
1107 //
1108 // Place copy #1 of ITS2 in I1D1
1109 //
1110 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1111 sub5node->SetLineColor(kColorITS);
1112 fNodes->Add(sub5node);
1113 sub4node->cd();
1114 fNodes->Add(sub4node);
1115 sub3node->cd();
1116 fNodes->Add(sub3node);
1117 sub2node->cd();
1118 //
1119 // Place copy #4 of I1D7 in I20B
1120 //
1121 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
1122 sub3node->SetLineColor(kColorITS);
1123 sub3node->SetVisibility(0);
1124 sub3node->cd();
1125 //
1126 // Place copy #1 of I1D1 in I1D7
1127 //
1128 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1129 sub4node->SetLineColor(kColorITS);
1130 sub4node->SetVisibility(0);
1131 sub4node->cd();
1132 //
1133 // Place copy #1 of ITS2 in I1D1
1134 //
1135 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1136 sub5node->SetLineColor(kColorITS);
1137 fNodes->Add(sub5node);
1138 sub4node->cd();
1139 fNodes->Add(sub4node);
1140 sub3node->cd();
1141 fNodes->Add(sub3node);
1142 sub2node->cd();
1143 fNodes->Add(sub2node);
1144 sub1node->cd();
1145 //
1146 // Place copy #3 of I20B in I12B
1147 //
1148 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(58.*TMath::Pi()/180.);
1149 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(58.*TMath::Pi()/180.);
1150 sub2node = new TNode("I20B","I20B","I20B",0.8567+deltax,7.1279+deltay,0.,"itsrot242");
1151 sub2node->SetLineColor(kColorITS);
1152 sub2node->SetVisibility(0);
1153 sub2node->cd();
1154 //
1155 // Place copy #1 of I1D7 in I20B
1156 //
1157 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
1158 sub3node->SetLineColor(kColorITS);
1159 sub3node->SetVisibility(0);
1160 sub3node->cd();
1161 //
1162 // Place copy #1 of I1D1 in I1D7
1163 //
1164 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1165 sub4node->SetLineColor(kColorITS);
1166 sub4node->SetVisibility(0);
1167 sub4node->cd();
1168 //
1169 // Place copy #1 of ITS2 in I1D1
1170 //
1171 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1172 sub5node->SetLineColor(kColorITS);
1173 fNodes->Add(sub5node);
1174 sub4node->cd();
1175 fNodes->Add(sub4node);
1176 sub3node->cd();
1177 fNodes->Add(sub3node);
1178 sub2node->cd();
1179 //
1180 // Place copy #2 of I1D7 in I20B
1181 //
1182 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
1183 sub3node->SetLineColor(kColorITS);
1184 sub3node->SetVisibility(0);
1185 sub3node->cd();
1186 //
1187 // Place copy #1 of I1D1 in I1D7
1188 //
1189 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1190 sub4node->SetLineColor(kColorITS);
1191 sub4node->SetVisibility(0);
1192 sub4node->cd();
1193 //
1194 // Place copy #1 of ITS2 in I1D1
1195 //
1196 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1197 sub5node->SetLineColor(kColorITS);
1198 fNodes->Add(sub5node);
1199 sub4node->cd();
1200 fNodes->Add(sub4node);
1201 sub3node->cd();
1202 fNodes->Add(sub3node);
1203 sub2node->cd();
1204 //
1205 // Place copy #3 of I1D7 in I20B
1206 //
1207 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
1208 sub3node->SetLineColor(kColorITS);
1209 sub3node->SetVisibility(0);
1210 sub3node->cd();
1211 //
1212 // Place copy #1 of I1D1 in I1D7
1213 //
1214 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1215 sub4node->SetLineColor(kColorITS);
1216 sub4node->SetVisibility(0);
1217 sub4node->cd();
1218 //
1219 // Place copy #1 of ITS2 in I1D1
1220 //
1221 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1222 sub5node->SetLineColor(kColorITS);
1223 fNodes->Add(sub5node);
1224 sub4node->cd();
1225 fNodes->Add(sub4node);
1226 sub3node->cd();
1227 fNodes->Add(sub3node);
1228 sub2node->cd();
1229 //
1230 // Place copy #4 of I1D7 in I20B
1231 //
1232 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
1233 sub3node->SetLineColor(kColorITS);
1234 sub3node->SetVisibility(0);
1235 sub3node->cd();
1236 //
1237 // Place copy #1 of I1D1 in I1D7
1238 //
1239 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1240 sub4node->SetLineColor(kColorITS);
1241 sub4node->SetVisibility(0);
1242 sub4node->cd();
1243 //
1244 // Place copy #1 of ITS2 in I1D1
1245 //
1246 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1247 sub5node->SetLineColor(kColorITS);
1248 fNodes->Add(sub5node);
1249 sub4node->cd();
1250 fNodes->Add(sub4node);
1251 sub3node->cd();
1252 fNodes->Add(sub3node);
1253 sub2node->cd();
1254 fNodes->Add(sub2node);
1255 sub1node->cd();
1256 //
1257 // Place copy #4 of I20B in I12B
1258 //
1259 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(67.*TMath::Pi()/180.);
1260 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(67.*TMath::Pi()/180.);
1261 sub2node = new TNode("I20B","I20B","I20B",-0.2689+deltax,7.1742+deltay,0.,"itsrot243");
1262 sub2node->SetLineColor(kColorITS);
1263 sub2node->SetVisibility(0);
1264 sub2node->cd();
1265 //
1266 // Place copy #1 of I1D7 in I20B
1267 //
1268 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
1269 sub3node->SetLineColor(kColorITS);
1270 sub3node->SetVisibility(0);
1271 sub3node->cd();
1272 //
1273 // Place copy #1 of I1D1 in I1D7
1274 //
1275 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1276 sub4node->SetLineColor(kColorITS);
1277 sub4node->SetVisibility(0);
1278 sub4node->cd();
1279 //
1280 // Place copy #1 of ITS2 in I1D1
1281 //
1282 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1283 sub5node->SetLineColor(kColorITS);
1284 fNodes->Add(sub5node);
1285 sub4node->cd();
1286 fNodes->Add(sub4node);
1287 sub3node->cd();
1288 fNodes->Add(sub3node);
1289 sub2node->cd();
1290 //
1291 // Place copy #2 of I1D7 in I20B
1292 //
1293 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
1294 sub3node->SetLineColor(kColorITS);
1295 sub3node->SetVisibility(0);
1296 sub3node->cd();
1297 //
1298 // Place copy #1 of I1D1 in I1D7
1299 //
1300 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1301 sub4node->SetLineColor(kColorITS);
1302 sub4node->SetVisibility(0);
1303 sub4node->cd();
1304 //
1305 // Place copy #1 of ITS2 in I1D1
1306 //
1307 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1308 sub5node->SetLineColor(kColorITS);
1309 fNodes->Add(sub5node);
1310 sub4node->cd();
1311 fNodes->Add(sub4node);
1312 sub3node->cd();
1313 fNodes->Add(sub3node);
1314 sub2node->cd();
1315 //
1316 // Place copy #3 of I1D7 in I20B
1317 //
1318 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
1319 sub3node->SetLineColor(kColorITS);
1320 sub3node->SetVisibility(0);
1321 sub3node->cd();
1322 //
1323 // Place copy #1 of I1D1 in I1D7
1324 //
1325 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1326 sub4node->SetLineColor(kColorITS);
1327 sub4node->SetVisibility(0);
1328 sub4node->cd();
1329 //
1330 // Place copy #1 of ITS2 in I1D1
1331 //
1332 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1333 sub5node->SetLineColor(kColorITS);
1334 fNodes->Add(sub5node);
1335 sub4node->cd();
1336 fNodes->Add(sub4node);
1337 sub3node->cd();
1338 fNodes->Add(sub3node);
1339 sub2node->cd();
1340 //
1341 // Place copy #4 of I1D7 in I20B
1342 //
1343 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
1344 sub3node->SetLineColor(kColorITS);
1345 sub3node->SetVisibility(0);
1346 sub3node->cd();
1347 //
1348 // Place copy #1 of I1D1 in I1D7
1349 //
1350 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1351 sub4node->SetLineColor(kColorITS);
1352 sub4node->SetVisibility(0);
1353 sub4node->cd();
1354 //
1355 // Place copy #1 of ITS2 in I1D1
1356 //
1357 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1358 sub5node->SetLineColor(kColorITS);
1359 fNodes->Add(sub5node);
1360 sub4node->cd();
1361 fNodes->Add(sub4node);
1362 sub3node->cd();
1363 fNodes->Add(sub3node);
1364 sub2node->cd();
1365 fNodes->Add(sub2node);
1366 sub1node->cd();
1367 fNodes->Add(sub1node);
1368 node->cd();
1369 //
1370 // Place copy #2 of I12B in IT12
1371 //
1372 sub1node = new TNode("I12B","I12B","I12B",0.,0.,0.,"itsrot245");
1373 sub1node->SetLineColor(kColorITS);
1374 sub1node->SetVisibility(0);
1375 sub1node->cd();
1376 //
1377 // Place copy #1 of I10B in I12B
1378 //
1379 deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(252.*TMath::Pi()/180.);
1380 deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(252.*TMath::Pi()/180.);
1381 sub2node = new TNode("I10B","I10B","I10B",1.4531+deltax,3.8152+deltay,0.,"itsrot239");
1382 sub2node->SetLineColor(kColorITS);
1383 sub2node->SetVisibility(0);
1384 sub2node->cd();
1385 //
1386 // Place copy #1 of I107 in I10B
1387 //
1388 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
1389 sub3node->SetLineColor(kColorITS);
1390 sub3node->SetVisibility(0);
1391 sub3node->cd();
1392 //
1393 // Place copy #1 of I101 in I107
1394 //
1395 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
1396 sub4node->SetLineColor(kColorITS);
1397 sub4node->SetVisibility(0);
1398 sub4node->cd();
1399 //
1400 // Place copy #1 of ITS1 in I101
1401 //
1402 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
1403 sub5node->SetLineColor(kColorITS);
1404 fNodes->Add(sub5node);
1405 sub4node->cd();
1406 fNodes->Add(sub4node);
1407 sub3node->cd();
1408 fNodes->Add(sub3node);
1409 sub2node->cd();
1410 //
1411 // Place copy #2 of I107 in I10B
1412 //
1413 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
1414 sub3node->SetLineColor(kColorITS);
1415 sub3node->SetVisibility(0);
1416 sub3node->cd();
1417 //
1418 // Place copy #1 of I101 in I107
1419 //
1420 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
1421 sub4node->SetLineColor(kColorITS);
1422 sub4node->SetVisibility(0);
1423 sub4node->cd();
1424 //
1425 // Place copy #1 of ITS1 in I101
1426 //
1427 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
1428 sub5node->SetLineColor(kColorITS);
1429 fNodes->Add(sub5node);
1430 sub4node->cd();
1431 fNodes->Add(sub4node);
1432 sub3node->cd();
1433 fNodes->Add(sub3node);
1434 sub2node->cd();
1435 //
1436 // Place copy #3 of I107 in I10B
1437 //
1438 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
1439 sub3node->SetLineColor(kColorITS);
1440 sub3node->SetVisibility(0);
1441 sub3node->cd();
1442 //
1443 // Place copy #1 of I101 in I107
1444 //
1445 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
1446 sub4node->SetLineColor(kColorITS);
1447 sub4node->SetVisibility(0);
1448 sub4node->cd();
1449 //
1450 // Place copy #1 of ITS1 in I101
1451 //
1452 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
1453 sub5node->SetLineColor(kColorITS);
1454 fNodes->Add(sub5node);
1455 sub4node->cd();
1456 fNodes->Add(sub4node);
1457 sub3node->cd();
1458 fNodes->Add(sub3node);
1459 sub2node->cd();
1460 //
1461 // Place copy #4 of I107 in I10B
1462 //
1463 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
1464 sub3node->SetLineColor(kColorITS);
1465 sub3node->SetVisibility(0);
1466 sub3node->cd();
1467 //
1468 // Place copy #1 of I101 in I107
1469 //
1470 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
1471 sub4node->SetLineColor(kColorITS);
1472 sub4node->SetVisibility(0);
1473 sub4node->cd();
1474 //
1475 // Place copy #1 of ITS1 in I101
1476 //
1477 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
1478 sub5node->SetLineColor(kColorITS);
1479 fNodes->Add(sub5node);
1480 sub4node->cd();
1481 fNodes->Add(sub4node);
1482 sub3node->cd();
1483 fNodes->Add(sub3node);
1484 sub2node->cd();
1485 fNodes->Add(sub2node);
1486 sub1node->cd();
1487 //
1488 // Place copy #2 of I10B in I12B
1489 //
1490 deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(270.*TMath::Pi()/180.);
1491 deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(270.*TMath::Pi()/180.);
1492 sub2node = new TNode("I10B","I10B","I10B",0.203+deltax,3.8206+deltay,0.,"itsrot238");
1493 sub2node->SetLineColor(kColorITS);
1494 sub2node->SetVisibility(0);
1495 sub2node->cd();
1496 //
1497 // Place copy #1 of I107 in I10B
1498 //
1499 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
1500 sub3node->SetLineColor(kColorITS);
1501 sub3node->SetVisibility(0);
1502 sub3node->cd();
1503 //
1504 // Place copy #1 of I101 in I107
1505 //
1506 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
1507 sub4node->SetLineColor(kColorITS);
1508 sub4node->SetVisibility(0);
1509 sub4node->cd();
1510 //
1511 // Place copy #1 of ITS1 in I101
1512 //
1513 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
1514 sub5node->SetLineColor(kColorITS);
1515 fNodes->Add(sub5node);
1516 sub4node->cd();
1517 fNodes->Add(sub4node);
1518 sub3node->cd();
1519 fNodes->Add(sub3node);
1520 sub2node->cd();
1521 //
1522 // Place copy #2 of I107 in I10B
1523 //
1524 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
1525 sub3node->SetLineColor(kColorITS);
1526 sub3node->SetVisibility(0);
1527 sub3node->cd();
1528 //
1529 // Place copy #1 of I101 in I107
1530 //
1531 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
1532 sub4node->SetLineColor(kColorITS);
1533 sub4node->SetVisibility(0);
1534 sub4node->cd();
1535 //
1536 // Place copy #1 of ITS1 in I101
1537 //
1538 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
1539 sub5node->SetLineColor(kColorITS);
1540 fNodes->Add(sub5node);
1541 sub4node->cd();
1542 fNodes->Add(sub4node);
1543 sub3node->cd();
1544 fNodes->Add(sub3node);
1545 sub2node->cd();
1546 //
1547 // Place copy #3 of I107 in I10B
1548 //
1549 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
1550 sub3node->SetLineColor(kColorITS);
1551 sub3node->SetVisibility(0);
1552 sub3node->cd();
1553 //
1554 // Place copy #1 of I101 in I107
1555 //
1556 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
1557 sub4node->SetLineColor(kColorITS);
1558 sub4node->SetVisibility(0);
1559 sub4node->cd();
1560 //
1561 // Place copy #1 of ITS1 in I101
1562 //
1563 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
1564 sub5node->SetLineColor(kColorITS);
1565 fNodes->Add(sub5node);
1566 sub4node->cd();
1567 fNodes->Add(sub4node);
1568 sub3node->cd();
1569 fNodes->Add(sub3node);
1570 sub2node->cd();
1571 //
1572 // Place copy #4 of I107 in I10B
1573 //
1574 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
1575 sub3node->SetLineColor(kColorITS);
1576 sub3node->SetVisibility(0);
1577 sub3node->cd();
1578 //
1579 // Place copy #1 of I101 in I107
1580 //
1581 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
1582 sub4node->SetLineColor(kColorITS);
1583 sub4node->SetVisibility(0);
1584 sub4node->cd();
1585 //
1586 // Place copy #1 of ITS1 in I101
1587 //
1588 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
1589 sub5node->SetLineColor(kColorITS);
1590 fNodes->Add(sub5node);
1591 sub4node->cd();
1592 fNodes->Add(sub4node);
1593 sub3node->cd();
1594 fNodes->Add(sub3node);
1595 sub2node->cd();
1596 fNodes->Add(sub2node);
1597 sub1node->cd();
1598 //
1599 // Place copy #1 of I20B in I12B
1600 //
1601 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(40.*TMath::Pi()/180.);
1602 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(40.*TMath::Pi()/180.);
1603 sub2node = new TNode("I20B","I20B","I20B",3.0174+deltax,6.5143+deltay,0.,"itsrot240");
1604 sub2node->SetLineColor(kColorITS);
1605 sub2node->SetVisibility(0);
1606 sub2node->cd();
1607 //
1608 // Place copy #1 of I1D7 in I20B
1609 //
1610 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
1611 sub3node->SetLineColor(kColorITS);
1612 sub3node->SetVisibility(0);
1613 sub3node->cd();
1614 //
1615 // Place copy #1 of I1D1 in I1D7
1616 //
1617 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1618 sub4node->SetLineColor(kColorITS);
1619 sub4node->SetVisibility(0);
1620 sub4node->cd();
1621 //
1622 // Place copy #1 of ITS2 in I1D1
1623 //
1624 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1625 sub5node->SetLineColor(kColorITS);
1626 fNodes->Add(sub5node);
1627 sub4node->cd();
1628 fNodes->Add(sub4node);
1629 sub3node->cd();
1630 fNodes->Add(sub3node);
1631 sub2node->cd();
1632 //
1633 // Place copy #2 of I1D7 in I20B
1634 //
1635 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
1636 sub3node->SetLineColor(kColorITS);
1637 sub3node->SetVisibility(0);
1638 sub3node->cd();
1639 //
1640 // Place copy #1 of I1D1 in I1D7
1641 //
1642 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1643 sub4node->SetLineColor(kColorITS);
1644 sub4node->SetVisibility(0);
1645 sub4node->cd();
1646 //
1647 // Place copy #1 of ITS2 in I1D1
1648 //
1649 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1650 sub5node->SetLineColor(kColorITS);
1651 fNodes->Add(sub5node);
1652 sub4node->cd();
1653 fNodes->Add(sub4node);
1654 sub3node->cd();
1655 fNodes->Add(sub3node);
1656 sub2node->cd();
1657 //
1658 // Place copy #3 of I1D7 in I20B
1659 //
1660 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
1661 sub3node->SetLineColor(kColorITS);
1662 sub3node->SetVisibility(0);
1663 sub3node->cd();
1664 //
1665 // Place copy #1 of I1D1 in I1D7
1666 //
1667 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1668 sub4node->SetLineColor(kColorITS);
1669 sub4node->SetVisibility(0);
1670 sub4node->cd();
1671 //
1672 // Place copy #1 of ITS2 in I1D1
1673 //
1674 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1675 sub5node->SetLineColor(kColorITS);
1676 fNodes->Add(sub5node);
1677 sub4node->cd();
1678 fNodes->Add(sub4node);
1679 sub3node->cd();
1680 fNodes->Add(sub3node);
1681 sub2node->cd();
1682 //
1683 // Place copy #4 of I1D7 in I20B
1684 //
1685 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
1686 sub3node->SetLineColor(kColorITS);
1687 sub3node->SetVisibility(0);
1688 sub3node->cd();
1689 //
1690 // Place copy #1 of I1D1 in I1D7
1691 //
1692 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1693 sub4node->SetLineColor(kColorITS);
1694 sub4node->SetVisibility(0);
1695 sub4node->cd();
1696 //
1697 // Place copy #1 of ITS2 in I1D1
1698 //
1699 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1700 sub5node->SetLineColor(kColorITS);
1701 fNodes->Add(sub5node);
1702 sub4node->cd();
1703 fNodes->Add(sub4node);
1704 sub3node->cd();
1705 fNodes->Add(sub3node);
1706 sub2node->cd();
1707 fNodes->Add(sub2node);
1708 sub1node->cd();
1709 //
1710 // Place copy #2 of I20B in I12B
1711 //
1712 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(49.*TMath::Pi()/180.);
1713 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(49.*TMath::Pi()/180.);
1714 sub2node = new TNode("I20B","I20B","I20B",1.9612+deltax,6.9062+deltay,0.,"itsrot241");
1715 sub2node->SetLineColor(kColorITS);
1716 sub2node->SetVisibility(0);
1717 sub2node->cd();
1718 //
1719 // Place copy #1 of I1D7 in I20B
1720 //
1721 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
1722 sub3node->SetLineColor(kColorITS);
1723 sub3node->SetVisibility(0);
1724 sub3node->cd();
1725 //
1726 // Place copy #1 of I1D1 in I1D7
1727 //
1728 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1729 sub4node->SetLineColor(kColorITS);
1730 sub4node->SetVisibility(0);
1731 sub4node->cd();
1732 //
1733 // Place copy #1 of ITS2 in I1D1
1734 //
1735 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1736 sub5node->SetLineColor(kColorITS);
1737 fNodes->Add(sub5node);
1738 sub4node->cd();
1739 fNodes->Add(sub4node);
1740 sub3node->cd();
1741 fNodes->Add(sub3node);
1742 sub2node->cd();
1743 //
1744 // Place copy #2 of I1D7 in I20B
1745 //
1746 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
1747 sub3node->SetLineColor(kColorITS);
1748 sub3node->SetVisibility(0);
1749 sub3node->cd();
1750 //
1751 // Place copy #1 of I1D1 in I1D7
1752 //
1753 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1754 sub4node->SetLineColor(kColorITS);
1755 sub4node->SetVisibility(0);
1756 sub4node->cd();
1757 //
1758 // Place copy #1 of ITS2 in I1D1
1759 //
1760 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1761 sub5node->SetLineColor(kColorITS);
1762 fNodes->Add(sub5node);
1763 sub4node->cd();
1764 fNodes->Add(sub4node);
1765 sub3node->cd();
1766 fNodes->Add(sub3node);
1767 sub2node->cd();
1768 //
1769 // Place copy #3 of I1D7 in I20B
1770 //
1771 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
1772 sub3node->SetLineColor(kColorITS);
1773 sub3node->SetVisibility(0);
1774 sub3node->cd();
1775 //
1776 // Place copy #1 of I1D1 in I1D7
1777 //
1778 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1779 sub4node->SetLineColor(kColorITS);
1780 sub4node->SetVisibility(0);
1781 sub4node->cd();
1782 //
1783 // Place copy #1 of ITS2 in I1D1
1784 //
1785 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1786 sub5node->SetLineColor(kColorITS);
1787 fNodes->Add(sub5node);
1788 sub4node->cd();
1789 fNodes->Add(sub4node);
1790 sub3node->cd();
1791 fNodes->Add(sub3node);
1792 sub2node->cd();
1793 //
1794 // Place copy #4 of I1D7 in I20B
1795 //
1796 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
1797 sub3node->SetLineColor(kColorITS);
1798 sub3node->SetVisibility(0);
1799 sub3node->cd();
1800 //
1801 // Place copy #1 of I1D1 in I1D7
1802 //
1803 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1804 sub4node->SetLineColor(kColorITS);
1805 sub4node->SetVisibility(0);
1806 sub4node->cd();
1807 //
1808 // Place copy #1 of ITS2 in I1D1
1809 //
1810 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1811 sub5node->SetLineColor(kColorITS);
1812 fNodes->Add(sub5node);
1813 sub4node->cd();
1814 fNodes->Add(sub4node);
1815 sub3node->cd();
1816 fNodes->Add(sub3node);
1817 sub2node->cd();
1818 fNodes->Add(sub2node);
1819 sub1node->cd();
1820 //
1821 // Place copy #3 of I20B in I12B
1822 //
1823 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(58.*TMath::Pi()/180.);
1824 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(58.*TMath::Pi()/180.);
1825 sub2node = new TNode("I20B","I20B","I20B",0.8567+deltax,7.1279+deltay,0.,"itsrot242");
1826 sub2node->SetLineColor(kColorITS);
1827 sub2node->SetVisibility(0);
1828 sub2node->cd();
1829 //
1830 // Place copy #1 of I1D7 in I20B
1831 //
1832 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
1833 sub3node->SetLineColor(kColorITS);
1834 sub3node->SetVisibility(0);
1835 sub3node->cd();
1836 //
1837 // Place copy #1 of I1D1 in I1D7
1838 //
1839 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1840 sub4node->SetLineColor(kColorITS);
1841 sub4node->SetVisibility(0);
1842 sub4node->cd();
1843 //
1844 // Place copy #1 of ITS2 in I1D1
1845 //
1846 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1847 sub5node->SetLineColor(kColorITS);
1848 fNodes->Add(sub5node);
1849 sub4node->cd();
1850 fNodes->Add(sub4node);
1851 sub3node->cd();
1852 fNodes->Add(sub3node);
1853 sub2node->cd();
1854 //
1855 // Place copy #2 of I1D7 in I20B
1856 //
1857 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
1858 sub3node->SetLineColor(kColorITS);
1859 sub3node->SetVisibility(0);
1860 sub3node->cd();
1861 //
1862 // Place copy #1 of I1D1 in I1D7
1863 //
1864 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1865 sub4node->SetLineColor(kColorITS);
1866 sub4node->SetVisibility(0);
1867 sub4node->cd();
1868 //
1869 // Place copy #1 of ITS2 in I1D1
1870 //
1871 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1872 sub5node->SetLineColor(kColorITS);
1873 fNodes->Add(sub5node);
1874 sub4node->cd();
1875 fNodes->Add(sub4node);
1876 sub3node->cd();
1877 fNodes->Add(sub3node);
1878 sub2node->cd();
1879 //
1880 // Place copy #3 of I1D7 in I20B
1881 //
1882 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
1883 sub3node->SetLineColor(kColorITS);
1884 sub3node->SetVisibility(0);
1885 sub3node->cd();
1886 //
1887 // Place copy #1 of I1D1 in I1D7
1888 //
1889 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1890 sub4node->SetLineColor(kColorITS);
1891 sub4node->SetVisibility(0);
1892 sub4node->cd();
1893 //
1894 // Place copy #1 of ITS2 in I1D1
1895 //
1896 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1897 sub5node->SetLineColor(kColorITS);
1898 fNodes->Add(sub5node);
1899 sub4node->cd();
1900 fNodes->Add(sub4node);
1901 sub3node->cd();
1902 fNodes->Add(sub3node);
1903 sub2node->cd();
1904 //
1905 // Place copy #4 of I1D7 in I20B
1906 //
1907 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
1908 sub3node->SetLineColor(kColorITS);
1909 sub3node->SetVisibility(0);
1910 sub3node->cd();
1911 //
1912 // Place copy #1 of I1D1 in I1D7
1913 //
1914 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1915 sub4node->SetLineColor(kColorITS);
1916 sub4node->SetVisibility(0);
1917 sub4node->cd();
1918 //
1919 // Place copy #1 of ITS2 in I1D1
1920 //
1921 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1922 sub5node->SetLineColor(kColorITS);
1923 fNodes->Add(sub5node);
1924 sub4node->cd();
1925 fNodes->Add(sub4node);
1926 sub3node->cd();
1927 fNodes->Add(sub3node);
1928 sub2node->cd();
1929 fNodes->Add(sub2node);
1930 sub1node->cd();
1931 //
1932 // Place copy #4 of I20B in I12B
1933 //
1934 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(67.*TMath::Pi()/180.);
1935 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(67.*TMath::Pi()/180.);
1936 sub2node = new TNode("I20B","I20B","I20B",-0.2689+deltax,7.1742+deltay,0.,"itsrot243");
1937 sub2node->SetLineColor(kColorITS);
1938 sub2node->SetVisibility(0);
1939 sub2node->cd();
1940 //
1941 // Place copy #1 of I1D7 in I20B
1942 //
1943 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
1944 sub3node->SetLineColor(kColorITS);
1945 sub3node->SetVisibility(0);
1946 sub3node->cd();
1947 //
1948 // Place copy #1 of I1D1 in I1D7
1949 //
1950 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1951 sub4node->SetLineColor(kColorITS);
1952 sub4node->SetVisibility(0);
1953 sub4node->cd();
1954 //
1955 // Place copy #1 of ITS2 in I1D1
1956 //
1957 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1958 sub5node->SetLineColor(kColorITS);
1959 fNodes->Add(sub5node);
1960 sub4node->cd();
1961 fNodes->Add(sub4node);
1962 sub3node->cd();
1963 fNodes->Add(sub3node);
1964 sub2node->cd();
1965 //
1966 // Place copy #2 of I1D7 in I20B
1967 //
1968 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
1969 sub3node->SetLineColor(kColorITS);
1970 sub3node->SetVisibility(0);
1971 sub3node->cd();
1972 //
1973 // Place copy #1 of I1D1 in I1D7
1974 //
1975 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
1976 sub4node->SetLineColor(kColorITS);
1977 sub4node->SetVisibility(0);
1978 sub4node->cd();
1979 //
1980 // Place copy #1 of ITS2 in I1D1
1981 //
1982 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
1983 sub5node->SetLineColor(kColorITS);
1984 fNodes->Add(sub5node);
1985 sub4node->cd();
1986 fNodes->Add(sub4node);
1987 sub3node->cd();
1988 fNodes->Add(sub3node);
1989 sub2node->cd();
1990 //
1991 // Place copy #3 of I1D7 in I20B
1992 //
1993 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
1994 sub3node->SetLineColor(kColorITS);
1995 sub3node->SetVisibility(0);
1996 sub3node->cd();
1997 //
1998 // Place copy #1 of I1D1 in I1D7
1999 //
2000 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
2001 sub4node->SetLineColor(kColorITS);
2002 sub4node->SetVisibility(0);
2003 sub4node->cd();
2004 //
2005 // Place copy #1 of ITS2 in I1D1
2006 //
2007 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
2008 sub5node->SetLineColor(kColorITS);
2009 fNodes->Add(sub5node);
2010 sub4node->cd();
2011 fNodes->Add(sub4node);
2012 sub3node->cd();
2013 fNodes->Add(sub3node);
2014 sub2node->cd();
2015 //
2016 // Place copy #4 of I1D7 in I20B
2017 //
2018 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
2019 sub3node->SetLineColor(kColorITS);
2020 sub3node->SetVisibility(0);
2021 sub3node->cd();
2022 //
2023 // Place copy #1 of I1D1 in I1D7
2024 //
2025 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
2026 sub4node->SetLineColor(kColorITS);
2027 sub4node->SetVisibility(0);
2028 sub4node->cd();
2029 //
2030 // Place copy #1 of ITS2 in I1D1
2031 //
2032 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
2033 sub5node->SetLineColor(kColorITS);
2034 fNodes->Add(sub5node);
2035 sub4node->cd();
2036 fNodes->Add(sub4node);
2037 sub3node->cd();
2038 fNodes->Add(sub3node);
2039 sub2node->cd();
2040 fNodes->Add(sub2node);
2041 sub1node->cd();
2042 fNodes->Add(sub1node);
2043 node->cd();
2044 //
2045 // Place copy #3 of I12B in IT12
2046 //
2047 sub1node = new TNode("I12B","I12B","I12B",0.,0.,0.,"itsrot234");
2048 sub1node->SetLineColor(kColorITS);
2049 sub1node->SetVisibility(0);
2050 sub1node->cd();
2051 //
2052 // Place copy #1 of I10B in I12B
2053 //
2054 deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(252.*TMath::Pi()/180.);
2055 deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(252.*TMath::Pi()/180.);
2056 sub2node = new TNode("I10B","I10B","I10B",1.4531+deltax,3.8152+deltay,0.,"itsrot239");
2057 sub2node->SetLineColor(kColorITS);
2058 sub2node->SetVisibility(0);
2059 sub2node->cd();
2060 //
2061 // Place copy #1 of I107 in I10B
2062 //
2063 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
2064 sub3node->SetLineColor(kColorITS);
2065 sub3node->SetVisibility(0);
2066 sub3node->cd();
2067 //
2068 // Place copy #1 of I101 in I107
2069 //
2070 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
2071 sub4node->SetLineColor(kColorITS);
2072 sub4node->SetVisibility(0);
2073 sub4node->cd();
2074 //
2075 // Place copy #1 of ITS1 in I101
2076 //
2077 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
2078 sub5node->SetLineColor(kColorITS);
2079 fNodes->Add(sub5node);
2080 sub4node->cd();
2081 fNodes->Add(sub4node);
2082 sub3node->cd();
2083 fNodes->Add(sub3node);
2084 sub2node->cd();
2085 //
2086 // Place copy #2 of I107 in I10B
2087 //
2088 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
2089 sub3node->SetLineColor(kColorITS);
2090 sub3node->SetVisibility(0);
2091 sub3node->cd();
2092 //
2093 // Place copy #1 of I101 in I107
2094 //
2095 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
2096 sub4node->SetLineColor(kColorITS);
2097 sub4node->SetVisibility(0);
2098 sub4node->cd();
2099 //
2100 // Place copy #1 of ITS1 in I101
2101 //
2102 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
2103 sub5node->SetLineColor(kColorITS);
2104 fNodes->Add(sub5node);
2105 sub4node->cd();
2106 fNodes->Add(sub4node);
2107 sub3node->cd();
2108 fNodes->Add(sub3node);
2109 sub2node->cd();
2110 //
2111 // Place copy #3 of I107 in I10B
2112 //
2113 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
2114 sub3node->SetLineColor(kColorITS);
2115 sub3node->SetVisibility(0);
2116 sub3node->cd();
2117 //
2118 // Place copy #1 of I101 in I107
2119 //
2120 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
2121 sub4node->SetLineColor(kColorITS);
2122 sub4node->SetVisibility(0);
2123 sub4node->cd();
2124 //
2125 // Place copy #1 of ITS1 in I101
2126 //
2127 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
2128 sub5node->SetLineColor(kColorITS);
2129 fNodes->Add(sub5node);
2130 sub4node->cd();
2131 fNodes->Add(sub4node);
2132 sub3node->cd();
2133 fNodes->Add(sub3node);
2134 sub2node->cd();
2135 //
2136 // Place copy #4 of I107 in I10B
2137 //
2138 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
2139 sub3node->SetLineColor(kColorITS);
2140 sub3node->SetVisibility(0);
2141 sub3node->cd();
2142 //
2143 // Place copy #1 of I101 in I107
2144 //
2145 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
2146 sub4node->SetLineColor(kColorITS);
2147 sub4node->SetVisibility(0);
2148 sub4node->cd();
2149 //
2150 // Place copy #1 of ITS1 in I101
2151 //
2152 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
2153 sub5node->SetLineColor(kColorITS);
2154 fNodes->Add(sub5node);
2155 sub4node->cd();
2156 fNodes->Add(sub4node);
2157 sub3node->cd();
2158 fNodes->Add(sub3node);
2159 sub2node->cd();
2160 fNodes->Add(sub2node);
2161 sub1node->cd();
2162 //
2163 // Place copy #2 of I10B in I12B
2164 //
2165 deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(270.*TMath::Pi()/180.);
2166 deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(270.*TMath::Pi()/180.);
2167 sub2node = new TNode("I10B","I10B","I10B",0.203+deltax,3.8206+deltay,0.,"itsrot238");
2168 sub2node->SetLineColor(kColorITS);
2169 sub2node->SetVisibility(0);
2170 sub2node->cd();
2171 //
2172 // Place copy #1 of I107 in I10B
2173 //
2174 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
2175 sub3node->SetLineColor(kColorITS);
2176 sub3node->SetVisibility(0);
2177 sub3node->cd();
2178 //
2179 // Place copy #1 of I101 in I107
2180 //
2181 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
2182 sub4node->SetLineColor(kColorITS);
2183 sub4node->SetVisibility(0);
2184 sub4node->cd();
2185 //
2186 // Place copy #1 of ITS1 in I101
2187 //
2188 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
2189 sub5node->SetLineColor(kColorITS);
2190 fNodes->Add(sub5node);
2191 sub4node->cd();
2192 fNodes->Add(sub4node);
2193 sub3node->cd();
2194 fNodes->Add(sub3node);
2195 sub2node->cd();
2196 //
2197 // Place copy #2 of I107 in I10B
2198 //
2199 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
2200 sub3node->SetLineColor(kColorITS);
2201 sub3node->SetVisibility(0);
2202 sub3node->cd();
2203 //
2204 // Place copy #1 of I101 in I107
2205 //
2206 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
2207 sub4node->SetLineColor(kColorITS);
2208 sub4node->SetVisibility(0);
2209 sub4node->cd();
2210 //
2211 // Place copy #1 of ITS1 in I101
2212 //
2213 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
2214 sub5node->SetLineColor(kColorITS);
2215 fNodes->Add(sub5node);
2216 sub4node->cd();
2217 fNodes->Add(sub4node);
2218 sub3node->cd();
2219 fNodes->Add(sub3node);
2220 sub2node->cd();
2221 //
2222 // Place copy #3 of I107 in I10B
2223 //
2224 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
2225 sub3node->SetLineColor(kColorITS);
2226 sub3node->SetVisibility(0);
2227 sub3node->cd();
2228 //
2229 // Place copy #1 of I101 in I107
2230 //
2231 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
2232 sub4node->SetLineColor(kColorITS);
2233 sub4node->SetVisibility(0);
2234 sub4node->cd();
2235 //
2236 // Place copy #1 of ITS1 in I101
2237 //
2238 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
2239 sub5node->SetLineColor(kColorITS);
2240 fNodes->Add(sub5node);
2241 sub4node->cd();
2242 fNodes->Add(sub4node);
2243 sub3node->cd();
2244 fNodes->Add(sub3node);
2245 sub2node->cd();
2246 //
2247 // Place copy #4 of I107 in I10B
2248 //
2249 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
2250 sub3node->SetLineColor(kColorITS);
2251 sub3node->SetVisibility(0);
2252 sub3node->cd();
2253 //
2254 // Place copy #1 of I101 in I107
2255 //
2256 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
2257 sub4node->SetLineColor(kColorITS);
2258 sub4node->SetVisibility(0);
2259 sub4node->cd();
2260 //
2261 // Place copy #1 of ITS1 in I101
2262 //
2263 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
2264 sub5node->SetLineColor(kColorITS);
2265 fNodes->Add(sub5node);
2266 sub4node->cd();
2267 fNodes->Add(sub4node);
2268 sub3node->cd();
2269 fNodes->Add(sub3node);
2270 sub2node->cd();
2271 fNodes->Add(sub2node);
2272 sub1node->cd();
2273 //
2274 // Place copy #1 of I20B in I12B
2275 //
2276 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(40.*TMath::Pi()/180.);
2277 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(40.*TMath::Pi()/180.);
2278 sub2node = new TNode("I20B","I20B","I20B",3.0174+deltax,6.5143+deltay,0.,"itsrot240");
2279 sub2node->SetLineColor(kColorITS);
2280 sub2node->SetVisibility(0);
2281 sub2node->cd();
2282 //
2283 // Place copy #1 of I1D7 in I20B
2284 //
2285 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
2286 sub3node->SetLineColor(kColorITS);
2287 sub3node->SetVisibility(0);
2288 sub3node->cd();
2289 //
2290 // Place copy #1 of I1D1 in I1D7
2291 //
2292 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
2293 sub4node->SetLineColor(kColorITS);
2294 sub4node->SetVisibility(0);
2295 sub4node->cd();
2296 //
2297 // Place copy #1 of ITS2 in I1D1
2298 //
2299 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
2300 sub5node->SetLineColor(kColorITS);
2301 fNodes->Add(sub5node);
2302 sub4node->cd();
2303 fNodes->Add(sub4node);
2304 sub3node->cd();
2305 fNodes->Add(sub3node);
2306 sub2node->cd();
2307 //
2308 // Place copy #2 of I1D7 in I20B
2309 //
2310 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
2311 sub3node->SetLineColor(kColorITS);
2312 sub3node->SetVisibility(0);
2313 sub3node->cd();
2314 //
2315 // Place copy #1 of I1D1 in I1D7
2316 //
2317 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
2318 sub4node->SetLineColor(kColorITS);
2319 sub4node->SetVisibility(0);
2320 sub4node->cd();
2321 //
2322 // Place copy #1 of ITS2 in I1D1
2323 //
2324 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
2325 sub5node->SetLineColor(kColorITS);
2326 fNodes->Add(sub5node);
2327 sub4node->cd();
2328 fNodes->Add(sub4node);
2329 sub3node->cd();
2330 fNodes->Add(sub3node);
2331 sub2node->cd();
2332 //
2333 // Place copy #3 of I1D7 in I20B
2334 //
2335 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
2336 sub3node->SetLineColor(kColorITS);
2337 sub3node->SetVisibility(0);
2338 sub3node->cd();
2339 //
2340 // Place copy #1 of I1D1 in I1D7
2341 //
2342 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
2343 sub4node->SetLineColor(kColorITS);
2344 sub4node->SetVisibility(0);
2345 sub4node->cd();
2346 //
2347 // Place copy #1 of ITS2 in I1D1
2348 //
2349 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
2350 sub5node->SetLineColor(kColorITS);
2351 fNodes->Add(sub5node);
2352 sub4node->cd();
2353 fNodes->Add(sub4node);
2354 sub3node->cd();
2355 fNodes->Add(sub3node);
2356 sub2node->cd();
2357 //
2358 // Place copy #4 of I1D7 in I20B
2359 //
2360 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
2361 sub3node->SetLineColor(kColorITS);
2362 sub3node->SetVisibility(0);
2363 sub3node->cd();
2364 //
2365 // Place copy #1 of I1D1 in I1D7
2366 //
2367 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
2368 sub4node->SetLineColor(kColorITS);
2369 sub4node->SetVisibility(0);
2370 sub4node->cd();
2371 //
2372 // Place copy #1 of ITS2 in I1D1
2373 //
2374 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
2375 sub5node->SetLineColor(kColorITS);
2376 fNodes->Add(sub5node);
2377 sub4node->cd();
2378 fNodes->Add(sub4node);
2379 sub3node->cd();
2380 fNodes->Add(sub3node);
2381 sub2node->cd();
2382 fNodes->Add(sub2node);
2383 sub1node->cd();
2384 //
2385 // Place copy #2 of I20B in I12B
2386 //
2387 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(49.*TMath::Pi()/180.);
2388 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(49.*TMath::Pi()/180.);
2389 sub2node = new TNode("I20B","I20B","I20B",1.9612+deltax,6.9062+deltay,0.,"itsrot241");
2390 sub2node->SetLineColor(kColorITS);
2391 sub2node->SetVisibility(0);
2392 sub2node->cd();
2393 //
2394 // Place copy #1 of I1D7 in I20B
2395 //
2396 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
2397 sub3node->SetLineColor(kColorITS);
2398 sub3node->SetVisibility(0);
2399 sub3node->cd();
2400 //
2401 // Place copy #1 of I1D1 in I1D7
2402 //
2403 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
2404 sub4node->SetLineColor(kColorITS);
2405 sub4node->SetVisibility(0);
2406 sub4node->cd();
2407 //
2408 // Place copy #1 of ITS2 in I1D1
2409 //
2410 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
2411 sub5node->SetLineColor(kColorITS);
2412 fNodes->Add(sub5node);
2413 sub4node->cd();
2414 fNodes->Add(sub4node);
2415 sub3node->cd();
2416 fNodes->Add(sub3node);
2417 sub2node->cd();
2418 //
2419 // Place copy #2 of I1D7 in I20B
2420 //
2421 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
2422 sub3node->SetLineColor(kColorITS);
2423 sub3node->SetVisibility(0);
2424 sub3node->cd();
2425 //
2426 // Place copy #1 of I1D1 in I1D7
2427 //
2428 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
2429 sub4node->SetLineColor(kColorITS);
2430 sub4node->SetVisibility(0);
2431 sub4node->cd();
2432 //
2433 // Place copy #1 of ITS2 in I1D1
2434 //
2435 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
2436 sub5node->SetLineColor(kColorITS);
2437 fNodes->Add(sub5node);
2438 sub4node->cd();
2439 fNodes->Add(sub4node);
2440 sub3node->cd();
2441 fNodes->Add(sub3node);
2442 sub2node->cd();
2443 //
2444 // Place copy #3 of I1D7 in I20B
2445 //
2446 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
2447 sub3node->SetLineColor(kColorITS);
2448 sub3node->SetVisibility(0);
2449 sub3node->cd();
2450 //
2451 // Place copy #1 of I1D1 in I1D7
2452 //
2453 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
2454 sub4node->SetLineColor(kColorITS);
2455 sub4node->SetVisibility(0);
2456 sub4node->cd();
2457 //
2458 // Place copy #1 of ITS2 in I1D1
2459 //
2460 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
2461 sub5node->SetLineColor(kColorITS);
2462 fNodes->Add(sub5node);
2463 sub4node->cd();
2464 fNodes->Add(sub4node);
2465 sub3node->cd();
2466 fNodes->Add(sub3node);
2467 sub2node->cd();
2468 //
2469 // Place copy #4 of I1D7 in I20B
2470 //
2471 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
2472 sub3node->SetLineColor(kColorITS);
2473 sub3node->SetVisibility(0);
2474 sub3node->cd();
2475 //
2476 // Place copy #1 of I1D1 in I1D7
2477 //
2478 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
2479 sub4node->SetLineColor(kColorITS);
2480 sub4node->SetVisibility(0);
2481 sub4node->cd();
2482 //
2483 // Place copy #1 of ITS2 in I1D1
2484 //
2485 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
2486 sub5node->SetLineColor(kColorITS);
2487 fNodes->Add(sub5node);
2488 sub4node->cd();
2489 fNodes->Add(sub4node);
2490 sub3node->cd();
2491 fNodes->Add(sub3node);
2492 sub2node->cd();
2493 fNodes->Add(sub2node);
2494 sub1node->cd();
2495 //
2496 // Place copy #3 of I20B in I12B
2497 //
2498 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(58.*TMath::Pi()/180.);
2499 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(58.*TMath::Pi()/180.);
2500 sub2node = new TNode("I20B","I20B","I20B",0.8567+deltax,7.1279+deltay,0.,"itsrot242");
2501 sub2node->SetLineColor(kColorITS);
2502 sub2node->SetVisibility(0);
2503 sub2node->cd();
2504 //
2505 // Place copy #1 of I1D7 in I20B
2506 //
2507 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
2508 sub3node->SetLineColor(kColorITS);
2509 sub3node->SetVisibility(0);
2510 sub3node->cd();
2511 //
2512 // Place copy #1 of I1D1 in I1D7
2513 //
2514 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
2515 sub4node->SetLineColor(kColorITS);
2516 sub4node->SetVisibility(0);
2517 sub4node->cd();
2518 //
2519 // Place copy #1 of ITS2 in I1D1
2520 //
2521 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
2522 sub5node->SetLineColor(kColorITS);
2523 fNodes->Add(sub5node);
2524 sub4node->cd();
2525 fNodes->Add(sub4node);
2526 sub3node->cd();
2527 fNodes->Add(sub3node);
2528 sub2node->cd();
2529 //
2530 // Place copy #2 of I1D7 in I20B
2531 //
2532 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
2533 sub3node->SetLineColor(kColorITS);
2534 sub3node->SetVisibility(0);
2535 sub3node->cd();
2536 //
2537 // Place copy #1 of I1D1 in I1D7
2538 //
2539 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
2540 sub4node->SetLineColor(kColorITS);
2541 sub4node->SetVisibility(0);
2542 sub4node->cd();
2543 //
2544 // Place copy #1 of ITS2 in I1D1
2545 //
2546 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
2547 sub5node->SetLineColor(kColorITS);
2548 fNodes->Add(sub5node);
2549 sub4node->cd();
2550 fNodes->Add(sub4node);
2551 sub3node->cd();
2552 fNodes->Add(sub3node);
2553 sub2node->cd();
2554 //
2555 // Place copy #3 of I1D7 in I20B
2556 //
2557 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
2558 sub3node->SetLineColor(kColorITS);
2559 sub3node->SetVisibility(0);
2560 sub3node->cd();
2561 //
2562 // Place copy #1 of I1D1 in I1D7
2563 //
2564 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
2565 sub4node->SetLineColor(kColorITS);
2566 sub4node->SetVisibility(0);
2567 sub4node->cd();
2568 //
2569 // Place copy #1 of ITS2 in I1D1
2570 //
2571 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
2572 sub5node->SetLineColor(kColorITS);
2573 fNodes->Add(sub5node);
2574 sub4node->cd();
2575 fNodes->Add(sub4node);
2576 sub3node->cd();
2577 fNodes->Add(sub3node);
2578 sub2node->cd();
2579 //
2580 // Place copy #4 of I1D7 in I20B
2581 //
2582 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
2583 sub3node->SetLineColor(kColorITS);
2584 sub3node->SetVisibility(0);
2585 sub3node->cd();
2586 //
2587 // Place copy #1 of I1D1 in I1D7
2588 //
2589 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
2590 sub4node->SetLineColor(kColorITS);
2591 sub4node->SetVisibility(0);
2592 sub4node->cd();
2593 //
2594 // Place copy #1 of ITS2 in I1D1
2595 //
2596 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
2597 sub5node->SetLineColor(kColorITS);
2598 fNodes->Add(sub5node);
2599 sub4node->cd();
2600 fNodes->Add(sub4node);
2601 sub3node->cd();
2602 fNodes->Add(sub3node);
2603 sub2node->cd();
2604 fNodes->Add(sub2node);
2605 sub1node->cd();
2606 //
2607 // Place copy #4 of I20B in I12B
2608 //
2609 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(67.*TMath::Pi()/180.);
2610 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(67.*TMath::Pi()/180.);
2611 sub2node = new TNode("I20B","I20B","I20B",-0.2689+deltax,7.1742+deltay,0.,"itsrot243");
2612 sub2node->SetLineColor(kColorITS);
2613 sub2node->SetVisibility(0);
2614 sub2node->cd();
2615 //
2616 // Place copy #1 of I1D7 in I20B
2617 //
2618 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
2619 sub3node->SetLineColor(kColorITS);
2620 sub3node->SetVisibility(0);
2621 sub3node->cd();
2622 //
2623 // Place copy #1 of I1D1 in I1D7
2624 //
2625 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
2626 sub4node->SetLineColor(kColorITS);
2627 sub4node->SetVisibility(0);
2628 sub4node->cd();
2629 //
2630 // Place copy #1 of ITS2 in I1D1
2631 //
2632 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
2633 sub5node->SetLineColor(kColorITS);
2634 fNodes->Add(sub5node);
2635 sub4node->cd();
2636 fNodes->Add(sub4node);
2637 sub3node->cd();
2638 fNodes->Add(sub3node);
2639 sub2node->cd();
2640 //
2641 // Place copy #2 of I1D7 in I20B
2642 //
2643 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
2644 sub3node->SetLineColor(kColorITS);
2645 sub3node->SetVisibility(0);
2646 sub3node->cd();
2647 //
2648 // Place copy #1 of I1D1 in I1D7
2649 //
2650 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
2651 sub4node->SetLineColor(kColorITS);
2652 sub4node->SetVisibility(0);
2653 sub4node->cd();
2654 //
2655 // Place copy #1 of ITS2 in I1D1
2656 //
2657 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
2658 sub5node->SetLineColor(kColorITS);
2659 fNodes->Add(sub5node);
2660 sub4node->cd();
2661 fNodes->Add(sub4node);
2662 sub3node->cd();
2663 fNodes->Add(sub3node);
2664 sub2node->cd();
2665 //
2666 // Place copy #3 of I1D7 in I20B
2667 //
2668 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
2669 sub3node->SetLineColor(kColorITS);
2670 sub3node->SetVisibility(0);
2671 sub3node->cd();
2672 //
2673 // Place copy #1 of I1D1 in I1D7
2674 //
2675 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
2676 sub4node->SetLineColor(kColorITS);
2677 sub4node->SetVisibility(0);
2678 sub4node->cd();
2679 //
2680 // Place copy #1 of ITS2 in I1D1
2681 //
2682 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
2683 sub5node->SetLineColor(kColorITS);
2684 fNodes->Add(sub5node);
2685 sub4node->cd();
2686 fNodes->Add(sub4node);
2687 sub3node->cd();
2688 fNodes->Add(sub3node);
2689 sub2node->cd();
2690 //
2691 // Place copy #4 of I1D7 in I20B
2692 //
2693 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
2694 sub3node->SetLineColor(kColorITS);
2695 sub3node->SetVisibility(0);
2696 sub3node->cd();
2697 //
2698 // Place copy #1 of I1D1 in I1D7
2699 //
2700 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
2701 sub4node->SetLineColor(kColorITS);
2702 sub4node->SetVisibility(0);
2703 sub4node->cd();
2704 //
2705 // Place copy #1 of ITS2 in I1D1
2706 //
2707 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
2708 sub5node->SetLineColor(kColorITS);
2709 fNodes->Add(sub5node);
2710 sub4node->cd();
2711 fNodes->Add(sub4node);
2712 sub3node->cd();
2713 fNodes->Add(sub3node);
2714 sub2node->cd();
2715 fNodes->Add(sub2node);
2716 sub1node->cd();
2717 fNodes->Add(sub1node);
2718 node->cd();
2719 //
2720 // Place copy #4 of I12B in IT12
2721 //
2722 sub1node = new TNode("I12B","I12B","I12B",0.,0.,0.,"itsrot246");
2723 sub1node->SetLineColor(kColorITS);
2724 sub1node->SetVisibility(0);
2725 sub1node->cd();
2726 //
2727 // Place copy #1 of I10B in I12B
2728 //
2729 deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(252.*TMath::Pi()/180.);
2730 deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(252.*TMath::Pi()/180.);
2731 sub2node = new TNode("I10B","I10B","I10B",1.4531+deltax,3.8152+deltay,0.,"itsrot239");
2732 sub2node->SetLineColor(kColorITS);
2733 sub2node->SetVisibility(0);
2734 sub2node->cd();
2735 //
2736 // Place copy #1 of I107 in I10B
2737 //
2738 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
2739 sub3node->SetLineColor(kColorITS);
2740 sub3node->SetVisibility(0);
2741 sub3node->cd();
2742 //
2743 // Place copy #1 of I101 in I107
2744 //
2745 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
2746 sub4node->SetLineColor(kColorITS);
2747 sub4node->SetVisibility(0);
2748 sub4node->cd();
2749 //
2750 // Place copy #1 of ITS1 in I101
2751 //
2752 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
2753 sub5node->SetLineColor(kColorITS);
2754 fNodes->Add(sub5node);
2755 sub4node->cd();
2756 fNodes->Add(sub4node);
2757 sub3node->cd();
2758 fNodes->Add(sub3node);
2759 sub2node->cd();
2760 //
2761 // Place copy #2 of I107 in I10B
2762 //
2763 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
2764 sub3node->SetLineColor(kColorITS);
2765 sub3node->SetVisibility(0);
2766 sub3node->cd();
2767 //
2768 // Place copy #1 of I101 in I107
2769 //
2770 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
2771 sub4node->SetLineColor(kColorITS);
2772 sub4node->SetVisibility(0);
2773 sub4node->cd();
2774 //
2775 // Place copy #1 of ITS1 in I101
2776 //
2777 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
2778 sub5node->SetLineColor(kColorITS);
2779 fNodes->Add(sub5node);
2780 sub4node->cd();
2781 fNodes->Add(sub4node);
2782 sub3node->cd();
2783 fNodes->Add(sub3node);
2784 sub2node->cd();
2785 //
2786 // Place copy #3 of I107 in I10B
2787 //
2788 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
2789 sub3node->SetLineColor(kColorITS);
2790 sub3node->SetVisibility(0);
2791 sub3node->cd();
2792 //
2793 // Place copy #1 of I101 in I107
2794 //
2795 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
2796 sub4node->SetLineColor(kColorITS);
2797 sub4node->SetVisibility(0);
2798 sub4node->cd();
2799 //
2800 // Place copy #1 of ITS1 in I101
2801 //
2802 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
2803 sub5node->SetLineColor(kColorITS);
2804 fNodes->Add(sub5node);
2805 sub4node->cd();
2806 fNodes->Add(sub4node);
2807 sub3node->cd();
2808 fNodes->Add(sub3node);
2809 sub2node->cd();
2810 //
2811 // Place copy #4 of I107 in I10B
2812 //
2813 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
2814 sub3node->SetLineColor(kColorITS);
2815 sub3node->SetVisibility(0);
2816 sub3node->cd();
2817 //
2818 // Place copy #1 of I101 in I107
2819 //
2820 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
2821 sub4node->SetLineColor(kColorITS);
2822 sub4node->SetVisibility(0);
2823 sub4node->cd();
2824 //
2825 // Place copy #1 of ITS1 in I101
2826 //
2827 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
2828 sub5node->SetLineColor(kColorITS);
2829 fNodes->Add(sub5node);
2830 sub4node->cd();
2831 fNodes->Add(sub4node);
2832 sub3node->cd();
2833 fNodes->Add(sub3node);
2834 sub2node->cd();
2835 fNodes->Add(sub2node);
2836 sub1node->cd();
2837 //
2838 // Place copy #2 of I10B in I12B
2839 //
2840 deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(270.*TMath::Pi()/180.);
2841 deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(270.*TMath::Pi()/180.);
2842 sub2node = new TNode("I10B","I10B","I10B",0.203+deltax,3.8206+deltay,0.,"itsrot238");
2843 sub2node->SetLineColor(kColorITS);
2844 sub2node->SetVisibility(0);
2845 sub2node->cd();
2846 //
2847 // Place copy #1 of I107 in I10B
2848 //
2849 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
2850 sub3node->SetLineColor(kColorITS);
2851 sub3node->SetVisibility(0);
2852 sub3node->cd();
2853 //
2854 // Place copy #1 of I101 in I107
2855 //
2856 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
2857 sub4node->SetLineColor(kColorITS);
2858 sub4node->SetVisibility(0);
2859 sub4node->cd();
2860 //
2861 // Place copy #1 of ITS1 in I101
2862 //
2863 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
2864 sub5node->SetLineColor(kColorITS);
2865 fNodes->Add(sub5node);
2866 sub4node->cd();
2867 fNodes->Add(sub4node);
2868 sub3node->cd();
2869 fNodes->Add(sub3node);
2870 sub2node->cd();
2871 //
2872 // Place copy #2 of I107 in I10B
2873 //
2874 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
2875 sub3node->SetLineColor(kColorITS);
2876 sub3node->SetVisibility(0);
2877 sub3node->cd();
2878 //
2879 // Place copy #1 of I101 in I107
2880 //
2881 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
2882 sub4node->SetLineColor(kColorITS);
2883 sub4node->SetVisibility(0);
2884 sub4node->cd();
2885 //
2886 // Place copy #1 of ITS1 in I101
2887 //
2888 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
2889 sub5node->SetLineColor(kColorITS);
2890 fNodes->Add(sub5node);
2891 sub4node->cd();
2892 fNodes->Add(sub4node);
2893 sub3node->cd();
2894 fNodes->Add(sub3node);
2895 sub2node->cd();
2896 //
2897 // Place copy #3 of I107 in I10B
2898 //
2899 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
2900 sub3node->SetLineColor(kColorITS);
2901 sub3node->SetVisibility(0);
2902 sub3node->cd();
2903 //
2904 // Place copy #1 of I101 in I107
2905 //
2906 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
2907 sub4node->SetLineColor(kColorITS);
2908 sub4node->SetVisibility(0);
2909 sub4node->cd();
2910 //
2911 // Place copy #1 of ITS1 in I101
2912 //
2913 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
2914 sub5node->SetLineColor(kColorITS);
2915 fNodes->Add(sub5node);
2916 sub4node->cd();
2917 fNodes->Add(sub4node);
2918 sub3node->cd();
2919 fNodes->Add(sub3node);
2920 sub2node->cd();
2921 //
2922 // Place copy #4 of I107 in I10B
2923 //
2924 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
2925 sub3node->SetLineColor(kColorITS);
2926 sub3node->SetVisibility(0);
2927 sub3node->cd();
2928 //
2929 // Place copy #1 of I101 in I107
2930 //
2931 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
2932 sub4node->SetLineColor(kColorITS);
2933 sub4node->SetVisibility(0);
2934 sub4node->cd();
2935 //
2936 // Place copy #1 of ITS1 in I101
2937 //
2938 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
2939 sub5node->SetLineColor(kColorITS);
2940 fNodes->Add(sub5node);
2941 sub4node->cd();
2942 fNodes->Add(sub4node);
2943 sub3node->cd();
2944 fNodes->Add(sub3node);
2945 sub2node->cd();
2946 fNodes->Add(sub2node);
2947 sub1node->cd();
2948 //
2949 // Place copy #1 of I20B in I12B
2950 //
2951 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(40.*TMath::Pi()/180.);
2952 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(40.*TMath::Pi()/180.);
2953 sub2node = new TNode("I20B","I20B","I20B",3.0174+deltax,6.5143+deltay,0.,"itsrot240");
2954 sub2node->SetLineColor(kColorITS);
2955 sub2node->SetVisibility(0);
2956 sub2node->cd();
2957 //
2958 // Place copy #1 of I1D7 in I20B
2959 //
2960 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
2961 sub3node->SetLineColor(kColorITS);
2962 sub3node->SetVisibility(0);
2963 sub3node->cd();
2964 //
2965 // Place copy #1 of I1D1 in I1D7
2966 //
2967 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
2968 sub4node->SetLineColor(kColorITS);
2969 sub4node->SetVisibility(0);
2970 sub4node->cd();
2971 //
2972 // Place copy #1 of ITS2 in I1D1
2973 //
2974 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
2975 sub5node->SetLineColor(kColorITS);
2976 fNodes->Add(sub5node);
2977 sub4node->cd();
2978 fNodes->Add(sub4node);
2979 sub3node->cd();
2980 fNodes->Add(sub3node);
2981 sub2node->cd();
2982 //
2983 // Place copy #2 of I1D7 in I20B
2984 //
2985 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
2986 sub3node->SetLineColor(kColorITS);
2987 sub3node->SetVisibility(0);
2988 sub3node->cd();
2989 //
2990 // Place copy #1 of I1D1 in I1D7
2991 //
2992 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
2993 sub4node->SetLineColor(kColorITS);
2994 sub4node->SetVisibility(0);
2995 sub4node->cd();
2996 //
2997 // Place copy #1 of ITS2 in I1D1
2998 //
2999 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
3000 sub5node->SetLineColor(kColorITS);
3001 fNodes->Add(sub5node);
3002 sub4node->cd();
3003 fNodes->Add(sub4node);
3004 sub3node->cd();
3005 fNodes->Add(sub3node);
3006 sub2node->cd();
3007 //
3008 // Place copy #3 of I1D7 in I20B
3009 //
3010 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
3011 sub3node->SetLineColor(kColorITS);
3012 sub3node->SetVisibility(0);
3013 sub3node->cd();
3014 //
3015 // Place copy #1 of I1D1 in I1D7
3016 //
3017 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
3018 sub4node->SetLineColor(kColorITS);
3019 sub4node->SetVisibility(0);
3020 sub4node->cd();
3021 //
3022 // Place copy #1 of ITS2 in I1D1
3023 //
3024 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
3025 sub5node->SetLineColor(kColorITS);
3026 fNodes->Add(sub5node);
3027 sub4node->cd();
3028 fNodes->Add(sub4node);
3029 sub3node->cd();
3030 fNodes->Add(sub3node);
3031 sub2node->cd();
3032 //
3033 // Place copy #4 of I1D7 in I20B
3034 //
3035 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
3036 sub3node->SetLineColor(kColorITS);
3037 sub3node->SetVisibility(0);
3038 sub3node->cd();
3039 //
3040 // Place copy #1 of I1D1 in I1D7
3041 //
3042 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
3043 sub4node->SetLineColor(kColorITS);
3044 sub4node->SetVisibility(0);
3045 sub4node->cd();
3046 //
3047 // Place copy #1 of ITS2 in I1D1
3048 //
3049 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
3050 sub5node->SetLineColor(kColorITS);
3051 fNodes->Add(sub5node);
3052 sub4node->cd();
3053 fNodes->Add(sub4node);
3054 sub3node->cd();
3055 fNodes->Add(sub3node);
3056 sub2node->cd();
3057 fNodes->Add(sub2node);
3058 sub1node->cd();
3059 //
3060 // Place copy #2 of I20B in I12B
3061 //
3062 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(49.*TMath::Pi()/180.);
3063 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(49.*TMath::Pi()/180.);
3064 sub2node = new TNode("I20B","I20B","I20B",1.9612+deltax,6.9062+deltay,0.,"itsrot241");
3065 sub2node->SetLineColor(kColorITS);
3066 sub2node->SetVisibility(0);
3067 sub2node->cd();
3068 //
3069 // Place copy #1 of I1D7 in I20B
3070 //
3071 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
3072 sub3node->SetLineColor(kColorITS);
3073 sub3node->SetVisibility(0);
3074 sub3node->cd();
3075 //
3076 // Place copy #1 of I1D1 in I1D7
3077 //
3078 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
3079 sub4node->SetLineColor(kColorITS);
3080 sub4node->SetVisibility(0);
3081 sub4node->cd();
3082 //
3083 // Place copy #1 of ITS2 in I1D1
3084 //
3085 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
3086 sub5node->SetLineColor(kColorITS);
3087 fNodes->Add(sub5node);
3088 sub4node->cd();
3089 fNodes->Add(sub4node);
3090 sub3node->cd();
3091 fNodes->Add(sub3node);
3092 sub2node->cd();
3093 //
3094 // Place copy #2 of I1D7 in I20B
3095 //
3096 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
3097 sub3node->SetLineColor(kColorITS);
3098 sub3node->SetVisibility(0);
3099 sub3node->cd();
3100 //
3101 // Place copy #1 of I1D1 in I1D7
3102 //
3103 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
3104 sub4node->SetLineColor(kColorITS);
3105 sub4node->SetVisibility(0);
3106 sub4node->cd();
3107 //
3108 // Place copy #1 of ITS2 in I1D1
3109 //
3110 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
3111 sub5node->SetLineColor(kColorITS);
3112 fNodes->Add(sub5node);
3113 sub4node->cd();
3114 fNodes->Add(sub4node);
3115 sub3node->cd();
3116 fNodes->Add(sub3node);
3117 sub2node->cd();
3118 //
3119 // Place copy #3 of I1D7 in I20B
3120 //
3121 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
3122 sub3node->SetLineColor(kColorITS);
3123 sub3node->SetVisibility(0);
3124 sub3node->cd();
3125 //
3126 // Place copy #1 of I1D1 in I1D7
3127 //
3128 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
3129 sub4node->SetLineColor(kColorITS);
3130 sub4node->SetVisibility(0);
3131 sub4node->cd();
3132 //
3133 // Place copy #1 of ITS2 in I1D1
3134 //
3135 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
3136 sub5node->SetLineColor(kColorITS);
3137 fNodes->Add(sub5node);
3138 sub4node->cd();
3139 fNodes->Add(sub4node);
3140 sub3node->cd();
3141 fNodes->Add(sub3node);
3142 sub2node->cd();
3143 //
3144 // Place copy #4 of I1D7 in I20B
3145 //
3146 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
3147 sub3node->SetLineColor(kColorITS);
3148 sub3node->SetVisibility(0);
3149 sub3node->cd();
3150 //
3151 // Place copy #1 of I1D1 in I1D7
3152 //
3153 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
3154 sub4node->SetLineColor(kColorITS);
3155 sub4node->SetVisibility(0);
3156 sub4node->cd();
3157 //
3158 // Place copy #1 of ITS2 in I1D1
3159 //
3160 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
3161 sub5node->SetLineColor(kColorITS);
3162 fNodes->Add(sub5node);
3163 sub4node->cd();
3164 fNodes->Add(sub4node);
3165 sub3node->cd();
3166 fNodes->Add(sub3node);
3167 sub2node->cd();
3168 fNodes->Add(sub2node);
3169 sub1node->cd();
3170 //
3171 // Place copy #3 of I20B in I12B
3172 //
3173 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(58.*TMath::Pi()/180.);
3174 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(58.*TMath::Pi()/180.);
3175 sub2node = new TNode("I20B","I20B","I20B",0.8567+deltax,7.1279+deltay,0.,"itsrot242");
3176 sub2node->SetLineColor(kColorITS);
3177 sub2node->SetVisibility(0);
3178 sub2node->cd();
3179 //
3180 // Place copy #1 of I1D7 in I20B
3181 //
3182 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
3183 sub3node->SetLineColor(kColorITS);
3184 sub3node->SetVisibility(0);
3185 sub3node->cd();
3186 //
3187 // Place copy #1 of I1D1 in I1D7
3188 //
3189 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
3190 sub4node->SetLineColor(kColorITS);
3191 sub4node->SetVisibility(0);
3192 sub4node->cd();
3193 //
3194 // Place copy #1 of ITS2 in I1D1
3195 //
3196 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
3197 sub5node->SetLineColor(kColorITS);
3198 fNodes->Add(sub5node);
3199 sub4node->cd();
3200 fNodes->Add(sub4node);
3201 sub3node->cd();
3202 fNodes->Add(sub3node);
3203 sub2node->cd();
3204 //
3205 // Place copy #2 of I1D7 in I20B
3206 //
3207 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
3208 sub3node->SetLineColor(kColorITS);
3209 sub3node->SetVisibility(0);
3210 sub3node->cd();
3211 //
3212 // Place copy #1 of I1D1 in I1D7
3213 //
3214 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
3215 sub4node->SetLineColor(kColorITS);
3216 sub4node->SetVisibility(0);
3217 sub4node->cd();
3218 //
3219 // Place copy #1 of ITS2 in I1D1
3220 //
3221 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
3222 sub5node->SetLineColor(kColorITS);
3223 fNodes->Add(sub5node);
3224 sub4node->cd();
3225 fNodes->Add(sub4node);
3226 sub3node->cd();
3227 fNodes->Add(sub3node);
3228 sub2node->cd();
3229 //
3230 // Place copy #3 of I1D7 in I20B
3231 //
3232 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
3233 sub3node->SetLineColor(kColorITS);
3234 sub3node->SetVisibility(0);
3235 sub3node->cd();
3236 //
3237 // Place copy #1 of I1D1 in I1D7
3238 //
3239 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
3240 sub4node->SetLineColor(kColorITS);
3241 sub4node->SetVisibility(0);
3242 sub4node->cd();
3243 //
3244 // Place copy #1 of ITS2 in I1D1
3245 //
3246 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
3247 sub5node->SetLineColor(kColorITS);
3248 fNodes->Add(sub5node);
3249 sub4node->cd();
3250 fNodes->Add(sub4node);
3251 sub3node->cd();
3252 fNodes->Add(sub3node);
3253 sub2node->cd();
3254 //
3255 // Place copy #4 of I1D7 in I20B
3256 //
3257 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
3258 sub3node->SetLineColor(kColorITS);
3259 sub3node->SetVisibility(0);
3260 sub3node->cd();
3261 //
3262 // Place copy #1 of I1D1 in I1D7
3263 //
3264 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
3265 sub4node->SetLineColor(kColorITS);
3266 sub4node->SetVisibility(0);
3267 sub4node->cd();
3268 //
3269 // Place copy #1 of ITS2 in I1D1
3270 //
3271 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
3272 sub5node->SetLineColor(kColorITS);
3273 fNodes->Add(sub5node);
3274 sub4node->cd();
3275 fNodes->Add(sub4node);
3276 sub3node->cd();
3277 fNodes->Add(sub3node);
3278 sub2node->cd();
3279 fNodes->Add(sub2node);
3280 sub1node->cd();
3281 //
3282 // Place copy #4 of I20B in I12B
3283 //
3284 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(67.*TMath::Pi()/180.);
3285 deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(67.*TMath::Pi()/180.);
3286 sub2node = new TNode("I20B","I20B","I20B",-0.2689+deltax,7.1742+deltay,0.,"itsrot243");
3287 sub2node->SetLineColor(kColorITS);
3288 sub2node->SetVisibility(0);
3289 sub2node->cd();
3290 //
3291 // Place copy #1 of I1D7 in I20B
3292 //
3293 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
3294 sub3node->SetLineColor(kColorITS);
3295 sub3node->SetVisibility(0);
3296 sub3node->cd();
3297 //
3298 // Place copy #1 of I1D1 in I1D7
3299 //
3300 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
3301 sub4node->SetLineColor(kColorITS);
3302 sub4node->SetVisibility(0);
3303 sub4node->cd();
3304 //
3305 // Place copy #1 of ITS2 in I1D1
3306 //
3307 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
3308 sub5node->SetLineColor(kColorITS);
3309 fNodes->Add(sub5node);
3310 sub4node->cd();
3311 fNodes->Add(sub4node);
3312 sub3node->cd();
3313 fNodes->Add(sub3node);
3314 sub2node->cd();
3315 //
3316 // Place copy #2 of I1D7 in I20B
3317 //
3318 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
3319 sub3node->SetLineColor(kColorITS);
3320 sub3node->SetVisibility(0);
3321 sub3node->cd();
3322 //
3323 // Place copy #1 of I1D1 in I1D7
3324 //
3325 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
3326 sub4node->SetLineColor(kColorITS);
3327 sub4node->SetVisibility(0);
3328 sub4node->cd();
3329 //
3330 // Place copy #1 of ITS2 in I1D1
3331 //
3332 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
3333 sub5node->SetLineColor(kColorITS);
3334 fNodes->Add(sub5node);
3335 sub4node->cd();
3336 fNodes->Add(sub4node);
3337 sub3node->cd();
3338 fNodes->Add(sub3node);
3339 sub2node->cd();
3340 //
3341 // Place copy #3 of I1D7 in I20B
3342 //
3343 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
3344 sub3node->SetLineColor(kColorITS);
3345 sub3node->SetVisibility(0);
3346 sub3node->cd();
3347 //
3348 // Place copy #1 of I1D1 in I1D7
3349 //
3350 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
3351 sub4node->SetLineColor(kColorITS);
3352 sub4node->SetVisibility(0);
3353 sub4node->cd();
3354 //
3355 // Place copy #1 of ITS2 in I1D1
3356 //
3357 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
3358 sub5node->SetLineColor(kColorITS);
3359 fNodes->Add(sub5node);
3360 sub4node->cd();
3361 fNodes->Add(sub4node);
3362 sub3node->cd();
3363 fNodes->Add(sub3node);
3364 sub2node->cd();
3365 //
3366 // Place copy #4 of I1D7 in I20B
3367 //
3368 sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
3369 sub3node->SetLineColor(kColorITS);
3370 sub3node->SetVisibility(0);
3371 sub3node->cd();
3372 //
3373 // Place copy #1 of I1D1 in I1D7
3374 //
3375 sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
3376 sub4node->SetLineColor(kColorITS);
3377 sub4node->SetVisibility(0);
3378 sub4node->cd();
3379 //
3380 // Place copy #1 of ITS2 in I1D1
3381 //
3382 sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
3383 sub5node->SetLineColor(kColorITS);
3384 fNodes->Add(sub5node);
3385 sub4node->cd();
3386 fNodes->Add(sub4node);
3387 sub3node->cd();
3388 fNodes->Add(sub3node);
3389 sub2node->cd();
3390 fNodes->Add(sub2node);
3391 sub1node->cd();
3392 fNodes->Add(sub1node);
3393 node->cd();
3394 //
3395 // Place copy #5 of I12B in IT12
3396 //
3397 sub1node = new TNode("I12B","I12B","I12B",0.,0.,0.,"itsrot247");
3398 sub1node->SetLineColor(kColorITS);
3399 sub1node->SetVisibility(0);
3400 sub1node->cd();
3401 //
3402 // Place copy #1 of I10B in I12B
3403 //
3404 deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(252.*TMath::Pi()/180.);
3405 deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(252.*TMath::Pi()/180.);
3406 sub2node = new TNode("I10B","I10B","I10B",1.4531+deltax,3.8152+deltay,0.,"itsrot239");
3407 sub2node->SetLineColor(kColorITS);
3408 sub2node->SetVisibility(0);
3409 sub2node->cd();
3410 //
3411 // Place copy #1 of I107 in I10B
3412 //
3413 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
3414 sub3node->SetLineColor(kColorITS);
3415 sub3node->SetVisibility(0);
3416 sub3node->cd();
3417 //
3418 // Place copy #1 of I101 in I107
3419 //
3420 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
3421 sub4node->SetLineColor(kColorITS);
3422 sub4node->SetVisibility(0);
3423 sub4node->cd();
3424 //
3425 // Place copy #1 of ITS1 in I101
3426 //
3427 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
3428 sub5node->SetLineColor(kColorITS);
3429 fNodes->Add(sub5node);
3430 sub4node->cd();
3431 fNodes->Add(sub4node);
3432 sub3node->cd();
3433 fNodes->Add(sub3node);
3434 sub2node->cd();
3435 //
3436 // Place copy #2 of I107 in I10B
3437 //
3438 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
3439 sub3node->SetLineColor(kColorITS);
3440 sub3node->SetVisibility(0);
3441 sub3node->cd();
3442 //
3443 // Place copy #1 of I101 in I107
3444 //
3445 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
3446 sub4node->SetLineColor(kColorITS);
3447 sub4node->SetVisibility(0);
3448 sub4node->cd();
3449 //
3450 // Place copy #1 of ITS1 in I101
3451 //
3452 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
3453 sub5node->SetLineColor(kColorITS);
3454 fNodes->Add(sub5node);
3455 sub4node->cd();
3456 fNodes->Add(sub4node);
3457 sub3node->cd();
3458 fNodes->Add(sub3node);
3459 sub2node->cd();
3460 //
3461 // Place copy #3 of I107 in I10B
3462 //
3463 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
3464 sub3node->SetLineColor(kColorITS);
3465 sub3node->SetVisibility(0);
3466 sub3node->cd();
3467 //
3468 // Place copy #1 of I101 in I107
3469 //
3470 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
3471 sub4node->SetLineColor(kColorITS);
3472 sub4node->SetVisibility(0);
3473 sub4node->cd();
3474 //
3475 // Place copy #1 of ITS1 in I101
3476 //
3477 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
3478 sub5node->SetLineColor(kColorITS);
3479 fNodes->Add(sub5node);
3480 sub4node->cd();
3481 fNodes->Add(sub4node);
3482 sub3node->cd();
3483 fNodes->Add(sub3node);
3484 sub2node->cd();
3485 //
3486 // Place copy #4 of I107 in I10B
3487 //
3488 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
3489 sub3node->SetLineColor(kColorITS);
3490 sub3node->SetVisibility(0);
3491 sub3node->cd();
3492 //
3493 // Place copy #1 of I101 in I107
3494 //
3495 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
3496 sub4node->SetLineColor(kColorITS);
3497 sub4node->SetVisibility(0);
3498 sub4node->cd();
3499 //
3500 // Place copy #1 of ITS1 in I101
3501 //
3502 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
3503 sub5node->SetLineColor(kColorITS);
3504 fNodes->Add(sub5node);
3505 sub4node->cd();
3506 fNodes->Add(sub4node);
3507 sub3node->cd();
3508 fNodes->Add(sub3node);
3509 sub2node->cd();
3510 fNodes->Add(sub2node);
3511 sub1node->cd();
3512 //
3513 // Place copy #2 of I10B in I12B
3514 //
3515 deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(270.*TMath::Pi()/180.);
3516 deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(270.*TMath::Pi()/180.);
3517 sub2node = new TNode("I10B","I10B","I10B",0.203+deltax,3.8206+deltay,0.,"itsrot238");
3518 sub2node->SetLineColor(kColorITS);
3519 sub2node->SetVisibility(0);
3520 sub2node->cd();
3521 //
3522 // Place copy #1 of I107 in I10B
3523 //
3524 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
3525 sub3node->SetLineColor(kColorITS);
3526 sub3node->SetVisibility(0);
3527 sub3node->cd();
3528 //
3529 // Place copy #1 of I101 in I107
3530 //
3531 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
3532 sub4node->SetLineColor(kColorITS);
3533 sub4node->SetVisibility(0);
3534 sub4node->cd();
3535 //
3536 // Place copy #1 of ITS1 in I101
3537 //
3538 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
3539 sub5node->SetLineColor(kColorITS);
3540 fNodes->Add(sub5node);
3541 sub4node->cd();
3542 fNodes->Add(sub4node);
3543 sub3node->cd();
3544 fNodes->Add(sub3node);
3545 sub2node->cd();
3546 //
3547 // Place copy #2 of I107 in I10B
3548 //
3549 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
3550 sub3node->SetLineColor(kColorITS);
3551 sub3node->SetVisibility(0);
3552 sub3node->cd();
3553 //
3554 // Place copy #1 of I101 in I107
3555 //
3556 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
3557 sub4node->SetLineColor(kColorITS);
3558 sub4node->SetVisibility(0);
3559 sub4node->cd();
3560 //
3561 // Place copy #1 of ITS1 in I101
3562 //
3563 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
3564 sub5node->SetLineColor(kColorITS);
3565 fNodes->Add(sub5node);
3566 sub4node->cd();
3567 fNodes->Add(sub4node);
3568 sub3node->cd();
3569 fNodes->Add(sub3node);
3570 sub2node->cd();
3571 //
3572 // Place copy #3 of I107 in I10B
3573 //
3574 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
3575 sub3node->SetLineColor(kColorITS);
3576 sub3node->SetVisibility(0);
3577 sub3node->cd();
3578 //
3579 // Place copy #1 of I101 in I107
3580 //
3581 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
3582 sub4node->SetLineColor(kColorITS);
3583 sub4node->SetVisibility(0);
3584 sub4node->cd();
3585 //
3586 // Place copy #1 of ITS1 in I101
3587 //
3588 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
3589 sub5node->SetLineColor(kColorITS);
3590 fNodes->Add(sub5node);
3591 sub4node->cd();
3592 fNodes->Add(sub4node);
3593 sub3node->cd();
3594 fNodes->Add(sub3node);
3595 sub2node->cd();
3596 //
3597 // Place copy #4 of I107 in I10B
3598 //
3599 sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
3600 sub3node->SetLineColor(kColorITS);
3601 sub3node->SetVisibility(0);
3602 sub3node->cd();
3603 //
3604 // Place copy #1 of I101 in I107
3605 //
3606 sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
3607 sub4node->SetLineColor(kColorITS);
3608 sub4node->SetVisibility(0);
3609 sub4node->cd();
3610 //
3611 // Place copy #1 of ITS1 in I101
3612 //
3613 sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
3614 sub5node->SetLineColor(kColorITS);
3615 fNodes->Add(sub5node);
3616 sub4node->cd();
3617 fNodes->Add(sub4node);
3618 sub3node->cd();
3619 fNodes->Add(sub3node);
3620 sub2node->cd();
3621 fNodes->Add(sub2node);
3622 sub1node->cd();
3623 //
3624 // Place copy #1 of I20B in I12B
3625 //
3626 deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(40.*TMath::Pi()/180.);
3627