Updated detailed geometry needed by FMD people for some studies
authorbarbera <barbera@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 16 Sep 2002 14:45:31 +0000 (14:45 +0000)
committerbarbera <barbera@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 16 Sep 2002 14:45:31 +0000 (14:45 +0000)
ITS/AliITSvPPRasymmFMD.cxx [new file with mode: 0644]
ITS/AliITSvPPRasymmFMD.h [new file with mode: 0644]
ITS/ITSLinkDef.h
ITS/Makefile
ITS/libITS.pkg

diff --git a/ITS/AliITSvPPRasymmFMD.cxx b/ITS/AliITSvPPRasymmFMD.cxx
new file mode 100644 (file)
index 0000000..2a95902
--- /dev/null
@@ -0,0 +1,29354 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+/*
+$Log$
+
+*/
+
+///////////////////////////////////////////////////////////////////////////////
+//                                                                           //
+//  Inner Traking System version PPR  asymmetric for the FMD                 //
+//  This class contains the base procedures for the Inner Tracking System    //
+//                                                                           //
+// Authors: R. Barbera                                                       //
+// version 10.                                                                //
+// Created  January 15 2001.                                                 //
+//                                                                           //
+//  NOTE: THIS IS THE  ASYMMETRIC PPR geometry of the ITS for the PMD.     //
+//                                                                           //
+///////////////////////////////////////////////////////////////////////////////
+
+// See AliITSvPPRasymmFMD::StepManager().
+#include <iostream.h>
+#include <iomanip.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <TMath.h>
+#include <TGeometry.h>
+#include <TNode.h>
+#include <TTUBE.h>
+#include <TTUBS.h>
+#include <TPCON.h>
+#include <TFile.h>    // only required for Tracking function?
+#include <TCanvas.h>
+#include <TObjArray.h>
+#include <TLorentzVector.h>
+#include <TObjString.h>
+#include <TClonesArray.h>
+#include <TBRIK.h>
+#include <TSystem.h>
+
+#include "AliMC.h"
+#include "AliRun.h"
+#include "AliMagF.h"
+#include "AliConst.h"
+#include "AliGeant3.h"
+#include "AliITSGeant3Geometry.h"
+#include "AliTrackReference.h"
+#include "AliITShit.h"
+#include "AliITS.h"
+#include "AliITSvPPRasymmFMD.h"
+#include "AliITSgeom.h"
+#include "AliITSgeomSPD.h"
+#include "AliITSgeomSDD.h"
+#include "AliITSgeomSSD.h"
+#include "AliITSDetType.h"
+#include "AliITSresponseSPD.h"
+#include "AliITSresponseSDD.h"
+#include "AliITSresponseSSD.h"
+#include "AliITSsegmentationSPD.h"
+#include "AliITSsegmentationSDD.h"
+#include "AliITSsegmentationSSD.h"
+#include "AliITSsimulationSPD.h"
+#include "AliITSsimulationSDD.h"
+#include "AliITSsimulationSSD.h"
+#include "AliITSClusterFinderSPD.h"
+#include "AliITSClusterFinderSDD.h"
+#include "AliITSClusterFinderSSD.h"
+
+
+ClassImp(AliITSvPPRasymmFMD)
+//_____________________________________________________________________________
+AliITSvPPRasymmFMD::AliITSvPPRasymmFMD() {
+////////////////////////////////////////////////////////////////////////
+//    Standard default constructor for the ITS version 8.
+////////////////////////////////////////////////////////////////////////
+    Int_t i;
+
+    fIdN          = 0;
+    fIdName       = 0;
+    fIdSens       = 0;
+    fEuclidOut    = kFALSE; // Don't write Euclide file
+    fGeomDetOut   = kFALSE; // Don't write .det file
+    fGeomDetIn    = kFALSE; // Don't Read .det file
+    fMajorVersion = IsVersion();
+    fMinorVersion = -1;
+    for(i=0;i<60;i++) fRead[i] = '\0';
+    for(i=0;i<60;i++) fWrite[i] = '\0';
+    for(i=0;i<60;i++) fEuclidGeomDet[i] = '\0';
+}
+//_____________________________________________________________________________
+AliITSvPPRasymmFMD::AliITSvPPRasymmFMD(const char *name, const char *title) : AliITS(name, title){
+////////////////////////////////////////////////////////////////////////
+//    Standard constructor for the ITS version 10.
+////////////////////////////////////////////////////////////////////////
+    Int_t i;
+
+    fIdN = 6;
+    fIdName = new TString[fIdN];
+    fIdName[0] = "ITS1";
+    fIdName[1] = "ITS2";
+    fIdName[2] = "ITS3";
+    fIdName[3] = "ITS4";
+    fIdName[4] = "ITS5";
+    fIdName[5] = "ITS6";
+    fIdSens    = new Int_t[fIdN];
+    for(i=0;i<fIdN;i++) fIdSens[i] = 0;
+    fMajorVersion = IsVersion();
+    fMinorVersion = 2;
+    fEuclidOut    = kFALSE; // Don't write Euclide file
+    fGeomDetOut   = kFALSE; // Don't write .det file
+    fGeomDetIn    = kFALSE; // Don't Read .det file
+    SetThicknessDet1();
+    SetThicknessDet2();
+    SetThicknessChip1();
+    SetThicknessChip2();                        
+
+    fEuclidGeometry="$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.euc";
+    strncpy(fEuclidGeomDet,"$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.det",60);
+    strncpy(fRead,fEuclidGeomDet,60);
+    strncpy(fWrite,fEuclidGeomDet,60);
+}
+//____________________________________________________________________________
+AliITSvPPRasymmFMD::AliITSvPPRasymmFMD(const AliITSvPPRasymmFMD &source){
+////////////////////////////////////////////////////////////////////////
+//     Copy Constructor for ITS version 8.
+////////////////////////////////////////////////////////////////////////
+    if(&source == this) return;
+    Warning("Copy Constructor","Not allowed to copy AliITSvPPRasymmFMD");
+    return;
+}
+//_____________________________________________________________________________
+AliITSvPPRasymmFMD& AliITSvPPRasymmFMD::operator=(const AliITSvPPRasymmFMD &source){
+////////////////////////////////////////////////////////////////////////
+//    Assignment operator for the ITS version 8.
+////////////////////////////////////////////////////////////////////////
+    if(&source == this) return *this;
+    Warning("= operator","Not allowed to copy AliITSvPPRasymmFMD");
+    return *this;
+}
+//_____________________________________________________________________________
+AliITSvPPRasymmFMD::~AliITSvPPRasymmFMD() {
+////////////////////////////////////////////////////////////////////////
+//    Standard destructor for the ITS version 8.
+////////////////////////////////////////////////////////////////////////
+}
+//__________________________________________________________________________
+void AliITSvPPRasymmFMD::BuildGeometry(){
+////////////////////////////////////////////////////////////////////////
+//    Geometry builder for the ITS version 8.
+////////////////////////////////////////////////////////////////////////
+    TNode *node, *top;
+    
+    const Int_t kColorITS=kYellow;
+    //
+    top = gAlice->GetGeometry()->GetNode("alice");
+
+
+    new TTUBE("S_layer1","Layer1 of ITS","void",3.8095,3.8095+1.03*9.36/100.,14.35);
+    top->cd();
+    node = new TNode("Layer1","Layer1","S_layer1",0,0,0,"");
+    node->SetLineColor(kColorITS);
+    fNodes->Add(node);
+
+    new TTUBE("S_layer2","Layer2 of ITS","void",7.,7.+1.03*9.36/100.,14.35);
+    top->cd();
+    node = new TNode("Layer2","Layer2","S_layer2",0,0,0,"");
+    node->SetLineColor(kColorITS);
+    fNodes->Add(node);
+
+    new TTUBE("S_layer3","Layer3 of ITS","void",15.,15.+0.94*9.36/100.,25.1);
+    top->cd();
+    node = new TNode("Layer3","Layer3","S_layer3",0,0,0,"");
+    node->SetLineColor(kColorITS);
+    fNodes->Add(node);
+
+    new TTUBE("S_layer4","Layer4 of ITS","void",24.1,24.1+0.95*9.36/100.,32.1);
+    top->cd();
+    node = new TNode("Layer4","Layer4","S_layer4",0,0,0,"");
+    node->SetLineColor(kColorITS);
+    fNodes->Add(node);
+
+    new TTUBE("S_layer5","Layer5 of ITS","void",38.5,38.5+0.91*9.36/100.,49.405);
+    top->cd();
+    node = new TNode("Layer5","Layer5","S_layer5",0,0,0,"");
+    node->SetLineColor(kColorITS);
+    fNodes->Add(node);
+
+    new TTUBE("S_layer6","Layer6 of ITS","void",43.5765,43.5765+0.87*9.36/100.,55.27);
+    top->cd();
+    node = new TNode("Layer6","Layer6","S_layer6",0,0,0,"");
+    node->SetLineColor(kColorITS);
+    fNodes->Add(node);
+
+
+/*
+  // DETAILED GEOMETRY
+
+  TNode *sub1node, *sub2node, *sub3node, *sub4node, *sub5node;
+
+  // Define some variables for SPD
+
+  Float_t dits[100];
+  Float_t dits1[3], di101[3], di107[3], di10b[3];  // for layer 1 
+  Float_t di103[3], di10a[3];                      // for layer 1
+  Float_t dits2[3], di1d1[3], di1d7[3], di20b[3];  // for layer 2
+  Float_t di1d3[3], di20a[3];                      // for layer 2  
+
+  Float_t ddet1=200.;     // total detector thickness on layer 1 (micron)
+  Float_t dchip1=200.;    // total chip thickness on layer 1 (micron)
+  
+  Float_t ddet2=200.;     // total detector thickness on layer 2 (micron)                         
+  Float_t dchip2=200.;    // total chip thickness on layer 2 (micron)
+  
+  Float_t dbus=300.;      // total bus thickness on both layers (micron)
+
+  ddet1 = GetThicknessDet1();
+  ddet2 = GetThicknessDet2();
+  dchip1 = GetThicknessChip1();
+  dchip2 = GetThicknessChip2();    
+
+  cout << "par: " << ddet1 << " " << ddet2 << " " << ddet2 << " " << dchip1 << " " << dchip2 << endl; 
+
+  if(ddet1 < 100. || ddet1 > 300.) {
+     cout << "ITS - WARNING: the detector thickness for layer 1 is outside the range of [100,300] microns."
+         " The default value of 200 microns will be used." << endl;
+         ddet1=200.;
+  }
+  
+  if(ddet2 < 100. || ddet2 > 300.) {
+     cout << "ITS - WARNING: the detector thickness for layer 2 is outside the range of [100,300] microns."
+         " The default value of 200 microns will be used." << endl;
+         ddet2=200.;
+  }
+  
+  if(dchip1 < 100. || dchip1 > 300.) {
+     cout << "ITS - WARNING: the chip thickness for layer 1 is outside the range of [100,300] microns."
+         " The default value of 200 microns will be used." << endl;
+         dchip1=200.;
+  }
+  
+  if(dchip2 < 100. || dchip2 > 300.) {
+     cout << "ITS - WARNING: the chip thickness for layer 2 is outside the range of [100,300] microns."
+         " The default value of 200 microns will be used." << endl;
+         dchip2=200.;
+  }      
+   
+  cout << "ITS: Detector thickness on layer 1 is set to " << ddet1 << " microns." << endl;
+  cout << "ITS: Chip thickness on layer 1 is set to " << dchip1 << " microns." << endl;
+  cout << "ITS: Detector thickness on layer 2 is set to " << ddet2 << " microns." << endl;
+  cout << "ITS: Chip thickness on layer 2 is set to " << dchip2 << " microns." << endl;
+
+  ddet1  = ddet1*0.0001/2.; // conversion from tot length in um to half in cm
+  ddet2  = ddet2*0.0001/2.; // conversion from tot length in um to half in cm  
+  dchip1 = dchip1*0.0001/2.;// conversion from tot length in um to half in cm  
+  dchip2 = dchip2*0.0001/2.;// conversion from tot length in um to half in cm  
+  dbus   = dbus*0.0001/2.;  // conversion from tot length in um to half in cm       
+               
+  Float_t deltax, deltay; 
+
+  Int_t thickness = fMinorVersion/10;
+  Int_t option    = fMinorVersion - 10*thickness;
+
+
+  // Define some variables for SDD
+  // SDD detector ladder
+
+  Float_t ySDD;
+  Float_t I302dits[3], I402dits[3], I004dits[3], I005dits[3];
+  Float_t Y_SDD_sep = 0.20;
+  Float_t Z_SDD_lay3[6] = {18.55, 10.95, 3.70, -3.70, -11.20, -18.35};
+  Float_t Z_SDD_lay4[8] = {25.75, 18.60, 11.00, 3.70, -3.70, -11.20, -18.45, -26.05};
+
+  // Rotation matrices
+    
+  // SPD - option 'a' 
+  
+  if (option == 1) {  
+  
+     new TRotMatrix("itsrot238","itsrot238",90.0,144.0,90.0,234.0,0.0,0.0);
+     new TRotMatrix("itsrot236","itsrot236",90.0,180.013702,90.0,270.013702,0.0,0.0);
+     new TRotMatrix("itsrot239","itsrot239",90.0,216.0,90.0,306.0,0.0,0.0);     
+     new TRotMatrix("itsrot233","itsrot233",90.0,252.000504,90.0,342.000488,0.0,0.0 );     
+     new TRotMatrix("itsrot240","itsrot240",90.0,288.0,90.0,18.0,0.0,0.0);
+     new TRotMatrix("itsrot241","itsrot241",90.0,324.0,90.0,54.0,0.0,0.0);          
+     new TRotMatrix("itsrot242","itsrot242",90.0,36.0,90.0,126.0,0.0,0.0); 
+     new TRotMatrix("itsrot234","itsrot234",90.0,71.9991,90.0,161.9991,0.0,0.0);     
+     new TRotMatrix("itsrot243","itsrot243",90.0,108.0,90.0,198.0,0.0,0.0);  
+     new TRotMatrix("itsrot244","itsrot244",90.0,180.0,90.0,270.0,0.0,0.0);
+     new TRotMatrix("itsrot245","itsrot245",90.0,162.0,90.0,252.0,0.0,0.0);
+     new TRotMatrix("itsrot246","itsrot246",90.0,310.0,90.0,40.0,0.0,0.0);
+     new TRotMatrix("itsrot247","itsrot247",90.0,319.0,90.0,49.0,0.0,0.0);
+     new TRotMatrix("itsrot248","itsrot248",90.0,328.0,90.0,58.0,0.0,0.0);
+     new TRotMatrix("itsrot249","itsrot249",90.0,337.0,90.0,67.0,0.0,0.0);     
+                 
+  }   
+
+  // SPD - option 'b' (this is the default)  
+
+  if (option == 2) {  
+  
+     new TRotMatrix("itsrot233","itsrot233",90.0,252.000504,90.0,342.000488,0.0,0.0);
+     new TRotMatrix("itsrot244","itsrot244",90.0,216.0,90.0,306.0,0.0,0.0);
+     new TRotMatrix("itsrot236","itsrot236",90.0,180.013702,90.0,270.013702,0.0,0.0);  
+     new TRotMatrix("itsrot245","itsrot245",90.0,36.0,90.0,126.0,0.0,0.0);     
+     new TRotMatrix("itsrot234","itsrot234",90.0,71.9991,90.0,161.9991,0.0,0.0);  
+     new TRotMatrix("itsrot246","itsrot246",90.0,108.0,90.0,198.0,0.0,0.0);    
+     new TRotMatrix("itsrot247","itsrot247",90.0,144.0,90.0,234.0,0.0,0.0);
+     new TRotMatrix("itsrot248","itsrot248",90.0,288.0,90.0,18.0,0.0,0.0);     
+     new TRotMatrix("itsrot249","itsrot249",90.0,324.0,90.0,54.0,0.0,0.0);       
+     new TRotMatrix("itsrot238","itsrot238",90.0,180.0,90.0,270.0,0.0,0.0);
+     new TRotMatrix("itsrot239","itsrot239",90.0,162.0,90.0,252.0,0.0,0.0);     
+     new TRotMatrix("itsrot240","itsrot240",90.0,310.0,90.0,40.0,0.0,0.0);
+     new TRotMatrix("itsrot241","itsrot241",90.0,319.0,90.0,49.0,0.0,0.0);
+     new TRotMatrix("itsrot242","itsrot242",90.0,328.0,90.0,58.0,0.0,0.0);
+     new TRotMatrix("itsrot243","itsrot243",90.0,337.0,90.0,67.0,0.0,0.0);
+
+  }   
+     
+  // SDD
+  
+  new TRotMatrix("itsrot321","itsrot321",90.0,12.86,90.0,102.86,0.0,0.0);       
+  new TRotMatrix("itsrot333","itsrot333",90.0,38.57,90.0,128.57,0.0,0.0);
+  new TRotMatrix("itsrot336","itsrot336",90.0,64.29,90.0,154.29,0.0,0.0);      
+  new TRotMatrix("itsrot350","itsrot350",90.0,90.0,90.0,180.0,0.0,0.0);    
+  new TRotMatrix("itsrot313","itsrot313",90.0,115.71,90.0,205.71,0.0,0.0);   
+  new TRotMatrix("itsrot311","itsrot311",90.0,141.43,90.0,231.43,0.0,0.0);
+  new TRotMatrix("itsrot310","itsrot310",90.0,167.14,90.0,257.14,0.0,0.0);  
+  new TRotMatrix("itsrot386","itsrot386",90.0,192.86,90.0,282.86,0.0,0.0);    
+  new TRotMatrix("itsrot309","itsrot309",90.0,218.57,90.0,308.57,0.0,0.0);  
+  new TRotMatrix("itsrot308","itsrot308",90.0,244.29,90.0,334.29,0.0,0.0);  
+  new TRotMatrix("itsrot356","itsrot356",90.0,270.0,90.0,0.0,0.0,0.0);   
+  new TRotMatrix("itsrot307","itsrot307",90.0,295.71,90.0,25.71,0.0,0.0);  
+  new TRotMatrix("itsrot306","itsrot306",90.0,321.43,90.0,51.43,0.0,0.0); 
+  new TRotMatrix("itsrot305","itsrot305",90.0,347.14,90.0,77.14,0.0,0.0);              
+  new TRotMatrix("itsrot335","itsrot335",90.0,8.18,90.0,98.18,0.0,0.0); 
+  new TRotMatrix("itsrot332","itsrot332",90.0,24.55,90.0,114.55,0.0,0.0);  
+  new TRotMatrix("itsrot331","itsrot331",90.0,40.91,90.0,130.91,0.0,0.0);       
+  new TRotMatrix("itsrot366","itsrot366",90.0,57.27,90.0,147.27,0.0,0.0);      
+  new TRotMatrix("itsrot330","itsrot330",90.0,73.64,90.0,163.64,0.0,0.0);         
+  new TRotMatrix("itsrot350","itsrot350",90.0,90.0,90.0,180.0,0.0,0.0);    
+  new TRotMatrix("itsrot329","itsrot329",90.0,106.36,90.0,196.36,0.0,0.0);  
+  new TRotMatrix("itsrot328","itsrot328",90.0,122.73,90.0,212.73,0.0,0.0);  
+  new TRotMatrix("itsrot327","itsrot327",90.0,139.09,90.0,229.09,0.0,0.0);  
+  new TRotMatrix("itsrot326","itsrot326",90.0,155.45,90.0,245.45,0.0,0.0); 
+  new TRotMatrix("itsrot325","itsrot325",90.0,171.82,90.0,261.82,0.0,0.0);  
+  new TRotMatrix("itsrot324","itsrot324",90.0,188.18,90.0,278.18,0.0,0.0);   
+  new TRotMatrix("itsrot323","itsrot323",90.0,204.55,90.0,294.55,0.0,0.0);   
+  new TRotMatrix("itsrot322","itsrot322",90.0,220.91,90.0,310.91,0.0,0.0);  
+  new TRotMatrix("itsrot320","itsrot320",90.0,237.27,90.0,327.27,0.0,0.0);  
+  new TRotMatrix("itsrot319","itsrot319",90.0,253.64,90.0,343.64,0.0,0.0);  
+  new TRotMatrix("itsrot318","itsrot318",90.0,270.0,90.0,360.0,0.0,0.0);  
+  new TRotMatrix("itsrot317","itsrot317",90.0,286.36,90.0,16.36,0.0,0.0);  
+  new TRotMatrix("itsrot316","itsrot316",90.0,302.73,90.0,32.73,0.0,0.0);      
+  new TRotMatrix("itsrot315","itsrot315",90.0,319.09,90.0,49.09,0.0,0.0);      
+  new TRotMatrix("itsrot314","itsrot314",90.0,335.45,90.0,65.45,0.0,0.0); 
+  new TRotMatrix("itsrot334","itsrot334",90.0,351.82,90.0,81.82,0.0,0.0);       
+      
+  //SSD 
+  
+  new TRotMatrix("itsrot504","itsrot504",90.0,127.06,90.0,217.06,0.0,0.0);  
+  new TRotMatrix("itsrot505","itsrot505",90.0,116.47,90.0,206.47,0.0,0.0);  
+  new TRotMatrix("itsrot506","itsrot506",90.0,105.88,90.0,195.88,0.0,0.0);  
+  new TRotMatrix("itsrot507","itsrot507",90.0,95.29,90.0,185.29,0.0,0.0);  
+  new TRotMatrix("itsrot508","itsrot508",90.0,84.71,90.0,174.71,0.0,0.0);
+  new TRotMatrix("itsrot509","itsrot509",90.0,74.12,90.0,164.12,0.0,0.0);
+  new TRotMatrix("itsrot510","itsrot510",90.0,63.53,90.0,153.53,0.0,0.0);  
+  new TRotMatrix("itsrot511","itsrot511",90.0,52.94,90.0,142.94,0.0,0.0);
+  new TRotMatrix("itsrot512","itsrot512",90.0,42.35,90.0,132.35,0.0,0.0);
+  new TRotMatrix("itsrot513","itsrot513",90.0,31.76,90.0,121.76,0.0,0.0); 
+  new TRotMatrix("itsrot653","itsrot653",90.0,21.18,90.0,111.18,0.0,0.0); 
+  new TRotMatrix("itsrot514","itsrot514",90.0,10.59,90.0,100.59,0.0,0.0);  
+  new TRotMatrix("itsrot515","itsrot515",90.0,349.41,90.0,79.41,0.0,0.0);  
+  new TRotMatrix("itsrot516","itsrot516",90.0,338.82,90.0,68.82,0.0,0.0);  
+  new TRotMatrix("itsrot517","itsrot517",90.0,328.24,90.0,58.24,0.0,0.0);  
+  new TRotMatrix("itsrot518","itsrot518",90.0,317.65,90.0,47.65,0.0,0.0);
+  new TRotMatrix("itsrot519","itsrot519",90.0,307.06,90.0,37.06,0.0,0.0);
+  new TRotMatrix("itsrot520","itsrot520",90.0,296.47,90.0,26.47,0.0,0.0);  
+  new TRotMatrix("itsrot521","itsrot521",90.0,285.88,90.0,15.88,0.0,0.0);
+  new TRotMatrix("itsrot522","itsrot522",90.0,275.29,90.0,5.29,0.0,0.0);
+  new TRotMatrix("itsrot523","itsrot523",90.0,264.71,90.0,354.71,0.0,0.0); 
+  new TRotMatrix("itsrot524","itsrot524",90.0,254.12,90.0,344.12,0.0,0.0);  
+  new TRotMatrix("itsrot525","itsrot525",90.0,243.53,90.0,333.53,0.0,0.0);  
+  new TRotMatrix("itsrot526","itsrot526",90.0,232.94,90.0,322.94,0.0,0.0);  
+  new TRotMatrix("itsrot527","itsrot527",90.0,222.35,90.0,312.35,0.0,0.0);  
+  new TRotMatrix("itsrot528","itsrot528",90.0,211.76,90.0,301.76,0.0,0.0);
+  new TRotMatrix("itsrot618","itsrot618",90.0,201.18,90.0,291.18,0.0,0.0); 
+  new TRotMatrix("itsrot529","itsrot529",90.0,190.59,90.0,280.59,0.0,0.0); 
+  new TRotMatrix("itsrot533","itsrot533",90.0,180.0,90.0,270.0,0.0,0.0);   
+  new TRotMatrix("itsrot530","itsrot530",90.0,169.41,90.0,259.41,0.0,0.0);  
+  new TRotMatrix("itsrot531","itsrot531",90.0,158.82,90.0,248.82,0.0,0.0);  
+  new TRotMatrix("itsrot501","itsrot501",90.0,148.24,90.0,238.24,0.0,0.0);
+  new TRotMatrix("itsrot503","itsrot503",90.0,137.65,90.0,227.65,0.0,0.0);         
+  new TRotMatrix("itsrot532","itsrot532",90.0,360.0,90.0,90.0,0.0,0.0);
+  new TRotMatrix("itsrot560","itsrot560",90.0,85.26,90.0,175.26,0.0,0.0);  
+  new TRotMatrix("itsrot561","itsrot561",90.0,94.74,90.0,184.74,0.0,0.0);
+  new TRotMatrix("itsrot562","itsrot562",90.0,104.21,90.0,194.21,0.0,0.0);
+  new TRotMatrix("itsrot563","itsrot563",90.0,113.68,90.0,203.68,0.0,0.0); 
+  new TRotMatrix("itsrot564","itsrot564",90.0,123.16,90.0,213.16,0.0,0.0);  
+  new TRotMatrix("itsrot565","itsrot565",90.0,132.63,90.0,222.63,0.0,0.0);  
+  new TRotMatrix("itsrot566","itsrot566",90.0,142.11,90.0,232.11,0.0,0.0);  
+  new TRotMatrix("itsrot567","itsrot567",90.0,151.58,90.0,241.58,0.0,0.0);  
+  new TRotMatrix("itsrot568","itsrot568",90.0,161.05,90.0,251.05,0.0,0.0);
+  new TRotMatrix("itsrot569","itsrot569",90.0,170.53,90.0,260.53,0.0,0.0);
+  new TRotMatrix("itsrot533","itsrot533",90.0,180.0,90.0,270.0,0.0,0.0); 
+  new TRotMatrix("itsrot534","itsrot534",90.0,189.47,90.0,279.47,0.0,0.0);  
+  new TRotMatrix("itsrot535","itsrot535",90.0,198.95,90.0,288.95,0.0,0.0);  
+  new TRotMatrix("itsrot623","itsrot623",90.0,208.42,90.0,298.42,0.0,0.0);  
+  new TRotMatrix("itsrot537","itsrot537",90.0,217.89,90.0,307.89,0.0,0.0);  
+  new TRotMatrix("itsrot538","itsrot538",90.0,227.37,90.0,317.37,0.0,0.0);
+  new TRotMatrix("itsrot539","itsrot539",90.0,236.84,90.0,326.84,0.0,0.0);
+  new TRotMatrix("itsrot540","itsrot540",90.0,246.32,90.0,336.32,0.0,0.0);  
+  new TRotMatrix("itsrot541","itsrot541",90.0,255.79,90.0,345.79,0.0,0.0);
+  new TRotMatrix("itsrot542","itsrot542",90.0,265.26,90.0,355.26,0.0,0.0);
+  new TRotMatrix("itsrot543","itsrot543",90.0,274.74,90.0,4.74,0.0,0.0); 
+  new TRotMatrix("itsrot544","itsrot544",90.0,284.21,90.0,14.21,0.0,0.0);  
+  new TRotMatrix("itsrot545","itsrot545",90.0,293.68,90.0,23.68,0.0,0.0);  
+  new TRotMatrix("itsrot546","itsrot546",90.0,303.16,90.0,33.16,0.0,0.0);  
+  new TRotMatrix("itsrot547","itsrot547",90.0,312.63,90.0,42.63,0.0,0.0);  
+  new TRotMatrix("itsrot548","itsrot548",90.0,322.11,90.0,52.11,0.0,0.0);
+  new TRotMatrix("itsrot549","itsrot549",90.0,331.58,90.0,61.58,0.0,0.0);
+  new TRotMatrix("itsrot550","itsrot550",90.0,341.05,90.0,71.05,0.0,0.0);  
+  new TRotMatrix("itsrot551","itsrot551",90.0,350.53,90.0,80.53,0.0,0.0);
+  new TRotMatrix("itsrot552","itsrot552",90.0,9.47,90.0,99.47,0.0,0.0);
+  new TRotMatrix("itsrot553","itsrot553",90.0,18.95,90.0,108.95,0.0,0.0);
+  new TRotMatrix("itsrot620","itsrot620",90.0,28.42,90.0,118.42,0.0,0.0);  
+  new TRotMatrix("itsrot555","itsrot555",90.0,37.89,90.0,127.89,0.0,0.0);  
+  new TRotMatrix("itsrot556","itsrot556",90.0,47.37,90.0,137.37,0.0,0.0);  
+  new TRotMatrix("itsrot557","itsrot557",90.0,56.84,90.0,146.84,0.0,0.0);  
+  new TRotMatrix("itsrot558","itsrot558",90.0,66.32,90.0,156.32,0.0,0.0);
+  new TRotMatrix("itsrot559","itsrot559",90.0,75.79,90.0,165.79,0.0,0.0);       
+  
+  
+  // --- Define SPD (option 'a') volumes ----------------------------
+  
+  // SPD - option 'a' 
+  // (this is NOT the default)
+  
+  if (option == 1) { 
+    
+    dits1[0] = 0.64;
+    dits1[1] = ddet1;
+    dits1[2] = 3.48;
+    new TBRIK("ITS1","ITS1","void",dits1[0],dits1[1],dits1[2]);
+    
+    dits2[0] = 0.64;
+    dits2[1] = ddet2;
+    dits2[2] = 3.48;
+    new TBRIK("ITS2","ITS2","void",dits2[0],dits2[1],dits2[2]);    
+    
+    di101[0] = 0.705;
+    di101[1] = ddet1;
+    di101[2] = 3.536;
+    new TBRIK("I101","I101","void",di101[0],di101[1],di101[2]);
+    
+    di1d1[0] = 0.705;
+    di1d1[1] = ddet2;
+    di1d1[2] = 3.536;
+    new TBRIK("I1D1","I1D1","void",di1d1[0],di1d1[1],di1d1[2]);    
+    
+    di103[0] = 0.793;
+    di103[1] = ddet1+dchip1;
+    di103[2] = 3.536;
+    new TBRIK("I103","I103","void",di103[0],di103[1],di103[2]);    
+    
+    di1d3[0] = 0.793;
+    di1d3[1] = ddet2+dchip2;
+    di1d3[2] = 3.536;
+    new TBRIK("I1D3","I1D3","void",di1d3[0],di1d3[1],di1d3[2]);        
+        
+    di10a[0] = 0.843;
+    di10a[1] = ddet1+dchip1+dbus+0.0025;  
+    di10a[2] = 19.344;
+    new TBRIK("I10A","I10A","void",di10a[0],di10a[1],di10a[2]); 
+    
+    di20a[0] = 0.843;
+    di20a[1] = ddet2+dchip2+dbus+0.0025;  
+    di20a[2] = 19.344;
+    new TBRIK("I20A","I20A","void",di20a[0],di20a[1],di20a[2]);     
+
+    dits[0] = 3.7;
+    dits[1] = 7.7;
+    dits[2] = 24;
+    dits[3] = 57;
+    dits[4] = 100;
+    new TTUBS("I12A","I12A","void",dits[0],dits[1],dits[2],dits[3],dits[4]);
+     
+    dits[0] = 3.7;
+    dits[1] = 7.75;
+    dits[2] = 26.1;
+    new TTUBE("IT12","IT12","void",dits[0],dits[1],dits[2]);  
+    
+  }
+  
+  // --- Define SPD (option 'b') volumes ----------------------------
+  
+  // SPD - option 'b' 
+  // (this is the default)
+
+  if (option == 2) {
+    
+    dits1[0] = 0.64;
+    dits1[1] = ddet1;
+    dits1[2] = 3.48;
+    new TBRIK("ITS1","ITS1","void",dits1[0],dits1[1],dits1[2]);
+    
+    dits2[0] = 0.64;
+    dits2[1] = ddet2;
+    dits2[2] = 3.48;
+    new TBRIK("ITS2","ITS2","void",dits2[0],dits2[1],dits2[2]);    
+    
+    di101[0] = 0.705;
+    di101[1] = ddet1;
+    di101[2] = 3.536;
+    new TBRIK("I101","I101","void",di101[0],di101[1],di101[2]);
+    
+    di1d1[0] = 0.705;
+    di1d1[1] = ddet2;
+    di1d1[2] = 3.536;
+    new TBRIK("I1D1","I1D1","void",di1d1[0],di1d1[1],di1d1[2]);    
+    
+    di107[0] = 0.793;
+    di107[1] = ddet1+dchip1;
+    di107[2] = 3.536;
+    new TBRIK("I107","I107","void",di107[0],di107[1],di107[2]);    
+    
+    di1d7[0] = 0.7975;
+    di1d7[1] = ddet2+dchip2;
+    di1d7[2] = 3.536;
+    new TBRIK("I1D7","I1D7","void",di1d7[0],di1d7[1],di1d7[2]);        
+        
+    di10b[0] = 0.843;
+    di10b[1] = ddet1+dchip1+dbus+0.0025;  
+    di10b[2] = 19.344;
+    new TBRIK("I10B","I10B","void",di10b[0],di10b[1],di10b[2]); 
+    
+    di20b[0] = 0.843;
+    di20b[1] = ddet2+dchip2+dbus+0.0025;  
+    di20b[2] = 19.344;
+    new TBRIK("I20B","I20B","void",di20b[0],di20b[1],di20b[2]);     
+
+    dits[0] = 3.7;
+    dits[1] = 7.7;
+    dits[2] = 24;
+    dits[3] = 57;
+    dits[4] = 100;
+    new TTUBS("I12B","I12B","void",dits[0],dits[1],dits[2],dits[3],dits[4]);
+     
+    dits[0] = 3.7;
+    dits[1] = 7.75;
+    dits[2] = 26.1;
+    new TTUBE("IT12","IT12","void",dits[0],dits[1],dits[2]);  
+         
+
+  }
+
+  // --- Define SDD volumes ------------------------------------------
+  
+  TPCON *it34 = new TPCON("IT34","IT34","void",0.,360.,6); 
+  it34->DefineSection(0,-34.6,23.49,28.); 
+  it34->DefineSection(1,-23.65,23.49,28.); 
+  it34->DefineSection(2,-23.65,14.59,28.); 
+  it34->DefineSection(3,23.65,14.59,28.); 
+  it34->DefineSection(4,23.65,23.49,28.); 
+  it34->DefineSection(5,34.6,23.49,28.);   
+  
+  I302dits[0] = 3.6250;
+  I302dits[1] = 0.0150;
+  I302dits[2] = 4.3794; 
+  new TBRIK("I302","I302","void",I302dits[0],I302dits[1],I302dits[2]);
+
+  I004dits[0] = I302dits[0]+0.005;
+  I004dits[1] = 2*I302dits[1]+Y_SDD_sep/2.;
+  I004dits[2] = TMath::Abs(Z_SDD_lay3[0]);
+  if (I004dits[2] < TMath::Abs(Z_SDD_lay3[5])) {
+    I004dits[2] = TMath::Abs(Z_SDD_lay3[5]);
+  }
+  I004dits[2] = I004dits[2] + I302dits[2];  
+  new TBRIK("I004","I004","void",I004dits[0],I004dits[1],I004dits[2]); 
+  
+  dits[0] = 3.50850;
+  dits[1] = 0.01499; 
+  dits[2] = 3.76320;  
+  new TBRIK("ITS3","ITS3","void",dits[0],dits[1],dits[2]);    
+  I402dits[0] = 3.6250;
+  I402dits[1] = 0.0150;
+  I402dits[2] = 4.3794; 
+  new TBRIK("I402","I402","void",I402dits[0],I402dits[1],I402dits[2]);
+
+  I005dits[0] = I402dits[0]+0.005;
+  I005dits[1] = 2*I402dits[1]+Y_SDD_sep/2.;
+  I005dits[2] = TMath::Abs(Z_SDD_lay4[0]);
+  if (I005dits[2] < TMath::Abs(Z_SDD_lay4[7])) {
+    I005dits[2] = TMath::Abs(Z_SDD_lay4[7]);
+  }
+  I005dits[2] = I005dits[2] + I402dits[2];  
+  new TBRIK("I005","I005","void",I005dits[0],I005dits[1],I005dits[2]);   
+
+  dits[0] = 3.50850;
+  dits[1] = 0.01499; 
+  dits[2] = 3.76320;
+  new TBRIK("ITS4","ITS4","void",dits[0],dits[1],dits[2]);
+
+  
+  // --- Define SSD volumes ------------------------------------------
+  
+
+  TPCON *it56 = new TPCON("IT56","IT56","void",0.,360.,6); 
+  it56->DefineSection(0,-57.45,43.6,48.); 
+  it56->DefineSection(1,-49.15,43.6,48.); 
+  it56->DefineSection(2,-49.15,36.9,48.); 
+  it56->DefineSection(3,50.55,36.9,48.); 
+  it56->DefineSection(4,50.55,43.6,48.); 
+  it56->DefineSection(5,57.45,43.6,48.);    
+
+  dits[0] = 3.75;
+  dits[1] = 0.045;
+  dits[2] = 43.3;
+  new TBRIK("I565","I565","void",dits[0],dits[1],dits[2]);  
+
+  dits[0] = 3.75;
+  dits[1] = 0.045;
+  dits[2] = 50.975;
+  new TBRIK("I569","I569","void",dits[0],dits[1],dits[2]);  
+  
+  dits[0] = 3.75;
+  dits[1] = 0.015;
+  dits[2] = 2.1;
+  new TBRIK("I562","I562","void",dits[0],dits[1],dits[2]);     
+  
+  dits[0] = 3.75;
+  dits[1] = 0.015;
+  dits[2] = 2.1;
+  new TBRIK("I566","I566","void",dits[0],dits[1],dits[2]);       
+
+  dits[0] = 3.65;
+  dits[1] = 0.015;
+  dits[2] = 2;
+  new TBRIK("ITS5","ITS5","void",dits[0],dits[1],dits[2]); 
+
+  dits[0] = 3.65;
+  dits[1] = 0.015;
+  dits[2] = 2;
+  new TBRIK("ITS6","ITS6","void",dits[0],dits[1],dits[2]);  
+
+  //
+  
+  top->cd();
+
+  // --- Place SPD (option 'a') volumes into their mother volume 
+  
+  // SPD - option 'a' 
+  // (this is NOT the default)
+
+  if (option == 1) {
+
+
+  }
+  
+  
+  // --- Place SPD (option 'b') volumes into their mother volume 
+  
+  // SPD - option 'b' 
+  // (this is the default)
+
+  if (option == 2) { 
+  
+    // Place IT12 in Alice
+    //
+    node = new TNode("IT12","IT12","IT12",0.,0.,0.,"");
+    node->SetLineColor(kColorITS);
+    node->SetVisibility(0);
+    node->cd();    
+       //
+       // Place copy #1 of I12B in IT12
+       //
+       sub1node = new TNode("I12B","I12B","I12B",0.,0.,0.,"");
+       sub1node->SetLineColor(kColorITS);
+       sub1node->SetVisibility(0);
+       sub1node->cd();    
+          //
+         // Place copy #1 of I10B in I12B
+         //
+         deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(252.*TMath::Pi()/180.);  
+          deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(252.*TMath::Pi()/180.);
+          sub2node = new TNode("I10B","I10B","I10B",1.4531+deltax,3.8152+deltay,0.,"itsrot239");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #2 of I10B in I12B
+         //
+         deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(270.*TMath::Pi()/180.);  
+          deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(270.*TMath::Pi()/180.);
+          sub2node = new TNode("I10B","I10B","I10B",0.203+deltax,3.8206+deltay,0.,"itsrot238");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #1 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(40.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(40.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",3.0174+deltax,6.5143+deltay,0.,"itsrot240");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #2 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(49.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(49.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",1.9612+deltax,6.9062+deltay,0.,"itsrot241");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #3 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(58.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(58.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",0.8567+deltax,7.1279+deltay,0.,"itsrot242");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #4 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(67.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(67.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",-0.2689+deltax,7.1742+deltay,0.,"itsrot243");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+       fNodes->Add(sub1node);
+       node->cd(); 
+       //
+       // Place copy #2 of I12B in IT12
+       //
+       sub1node = new TNode("I12B","I12B","I12B",0.,0.,0.,"itsrot245");
+       sub1node->SetLineColor(kColorITS);
+       sub1node->SetVisibility(0);
+       sub1node->cd();    
+          //
+         // Place copy #1 of I10B in I12B
+         //
+         deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(252.*TMath::Pi()/180.);  
+          deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(252.*TMath::Pi()/180.);
+          sub2node = new TNode("I10B","I10B","I10B",1.4531+deltax,3.8152+deltay,0.,"itsrot239");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #2 of I10B in I12B
+         //
+         deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(270.*TMath::Pi()/180.);  
+          deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(270.*TMath::Pi()/180.);
+          sub2node = new TNode("I10B","I10B","I10B",0.203+deltax,3.8206+deltay,0.,"itsrot238");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #1 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(40.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(40.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",3.0174+deltax,6.5143+deltay,0.,"itsrot240");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #2 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(49.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(49.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",1.9612+deltax,6.9062+deltay,0.,"itsrot241");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #3 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(58.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(58.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",0.8567+deltax,7.1279+deltay,0.,"itsrot242");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #4 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(67.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(67.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",-0.2689+deltax,7.1742+deltay,0.,"itsrot243");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+       fNodes->Add(sub1node);
+       node->cd(); 
+       //
+       // Place copy #3 of I12B in IT12
+       //
+       sub1node = new TNode("I12B","I12B","I12B",0.,0.,0.,"itsrot234");
+       sub1node->SetLineColor(kColorITS);
+       sub1node->SetVisibility(0);
+       sub1node->cd();    
+          //
+         // Place copy #1 of I10B in I12B
+         //
+         deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(252.*TMath::Pi()/180.);  
+          deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(252.*TMath::Pi()/180.);
+          sub2node = new TNode("I10B","I10B","I10B",1.4531+deltax,3.8152+deltay,0.,"itsrot239");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #2 of I10B in I12B
+         //
+         deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(270.*TMath::Pi()/180.);  
+          deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(270.*TMath::Pi()/180.);
+          sub2node = new TNode("I10B","I10B","I10B",0.203+deltax,3.8206+deltay,0.,"itsrot238");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #1 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(40.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(40.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",3.0174+deltax,6.5143+deltay,0.,"itsrot240");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #2 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(49.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(49.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",1.9612+deltax,6.9062+deltay,0.,"itsrot241");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #3 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(58.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(58.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",0.8567+deltax,7.1279+deltay,0.,"itsrot242");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #4 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(67.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(67.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",-0.2689+deltax,7.1742+deltay,0.,"itsrot243");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+       fNodes->Add(sub1node);
+       node->cd(); 
+       //
+       // Place copy #4 of I12B in IT12
+       //
+       sub1node = new TNode("I12B","I12B","I12B",0.,0.,0.,"itsrot246");
+       sub1node->SetLineColor(kColorITS);
+       sub1node->SetVisibility(0);
+       sub1node->cd();    
+          //
+         // Place copy #1 of I10B in I12B
+         //
+         deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(252.*TMath::Pi()/180.);  
+          deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(252.*TMath::Pi()/180.);
+          sub2node = new TNode("I10B","I10B","I10B",1.4531+deltax,3.8152+deltay,0.,"itsrot239");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #2 of I10B in I12B
+         //
+         deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(270.*TMath::Pi()/180.);  
+          deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(270.*TMath::Pi()/180.);
+          sub2node = new TNode("I10B","I10B","I10B",0.203+deltax,3.8206+deltay,0.,"itsrot238");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #1 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(40.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(40.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",3.0174+deltax,6.5143+deltay,0.,"itsrot240");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #2 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(49.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(49.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",1.9612+deltax,6.9062+deltay,0.,"itsrot241");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #3 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(58.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(58.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",0.8567+deltax,7.1279+deltay,0.,"itsrot242");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #4 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(67.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(67.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",-0.2689+deltax,7.1742+deltay,0.,"itsrot243");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+       fNodes->Add(sub1node);
+       node->cd(); 
+       //
+       // Place copy #5 of I12B in IT12
+       //
+       sub1node = new TNode("I12B","I12B","I12B",0.,0.,0.,"itsrot247");
+       sub1node->SetLineColor(kColorITS);
+       sub1node->SetVisibility(0);
+       sub1node->cd();    
+          //
+         // Place copy #1 of I10B in I12B
+         //
+         deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(252.*TMath::Pi()/180.);  
+          deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(252.*TMath::Pi()/180.);
+          sub2node = new TNode("I10B","I10B","I10B",1.4531+deltax,3.8152+deltay,0.,"itsrot239");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #2 of I10B in I12B
+         //
+         deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(270.*TMath::Pi()/180.);  
+          deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(270.*TMath::Pi()/180.);
+          sub2node = new TNode("I10B","I10B","I10B",0.203+deltax,3.8206+deltay,0.,"itsrot238");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #1 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(40.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(40.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",3.0174+deltax,6.5143+deltay,0.,"itsrot240");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #2 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(49.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(49.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",1.9612+deltax,6.9062+deltay,0.,"itsrot241");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #3 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(58.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(58.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",0.8567+deltax,7.1279+deltay,0.,"itsrot242");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #4 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(67.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(67.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",-0.2689+deltax,7.1742+deltay,0.,"itsrot243");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+       fNodes->Add(sub1node);
+       node->cd(); 
+       //
+       // Place copy #6 of I12B in IT12
+       //
+       sub1node = new TNode("I12B","I12B","I12B",0.,0.,0.,"itsrot236");
+       sub1node->SetLineColor(kColorITS);
+       sub1node->SetVisibility(0);
+       sub1node->cd();    
+          //
+         // Place copy #1 of I10B in I12B
+         //
+         deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(252.*TMath::Pi()/180.);  
+          deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(252.*TMath::Pi()/180.);
+          sub2node = new TNode("I10B","I10B","I10B",1.4531+deltax,3.8152+deltay,0.,"itsrot239");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #2 of I10B in I12B
+         //
+         deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(270.*TMath::Pi()/180.);  
+          deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(270.*TMath::Pi()/180.);
+          sub2node = new TNode("I10B","I10B","I10B",0.203+deltax,3.8206+deltay,0.,"itsrot238");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #1 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(40.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(40.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",3.0174+deltax,6.5143+deltay,0.,"itsrot240");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #2 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(49.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(49.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",1.9612+deltax,6.9062+deltay,0.,"itsrot241");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #3 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(58.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(58.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",0.8567+deltax,7.1279+deltay,0.,"itsrot242");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #4 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(67.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(67.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",-0.2689+deltax,7.1742+deltay,0.,"itsrot243");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+       fNodes->Add(sub1node);
+       node->cd(); 
+       //
+       // Place copy #7 of I12B in IT12
+       //
+       sub1node = new TNode("I12B","I12B","I12B",0.,0.,0.,"itsrot244");
+       sub1node->SetLineColor(kColorITS);
+       sub1node->SetVisibility(0);
+       sub1node->cd();    
+          //
+         // Place copy #1 of I10B in I12B
+         //
+         deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(252.*TMath::Pi()/180.);  
+          deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(252.*TMath::Pi()/180.);
+          sub2node = new TNode("I10B","I10B","I10B",1.4531+deltax,3.8152+deltay,0.,"itsrot239");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #2 of I10B in I12B
+         //
+         deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(270.*TMath::Pi()/180.);  
+          deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(270.*TMath::Pi()/180.);
+          sub2node = new TNode("I10B","I10B","I10B",0.203+deltax,3.8206+deltay,0.,"itsrot238");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #1 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(40.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(40.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",3.0174+deltax,6.5143+deltay,0.,"itsrot240");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #2 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(49.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(49.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",1.9612+deltax,6.9062+deltay,0.,"itsrot241");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #3 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(58.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(58.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",0.8567+deltax,7.1279+deltay,0.,"itsrot242");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #4 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(67.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(67.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",-0.2689+deltax,7.1742+deltay,0.,"itsrot243");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+       fNodes->Add(sub1node);
+       node->cd(); 
+       //
+       // Place copy #8 of I12B in IT12
+       //
+       sub1node = new TNode("I12B","I12B","I12B",0.,0.,0.,"itsrot233");
+       sub1node->SetLineColor(kColorITS);
+       sub1node->SetVisibility(0);
+       sub1node->cd();    
+          //
+         // Place copy #1 of I10B in I12B
+         //
+         deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(252.*TMath::Pi()/180.);  
+          deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(252.*TMath::Pi()/180.);
+          sub2node = new TNode("I10B","I10B","I10B",1.4531+deltax,3.8152+deltay,0.,"itsrot239");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #2 of I10B in I12B
+         //
+         deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(270.*TMath::Pi()/180.);  
+          deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(270.*TMath::Pi()/180.);
+          sub2node = new TNode("I10B","I10B","I10B",0.203+deltax,3.8206+deltay,0.,"itsrot238");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #1 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(40.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(40.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",3.0174+deltax,6.5143+deltay,0.,"itsrot240");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #2 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(49.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(49.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",1.9612+deltax,6.9062+deltay,0.,"itsrot241");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #3 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(58.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(58.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",0.8567+deltax,7.1279+deltay,0.,"itsrot242");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #4 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(67.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(67.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",-0.2689+deltax,7.1742+deltay,0.,"itsrot243");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+       fNodes->Add(sub1node);
+       node->cd(); 
+       //
+       // Place copy #9 of I12B in IT12
+       //
+       sub1node = new TNode("I12B","I12B","I12B",0.,0.,0.,"itsrot248");
+       sub1node->SetLineColor(kColorITS);
+       sub1node->SetVisibility(0);
+       sub1node->cd();    
+          //
+         // Place copy #1 of I10B in I12B
+         //
+         deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(252.*TMath::Pi()/180.);  
+          deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(252.*TMath::Pi()/180.);
+          sub2node = new TNode("I10B","I10B","I10B",1.4531+deltax,3.8152+deltay,0.,"itsrot239");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #2 of I10B in I12B
+         //
+         deltax=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Cos(270.*TMath::Pi()/180.);  
+          deltay=((ddet1-0.01/2.)+(dchip1-0.015/2.))*TMath::Sin(270.*TMath::Pi()/180.);
+          sub2node = new TNode("I10B","I10B","I10B",0.203+deltax,3.8206+deltay,0.,"itsrot238");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I107 in I10B
+             //
+            sub3node = new TNode("I107","I107","I107",-0.0455,-di10b[1]+di107[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I101 in I107
+                //
+               sub4node = new TNode("I101","I101","I101",0.,ddet1,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS1 in I101
+                  //
+                  sub5node = new TNode("ITS1","ITS1","ITS1",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #1 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(40.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(40.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",3.0174+deltax,6.5143+deltay,0.,"itsrot240");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #2 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(49.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(49.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",1.9612+deltax,6.9062+deltay,0.,"itsrot241");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #4 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+         fNodes->Add(sub2node);        
+          sub1node->cd(); 
+          //
+         // Place copy #3 of I20B in I12B
+         //
+         deltax=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Cos(58.*TMath::Pi()/180.);  
+          deltay=((ddet2-0.01/2.)+(dchip2-0.015/2.))*TMath::Sin(58.*TMath::Pi()/180.);
+          sub2node = new TNode("I20B","I20B","I20B",0.8567+deltax,7.1279+deltay,0.,"itsrot242");
+          sub2node->SetLineColor(kColorITS);
+          sub2node->SetVisibility(0);
+         sub2node->cd();
+             //
+            // Place copy #1 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],10.708,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();
+                  //               
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+            sub2node->cd(); 
+            //
+            // Place copy #2 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);                   
+                   fNodes->Add(sub5node);
+                  sub4node->cd();   
+               fNodes->Add(sub4node);  
+            sub3node->cd(); 
+            fNodes->Add(sub3node);
+             sub2node->cd(); 
+            //
+            // Place copy #3 of I1D7 in I20B
+             //
+            sub3node = new TNode("I1D7","I1D7","I1D7",-0.0455,-di20b[1]+di1d7[1],-3.536,"");
+             sub3node->SetLineColor(kColorITS);
+             sub3node->SetVisibility(0);
+            sub3node->cd();
+               //
+               // Place copy #1 of I1D1 in I1D7
+                //
+               sub4node = new TNode("I1D1","I1D1","I1D1",0.,ddet2,0.,"");
+                sub4node->SetLineColor(kColorITS);
+                sub4node->SetVisibility(0);
+               sub4node->cd();             
+                  //
+                  // Place copy #1 of ITS2 in I1D1
+                  //
+                  sub5node = new TNode("ITS2","ITS2","ITS2",0.,0.,0.,"");
+                   sub5node->SetLineColor(kColorITS);          &