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