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