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