+++ /dev/null
-/**************************************************************************
- * 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. *
- **************************************************************************/
-
-/* $Id$ */
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Inner Traking System version 1 //
-// This class contains the base procedures for the Inner Tracking System //
-// //
-// Authors: R. Barbera, A. Morsch.
-// version 1.
-// Created 1998.
-//
-// NOTE: THIS IS THE COARSE pre.TDR geometry of the ITS. THIS WILL NOT WORK
-// with the geometry or module classes or any analysis classes. You are
-// strongly encouraged to uses AliITSv5.
-// //
-///////////////////////////////////////////////////////////////////////////////
-
-#include <TCanvas.h>
-#include <TClonesArray.h>
-#include <TFile.h> // only required for Tracking function?
-#include <TGeometry.h>
-#include <TMath.h>
-#include <TNode.h>
-#include <TObjArray.h>
-#include <TObjString.h>
-#include <TRandom.h>
-#include <TTUBE.h>
-#include <TVector.h>
-#include <TVirtualMC.h>
-
-#include "AliConst.h"
-#include "AliITShit.h"
-#include "AliITSv1.h"
-#include "AliMagF.h"
-#include "AliRun.h"
-
-ClassImp(AliITSv1)
-
-//_____________________________________________________________________________
-AliITSv1::AliITSv1() {
-////////////////////////////////////////////////////////////////////////
-// Standard default constructor for the ITS version 1.
-////////////////////////////////////////////////////////////////////////
-
- fIdN = 0;
- fIdName = 0;
- fIdSens = 0;
- fMajorVersion = 1;
- fMinorVersion = -1;
-}
-//_____________________________________________________________________________
-AliITSv1::AliITSv1(const char *name, const char *title) : AliITS(name, title){
-////////////////////////////////////////////////////////////////////////
-// Standard constructor for the ITS version 1.
-////////////////////////////////////////////////////////////////////////
-
- fIdN = 6;
-/*
-// TObjArray of TObjStrings
- fIdName = new TObjArray(fIdN);
- fIdName->AddAt(new TObjString("ITS1"),0);
- fIdName->AddAt(new TObjString("ITS2"),1);
- fIdName->AddAt(new TObjString("ITS3"),2);
- fIdName->AddAt(new TObjString("ITS4"),3);
- fIdName->AddAt(new TObjString("ITS5"),4);
- fIdName->AddAt(new TObjString("ITS6"),5);
-*/
-// Array of TStrings.
- 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 (Int_t i=0;i<fIdN;i++) fIdSens[i] = 0;
- fMajorVersion = 1;
- fMinorVersion = 1;
-
-}
-//____________________________________________________________________________
-AliITSv1::AliITSv1(const AliITSv1 &source) : AliITS(source){
-////////////////////////////////////////////////////////////////////////
-// Copy Constructor for ITS version 1.
-////////////////////////////////////////////////////////////////////////
- if(&source == this) return;
- printf("Not allowed to copy AliITSv1\n");
- return;
-}
-//_____________________________________________________________________________
-AliITSv1& AliITSv1::operator=(const AliITSv1 &source){
-////////////////////////////////////////////////////////////////////////
-// Assignment operator for the ITS version 1.
-////////////////////////////////////////////////////////////////////////
- if(&source == this) return *this;
- printf("Not allowed to copy AliITSv1\n");
- return *this;
-}
-//_____________________________________________________________________________
-AliITSv1::~AliITSv1() {
-////////////////////////////////////////////////////////////////////////
-// Standard destructor for the ITS version 1.
-////////////////////////////////////////////////////////////////////////
-}
-
-//__________________________________________________________________________
-void AliITSv1::BuildGeometry(){
-////////////////////////////////////////////////////////////////////////
-// Geometry builder for the ITS version 1.
-////////////////////////////////////////////////////////////////////////
- TNode *node, *top;
- const int kColorITS=kYellow;
- //
- top = gAlice->GetGeometry()->GetNode("alice");
-
- new TTUBE("S_layer1","Layer1 of ITS","void",3.9,3.9+0.05475,12.25);
- 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.6,7.6+0.05475,16.3);
- 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",14,14+0.05288,21.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,24+0.05288,29.6);
- 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",40,40+0.05382,45.1);
- 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",45,45+0.05382,50.4);
- top->cd();
- node = new TNode("Layer6","Layer6","S_layer6",0,0,0,"");
- node->SetLineColor(kColorITS);
- fNodes->Add(node);
-}
-//_____________________________________________________________________________
-void AliITSv1::CreateGeometry(){
-////////////////////////////////////////////////////////////////////////
-// This routine defines and Creates the geometry for version 1 of the ITS.
-////////////////////////////////////////////////////////////////////////
-
- Float_t drcer[6] = { 0.,0.,.08,.08,0.,0. }; //CERAMICS THICKNESS
- Float_t drepx[6] = { 0.,0.,0.,0.,.5357,.5357 }; //EPOXY THICKNESS
- Float_t drpla[6] = { 0.,0.,0.,0.,.1786,.1786 }; //PLASTIC THICKNESS
- Float_t dzb[6] = { 0.,0.,15.,15.,4.,4. }; //LENGTH OF BOXES
- Float_t dphi[6] = { 72.,72.,72.,72.,50.6,45. }; //COVERED PHI-RANGE FOR LAYERS 1-6
- Float_t rl[6] = { 3.9,7.6,14.,24.,40.,45. }; //SILICON LAYERS INNER RADIUS
- Float_t drl[6] = { .755,.755,.809,.809,.7,.7 }; //THICKNESS OF LAYERS (in % radiation length)
- Float_t dzl[6] = { 12.67,16.91,20.85,29.15,45.11,50.975 };//HALF LENGTH OF LAYERS
- Float_t drpcb[6] = { 0.,0.,.06,.06,0.,0. }; //PCB THICKNESS
- Float_t drcu[6] = { 0.,0.,.0504,.0504,.0357,.0357 }; //COPPER THICKNESS
- Float_t drsi[6] = { 0.,0.,.006,.006,.3571,.3571 }; //SILICON THICKNESS
-
- Float_t drca, dzfc;
- Int_t i, nsec;
- Float_t rend, drcatpc, dzco, zend, dits[3], rlim, drsu, zmax;
- Float_t zpos, dzco1, dzco2;
- Float_t drcac[6], acone, dphii;
- Float_t pcits[15], xltpc;
- Float_t rzcone, rstep, r0, z0, acable, fp, dz, zi, ri;
- Int_t idrotm[399];
- Float_t dgh[15];
-
- Int_t *idtmed = fIdtmed->GetArray()-199;
-
- // CONVERT INTO CM (RL(SI)=9.36 CM)
- for (i = 0; i < 6; ++i) {
- drl[i] = drl[i] / 100. * 9.36;
- }
-
- // SUPPORT ENDPLANE THICKNESS
- drsu = 2.*0.06+1./20; // 1./20. is 1 cm of honeycomb (1/20 carbon density);
-
- // CONE BELOW TPC
-
- drcatpc = 1.2/4.;
-
- // CABLE THICKNESS (CONICAL CABLES CONNECTING THE LAYERS)
-
- drca = 0.2;
-
- // ITS CONE ANGLE
-
- acone = 45.;
- acone *= kDegrad;
-
- // CONE RADIUS AT 1ST LAYER
-
- rzcone = 30.;
-
- // FIELD CAGE HALF LENGTH
-
- dzfc = 64.5;
- rlim = 48.;
- zmax = 80.;
- xltpc = 275.;
-
-
- // PARAMETERS FOR SMALL (1/2) ITS
-/*
- for (i = 0; i < 6; ++i) {
- dzl[i] /= 2.;
- dzb[i] /= 2.;
- }
- drca /= 2.;
- acone /= 2.;
- drcatpc /= 2.;
- rzcone /= 2.;
- dzfc /= 2.;
- zmax /= 2.;
- xltpc /= 2.;
-*/
- acable = 15.;
-
-
- // EQUAL DISTRIBUTION INTO THE 6 LAYERS
- rstep = drcatpc / 6.;
- for (i = 0; i < 6; ++i) {
- drcac[i] = (i+1) * rstep;
- }
-
- // NUMBER OF PHI SECTORS
-
- nsec = 5;
-
- // PACK IN PHI AS MUCH AS POSSIBLE
- // NOW PACK USING THICKNESS
-
- for (i = 0; i < 6; ++i) {
-
-// PACKING FACTOR
- fp = rl[5] / rl[i];
-
- // PHI-PACKING NOT SUFFICIENT ?
-
- if (dphi[i]/45 < fp) {
- drcac[i] = drcac[i] * fp * 45/dphi[i];
- }
- }
-
-
- // --- Define ghost volume containing the six layers and fill it with air
-
- dgh[0] = 3.5;
- dgh[1] = 50.;
- dgh[2] = zmax;
- gMC->Gsvolu("ITSV", "TUBE", idtmed[275], dgh, 3);
-
- // --- Place the ghost volume in its mother volume (ALIC) and make it
- // invisible
-
- gMC->Gspos("ITSV", 1, "ALIC", 0., 0., 0., 0, "ONLY");
- gMC->Gsatt("ITSV", "SEEN", 0);
-
- // ITS LAYERS (SILICON)
-
- dits[0] = rl[0];
- dits[1] = rl[0] + drl[0];
- dits[2] = dzl[0];
- gMC->Gsvolu("ITS1", "TUBE", idtmed[199], dits, 3);
- gMC->Gspos("ITS1", 1, "ITSV", 0., 0., 0., 0, "ONLY");
-
- dits[0] = rl[1];
- dits[1] = rl[1] + drl[1];
- dits[2] = dzl[1];
- gMC->Gsvolu("ITS2", "TUBE", idtmed[199], dits, 3);
- gMC->Gspos("ITS2", 1, "ITSV", 0., 0., 0., 0, "ONLY");
-
- dits[0] = rl[2];
- dits[1] = rl[2] + drl[2];
- dits[2] = dzl[2];
- gMC->Gsvolu("ITS3", "TUBE", idtmed[224], dits, 3);
- gMC->Gspos("ITS3", 1, "ITSV", 0., 0., 0., 0, "ONLY");
-
- dits[0] = rl[3];
- dits[1] = rl[3] + drl[3];
- dits[2] = dzl[3];
- gMC->Gsvolu("ITS4", "TUBE", idtmed[224], dits, 3);
- gMC->Gspos("ITS4", 1, "ITSV", 0., 0., 0., 0, "ONLY");
-
- dits[0] = rl[4];
- dits[1] = rl[4] + drl[4];
- dits[2] = dzl[4];
- gMC->Gsvolu("ITS5", "TUBE", idtmed[249], dits, 3);
- gMC->Gspos("ITS5", 1, "ITSV", 0., 0., 0., 0, "ONLY");
-
- dits[0] = rl[5];
- dits[1] = rl[5] + drl[5];
- dits[2] = dzl[5];
- gMC->Gsvolu("ITS6", "TUBE", idtmed[249], dits, 3);
- gMC->Gspos("ITS6", 1, "ITSV", 0., 0., 0., 0, "ONLY");
-
- // ELECTRONICS BOXES
-
- // PCB (layer #3 and #4)
-
- gMC->Gsvolu("IPCB", "TUBE", idtmed[233], dits, 0);
- for (i = 2; i < 4; ++i) {
- dits[0] = rl[i];
- dits[1] = dits[0] + drpcb[i];
- dits[2] = dzb[i] / 2.;
- zpos = dzl[i] + dits[2];
- gMC->Gsposp("IPCB", i-1, "ITSV", 0., 0., zpos, 0, "ONLY", dits, 3);
- gMC->Gsposp("IPCB", i+1, "ITSV", 0., 0.,-zpos, 0, "ONLY", dits, 3);
- }
-
- // COPPER (layer #3 and #4)
-
- gMC->Gsvolu("ICO2", "TUBE", idtmed[234], dits, 0);
- for (i = 2; i < 4; ++i) {
- dits[0] = rl[i] + drpcb[i];
- dits[1] = dits[0] + drcu[i];
- dits[2] = dzb[i] / 2.;
- zpos = dzl[i] + dits[2];
- gMC->Gsposp("ICO2", i-1, "ITSV", 0., 0., zpos, 0, "ONLY", dits, 3);
- gMC->Gsposp("ICO2", i+1, "ITSV", 0., 0.,-zpos, 0, "ONLY", dits, 3);
- }
-
- // CERAMICS (layer #3 and #4)
-
- gMC->Gsvolu("ICER", "TUBE", idtmed[235], dits, 0);
- for (i = 2; i < 4; ++i) {
- dits[0] = rl[i] + drpcb[i] + drcu[i];
- dits[1] = dits[0] + drcer[i];
- dits[2] = dzb[i] / 2.;
- zpos = dzl[i] + dits[2];
- gMC->Gsposp("ICER", i-1, "ITSV", 0., 0., zpos, 0, "ONLY", dits, 3);
- gMC->Gsposp("ICER", i+1, "ITSV", 0., 0.,-zpos, 0, "ONLY", dits, 3);
- }
-
- // SILICON (layer #3 and #4)
-
- gMC->Gsvolu("ISI2", "TUBE", idtmed[226], dits, 0);
- for (i = 2; i < 4; ++i) {
- dits[0] = rl[i] + drpcb[i] + drcu[i] + drcer[i];
- dits[1] = dits[0] + drsi[i];
- dits[2] = dzb[i] / 2.;
- zpos = dzl[i] + dits[2];
- gMC->Gsposp("ISI2", i-1, "ITSV", 0., 0., zpos, 0, "ONLY", dits, 3);
- gMC->Gsposp("ISI2", i+1, "ITSV", 0., 0.,-zpos, 0, "ONLY", dits, 3);
- }
-
- // PLASTIC (G10FR4) (layer #5 and #6)
-
- gMC->Gsvolu("IPLA", "TUBE", idtmed[262], dits, 0);
- for (i = 4; i < 6; ++i) {
- dits[0] = rl[i];
- dits[1] = dits[0] + drpla[i];
- dits[2] = dzb[i] / 2.;
- zpos = dzl[i] + dits[2];
- gMC->Gsposp("IPLA", i-1, "ITSV", 0., 0., zpos, 0, "ONLY", dits, 3);
- gMC->Gsposp("IPLA", i+1, "ITSV", 0., 0.,-zpos, 0, "ONLY", dits, 3);
- }
-
- // COPPER (layer #5 and #6)
-
- gMC->Gsvolu("ICO3", "TUBE", idtmed[259], dits, 0);
- for (i = 4; i < 6; ++i) {
- dits[0] = rl[i] + drpla[i];
- dits[1] = dits[0] + drcu[i];
- dits[2] = dzb[i] / 2.;
- zpos = dzl[i] + dits[2];
- gMC->Gsposp("ICO3", i-1, "ITSV", 0., 0., zpos, 0, "ONLY", dits, 3);
- gMC->Gsposp("ICO3", i+1, "ITSV", 0., 0.,-zpos, 0, "ONLY", dits, 3);
- }
-
- // EPOXY (layer #5 and #6)
-
- gMC->Gsvolu("IEPX", "TUBE", idtmed[262], dits, 0);
- for (i = 4; i < 6; ++i) {
- dits[0] = rl[i] + drpla[i] + drcu[i];
- dits[1] = dits[0] + drepx[i];
- dits[2] = dzb[i] / 2.;
- zpos = dzl[i] + dits[2];
- gMC->Gsposp("IEPX", i-1, "ITSV", 0., 0., zpos, 0, "ONLY", dits, 3);
- gMC->Gsposp("IEPX", i+1, "ITSV", 0., 0.,-zpos, 0, "ONLY", dits, 3);
- }
-
- // SILICON (layer #5 and #6)
-
- gMC->Gsvolu("ISI3", "TUBE", idtmed[251], dits, 0);
- for (i = 4; i < 6; ++i) {
- dits[0] = rl[i] + drpla[i] + drcu[i] + drepx[i];
- dits[1] = dits[0] + drsi[i];
- dits[2] = dzb[i] / 2.;
- zpos = dzl[i] + dits[2];
- gMC->Gsposp("ISI3", i-1, "ITSV", 0., 0., zpos, 0, "ONLY", dits, 3);
- gMC->Gsposp("ISI3", i+1, "ITSV", 0., 0.,-zpos, 0, "ONLY", dits, 3);
- }
-
- // SUPPORT
-
- gMC->Gsvolu("ISUP", "TUBE", idtmed[274], dits, 0);
- for (i = 0; i < 6; ++i) {
- dits[0] = rl[i];
- if (i < 5) dits[1] = rl[i+1];
- else dits[1] = rlim;
- dits[2] = drsu / 2.;
- zpos = dzl[i] + dzb[i] + dits[2];
- gMC->Gsposp("ISUP", i+1, "ITSV", 0., 0., zpos, 0, "ONLY", dits, 3);
- gMC->Gsposp("ISUP", i+7, "ITSV", 0., 0.,-zpos, 0, "ONLY", dits, 3);
- }
-
- // CABLES (HORIZONTAL)
-
- gMC->Gsvolu("ICHO", "TUBE", idtmed[278], dits, 0);
- for (i = 0; i < 6; ++i) {
- dits[0] = rl[i];
- dits[1] = dits[0] + drca;
- dits[2] = (rzcone + TMath::Tan(acone) * (rl[i] - rl[0]) - (dzl[i]+ dzb[i] + drsu)) / 2.;
- zpos = dzl[i - 1] + dzb[i] + drsu + dits[2];
- gMC->Gsposp("ICHO", i+1, "ITSV", 0., 0., zpos, 0, "ONLY", dits, 3);
- gMC->Gsposp("ICHO", i+7, "ITSV", 0., 0.,-zpos, 0, "ONLY", dits, 3);
- }
- // DEFINE A CONICAL GHOST VOLUME FOR THE PHI SEGMENTATION
- pcits[0] = 0.;
- pcits[1] = 360.;
- pcits[2] = 2.;
- pcits[3] = rzcone;
- pcits[4] = 3.5;
- pcits[5] = rl[0];
- pcits[6] = pcits[3] + TMath::Tan(acone) * (rlim - rl[0]);
- pcits[7] = rlim - rl[0] + 3.5;
- pcits[8] = rlim;
- gMC->Gsvolu("ICMO", "PCON", idtmed[275], pcits, 9);
- AliMatrix(idrotm[200], 90., 0., 90., 90., 180., 0.);
- gMC->Gspos("ICMO", 1, "ITSV", 0., 0., 0., 0, "ONLY");
- gMC->Gspos("ICMO", 2, "ITSV", 0., 0., 0., idrotm[200], "ONLY");
-
- // DIVIDE INTO NSEC PHI-SECTIONS
-
- gMC->Gsdvn("ICMD", "ICMO", nsec, 2);
- gMC->Gsatt("ICMO", "SEEN", 0);
- gMC->Gsatt("ICMD", "SEEN", 0);
-
- // CONICAL CABLES
-
- pcits[2] = 2.;
- gMC->Gsvolu("ICCO", "PCON", idtmed[278], pcits, 0);
- for (i = 1; i < 6; ++i) {
- pcits[0] = -dphi[i] / 2.;
- pcits[1] = dphi[i];
- if (i < 5) {
- dzco = TMath::Tan(acone) * (rl[i+1] - rl[i]);
- } else {
- dzco1 = zmax - (rzcone + TMath::Tan(acone) * (rl[5] - rl[0])) -2.;
- dzco2 = (rlim - rl[5]) * TMath::Tan(acone);
- if (rl[5] + dzco1 / TMath::Tan(acone) < rlim) {
- dzco = dzco1;
- } else {
- dzco = dzco2;
- }
- }
- pcits[3] = rzcone + TMath::Tan(acone) * (rl[i] - rl[0]);
- pcits[4] = rl[i] - drcac[i] / TMath::Sin(acone);
- pcits[5] = rl[i];
- pcits[6] = pcits[3] + dzco;
- pcits[7] = rl[i] + dzco / TMath::Tan(acone) - drcac[i] / TMath::Sin(acone);
- pcits[8] = rl[i] + dzco / TMath::Tan(acone);
-
- gMC->Gsposp("ICCO", i, "ICMD", 0., 0., 0., 0, "ONLY", pcits, 9);
-
- }
- zend = pcits[6];
- rend = pcits[8];
-
- // CONICAL CABLES BELOW TPC
-
- // DEFINE A CONICAL GHOST VOLUME FOR THE PHI SEGMENTATION
- pcits[0] = 0.;
- pcits[1] = 360.;
- pcits[2] = 2.;
- pcits[3] = zend;
- pcits[5] = rend;
- pcits[4] = pcits[5] - drcatpc;
- pcits[6] = xltpc;
- pcits[8] = pcits[4] + (pcits[6] - pcits[3]) * TMath::Tan(acable * kDegrad);
- pcits[7] = pcits[8] - drcatpc;
- AliMatrix(idrotm[200], 90., 0., 90., 90., 180., 0.);
- gMC->Gsvolu("ICCM", "PCON", idtmed[275], pcits, 9);
- gMC->Gspos("ICCM", 1, "ALIC", 0., 0., 0., 0, "ONLY");
- gMC->Gspos("ICCM", 2, "ALIC", 0., 0., 0., idrotm[200], "ONLY");
- gMC->Gsdvn("ITMD", "ICCM", nsec, 2);
- gMC->Gsatt("ITMD", "SEEN", 0);
- gMC->Gsatt("ICCM", "SEEN", 0);
-
- // NOW PLACE SEGMENTS WITH DECREASING PHI SEGMENTS INTO THE
- // GHOST-VOLUME
-
- pcits[2] = 2.;
- gMC->Gsvolu("ITTT", "PCON", idtmed[278], pcits, 0);
- r0 = rend;
- z0 = zend;
- dz = (xltpc - zend) / 9.;
- for (i = 0; i < 9; ++i) {
- zi = z0 + i*dz + dz / 2.;
- ri = r0 + (zi - z0) * TMath::Tan(acable * kDegrad);
- dphii = dphi[5] * r0 / ri;
- pcits[0] = -dphii / 2.;
- pcits[1] = dphii;
- pcits[3] = zi - dz / 2.;
- pcits[5] = r0 + (pcits[3] - z0) * TMath::Tan(acable * kDegrad);
- pcits[4] = pcits[5] - drcatpc;
- pcits[6] = zi + dz / 2.;
- pcits[8] = r0 + (pcits[6] - z0) * TMath::Tan(acable * kDegrad);
- pcits[7] = pcits[8] - drcatpc;
-
- gMC->Gsposp("ITTT", i+1, "ITMD", 0., 0., 0., 0, "ONLY", pcits, 9);
- }
-
- // --- Outputs the geometry tree in the EUCLID/CAD format
-
- if (fEuclidOut) {
- gMC->WriteEuclid("ITSgeometry", "ITSV", 1, 5);
- }
-}
-//_____________________________________________________________________________
-void AliITSv1::CreateMaterials(){
-////////////////////////////////////////////////////////////////////////
- //
- // Create ITS materials
- // This function defines the default materials used in the Geant
- // Monte Carlo simulations for the geometries AliITSv1 and AliITSv3.
- // In general it is automatically replaced by
- // the CreatMaterials routine defined in AliITSv?. Should the function
- // CreateMaterials not exist for the geometry version you are using this
- // one is used. See the definition found in AliITSv5 or the other routine
- // for a complete definition.
- //
- // Water H2O
- Float_t awat[2] = { 1.00794,15.9994 };
- Float_t zwat[2] = { 1.,8. };
- Float_t wwat[2] = { 2.,1. };
- Float_t denswat = 1.;
- // Freon
- Float_t afre[2] = { 12.011,18.9984032 };
- Float_t zfre[2] = { 6.,9. };
- Float_t wfre[2] = { 5.,12. };
- Float_t densfre = 1.5;
- // Ceramics
- // 94.4% Al2O3 , 2.8% SiO2 , 2.3% MnO , 0.5% Cr2O3
- Float_t acer[5] = { 26.981539,15.9994,28.0855,54.93805,51.9961 };
- Float_t zcer[5] = { 13.,8.,14.,25., 24. };
- Float_t wcer[5] = { .49976,1.01233,.01307, .01782,.00342 };
- Float_t denscer = 3.6;
- //
- // 60% SiO2 , 40% G10FR4
- // PC board
- Float_t apcb[3] = { 28.0855,15.9994,17.749 };
- Float_t zpcb[3] = { 14.,8.,8.875 };
- Float_t wpcb[3] = { .28,.32,.4 };
- Float_t denspcb = 1.8;
- // POLYETHYL
- Float_t apoly[2] = { 12.01,1. };
- Float_t zpoly[2] = { 6.,1. };
- Float_t wpoly[2] = { .33,.67 };
- // SERVICES
- Float_t zserv[4] = { 1.,6.,26.,29. };
- Float_t aserv[4] = { 1.,12.,55.8,63.5 };
- Float_t wserv[4] = { .014,.086,.42,.48 };
-
- Int_t isxfld = gAlice->Field()->Integ();
- Float_t sxmgmx = gAlice->Field()->Max();
-
-
- // --- Define the various materials for GEANT ---
-
- // 200-224 --> Silicon Pixel Detectors (detectors, chips, buses, cooling,..)
-
- AliMaterial(0, "SPD Si$", 28.0855, 14., 2.33, 9.36, 999);
- AliMaterial(1, "SPD Si chip$", 28.0855, 14., 2.33, 9.36, 999);
- AliMaterial(2, "SPD Si bus$", 28.0855, 14., 2.33, 9.36, 999);
- AliMaterial(3, "SPD C$", 12.011, 6., 2.265,18.8, 999);
- // v. dens
- AliMaterial(4, "SPD Air$", 14.61, 7.3, .001205, 30423., 999);
- AliMaterial(5, "SPD Vacuum$", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
- AliMaterial(6, "SPD Al$", 26.981539, 13., 2.6989, 8.9, 999);
- AliMixture( 7, "SPD Water $", awat, zwat, denswat, -2, wwat);
- AliMixture( 8, "SPD Freon$", afre, zfre, densfre, -2, wfre);
- // **
- AliMedium(0, "SPD Si$", 0, 1,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(1, "SPD Si chip$", 1, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(2, "SPD Si bus$", 2, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(3, "SPD C$", 3, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(4, "SPD Air$", 4, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(5, "SPD Vacuum$", 5, 0,isxfld,sxmgmx, 10.,1.00, .1, .100,10.00);
- AliMedium(6, "SPD Al$", 6, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(7, "SPD Water $", 7, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(8, "SPD Freon$", 8, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
-
- // 225-249 --> Silicon Drift Detectors (detectors, chips, buses, cooling,..)
-
- AliMaterial(25, "SDD Si$", 28.0855, 14., 2.33, 9.36, 999);
- AliMaterial(26, "SDD Si chip$", 28.0855, 14., 2.33, 9.36, 999);
- AliMaterial(27, "SDD Si bus$", 28.0855, 14., 2.33, 9.36, 999);
- AliMaterial(28, "SDD C$", 12.011, 6., 2.265,18.8, 999);
- // v. dens
- AliMaterial(29, "SDD Air$", 14.61, 7.3, .001205, 30423., 999);
- AliMaterial(30, "SDD Vacuum$", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
- AliMaterial(31, "SDD Al$", 26.981539, 13., 2.6989, 8.9, 999);
- // After a call with ratios by number (negative number of elements),
- // the ratio array is changed to the ratio by weight, so all successive
- // calls with the same array must specify the number of elements as
- // positive
- AliMixture(32, "SDD Water $", awat, zwat, denswat, 2, wwat);
- // After a call with ratios by number (negative number of elements),
- // the ratio array is changed to the ratio by weight, so all successive
- // calls with the same array must specify the number of elements as
- // positive
- AliMixture( 33, "SDD Freon$", afre, zfre, densfre, 2, wfre);
- AliMixture( 34, "SDD PCB$", apcb, zpcb, denspcb, 3, wpcb);
- AliMaterial(35, "SDD Copper$", 63.546, 29., 8.96, 1.43, 999);
- AliMixture( 36, "SDD Ceramics$", acer, zcer, denscer, -5, wcer);
- AliMaterial(37, "SDD Kapton$", 12.011, 6., 1.3, 31.27, 999);
- // **
- // check A and Z
- AliMedium(25, "SDD Si$", 25, 1,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(26, "SDD Si chip$", 26, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(27, "SDD Si bus$", 27, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(28, "SDD C$", 28, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(29, "SDD Air$", 29, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(30, "SDD Vacuum$", 30, 0,isxfld,sxmgmx, 10.,1.00, .1, .100,10.00);
- AliMedium(31, "SDD Al$", 31, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(32, "SDD Water $", 32, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(33, "SDD Freon$", 33, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(34, "SDD PCB$", 34, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(35, "SDD Copper$", 35, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(36, "SDD Ceramics$",36, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(37, "SDD Kapton$", 37, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
-
- // 250-274 --> Silicon Strip Detectors (detectors, chips, buses, cooling,..)
-
- AliMaterial(50, "SSD Si$", 28.0855, 14., 2.33, 9.36, 999.);
- AliMaterial(51, "SSD Si chip$", 28.0855, 14., 2.33, 9.36, 999.);
- AliMaterial(52, "SSD Si bus$", 28.0855, 14., 2.33, 9.36, 999.);
- AliMaterial(53, "SSD C$", 12.011, 6., 2.265,18.8, 999.);
- // v. dens
- AliMaterial(54, "SSD Air$", 14.61, 7.3, .001205, 30423., 999);
- AliMaterial(55, "SSD Vacuum$", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
- AliMaterial(56, "SSD Al$", 26.981539, 13., 2.6989, 8.9, 999);
- // After a call with ratios by number (negative number of elements),
- // the ratio array is changed to the ratio by weight, so all successive
- // calls with the same array must specify the number of elements as
- // positive
- AliMixture(57, "SSD Water $", awat, zwat, denswat, 2, wwat);
- // After a call with ratios by number (negative number of elements),
- // the ratio array is changed to the ratio by weight, so all successive
- // calls with the same array must specify the number of elements as
- // positive
- AliMixture(58, "SSD Freon$", afre, zfre, densfre, 2, wfre);
- AliMixture(59, "SSD PCB$", apcb, zpcb, denspcb, 3, wpcb);
- AliMaterial(60, "SSD Copper$", 63.546, 29., 8.96, 1.43, 999.);
- // After a call with ratios by number (negative number of elements),
- // the ratio array is changed to the ratio by weight, so all successive
- // calls with the same array must specify the number of elements as
- // positive
- AliMixture( 61, "SSD Ceramics$", acer, zcer, denscer, 5, wcer);
- AliMaterial(62, "SSD Kapton$", 12.011, 6., 1.3, 31.27, 999.);
- // check A and Z
- AliMaterial(63, "SDD G10FR4$", 17.749, 8.875, 1.8, 21.822, 999.);
- // **
- AliMedium(50, "SSD Si$", 50, 1,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(51, "SSD Si chip$", 51, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(52, "SSD Si bus$", 52, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(53, "SSD C$", 53, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(54, "SSD Air$", 54, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(55, "SSD Vacuum$", 55, 0,isxfld,sxmgmx, 10.,1.00, .1, .100,10.00);
- AliMedium(56, "SSD Al$", 56, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(57, "SSD Water $", 57, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(58, "SSD Freon$", 58, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(59, "SSD PCB$", 59, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(60, "SSD Copper$", 60, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(61, "SSD Ceramics$",61, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(62, "SSD Kapton$", 62, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(63, "SSD G10FR4$", 63, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
-
- // 275-299 --> General (end-caps, frames, cooling, cables, etc.)
-
- AliMaterial(75, "GEN C$", 12.011, 6., 2.265, 18.8, 999.);
- // verify density
- AliMaterial(76, "GEN Air$", 14.61, 7.3, .001205, 30423., 999);
- AliMaterial(77, "GEN Vacuum$", 1e-16, 1e-16, 1e-16, 1e16, 1e16);
- AliMixture( 78, "GEN POLYETHYL$", apoly, zpoly, .95, -2, wpoly);
- AliMixture( 79, "GEN SERVICES$", aserv, zserv, 4.68, 4, wserv);
- AliMaterial(80, "GEN Copper$", 63.546, 29., 8.96, 1.43, 999.);
- // After a call with ratios by number (negative number of elements),
- // the ratio array is changed to the ratio by weight, so all successive
- // calls with the same array must specify the number of elements as
- // positive
- AliMixture(81, "GEN Water $", awat, zwat, denswat, 2, wwat);
- // **
- AliMedium(75,"GEN C$", 75, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(76,"GEN Air$", 76, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(77,"GEN Vacuum$", 77, 0,isxfld,sxmgmx, 10., .10, .1, .100,10.00);
- AliMedium(78,"GEN POLYETHYL$",78, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(79,"GEN SERVICES$", 79, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(80,"GEN Copper$", 80, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(81,"GEN Water $", 81, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
-}
-//_____________________________________________________________________________
-void AliITSv1::Init(){
-////////////////////////////////////////////////////////////////////////
-// Initialise the ITS after it has been created.
-////////////////////////////////////////////////////////////////////////
-
- //
- AliITS::Init();
- fMajorVersion = 1;
- fMinorVersion = 0;
-}
-
-//_____________________________________________________________________________
-void AliITSv1::DrawModule(){
-////////////////////////////////////////////////////////////////////////
-// Draw a shaded view of the FMD version 1.
-////////////////////////////////////////////////////////////////////////
-
- // Set everything unseen
- gMC->Gsatt("*", "seen", -1);
- //
- // Set ALIC mother visible
- gMC->Gsatt("ALIC","SEEN",0);
- //
- // Set the volumes visible
- gMC->Gsatt("ITSV","SEEN",0);
- gMC->Gsatt("ITS1","SEEN",1);
- gMC->Gsatt("ITS2","SEEN",1);
- gMC->Gsatt("ITS3","SEEN",1);
- gMC->Gsatt("ITS4","SEEN",1);
- gMC->Gsatt("ITS5","SEEN",1);
- gMC->Gsatt("ITS6","SEEN",1);
-
- gMC->Gsatt("IPCB","SEEN",1);
- gMC->Gsatt("ICO2","SEEN",1);
- gMC->Gsatt("ICER","SEEN",0);
- gMC->Gsatt("ISI2","SEEN",0);
- gMC->Gsatt("IPLA","SEEN",0);
- gMC->Gsatt("ICO3","SEEN",0);
- gMC->Gsatt("IEPX","SEEN",0);
- gMC->Gsatt("ISI3","SEEN",1);
- gMC->Gsatt("ISUP","SEEN",0);
- gMC->Gsatt("ICHO","SEEN",0);
- gMC->Gsatt("ICMO","SEEN",0);
- gMC->Gsatt("ICMD","SEEN",0);
- gMC->Gsatt("ICCO","SEEN",1);
- gMC->Gsatt("ICCM","SEEN",0);
- gMC->Gsatt("ITMD","SEEN",0);
- gMC->Gsatt("ITTT","SEEN",1);
-
- //
- gMC->Gdopt("hide", "on");
- gMC->Gdopt("shad", "on");
- gMC->Gsatt("*", "fill", 7);
- gMC->SetClipBox(".");
- gMC->SetClipBox("*", 0, 300, -300, 300, -300, 300);
- gMC->DefaultRange();
- gMC->Gdraw("alic", 40, 30, 0, 11, 10, .07, .07);
- gMC->Gdhead(1111, "Inner Tracking System Version 1");
- gMC->Gdman(17, 6, "MAN");
-}
-//_____________________________________________________________________________
-void AliITSv1::StepManager(){
-////////////////////////////////////////////////////////////////////////
-// Called for every step in the ITS, then calles the AliITShit class
-// creator with the information to be recoreded about that hit.
-////////////////////////////////////////////////////////////////////////
-/*
- Int_t copy, id;
- Float_t hits[8];
- Int_t vol[4];
- TLorentzVector position, momentum;
- TClonesArray &lhits = *fHits;
- //
- // Track status
- vol[3] = 0;
- if(gMC->IsTrackInside()) vol[3] += 1;
- if(gMC->IsTrackEntering()) vol[3] += 2;
- if(gMC->IsTrackExiting()) vol[3] += 4;
- if(gMC->IsTrackOut()) vol[3] += 8;
- if(gMC->IsTrackDisappeared()) vol[3] += 16;
- if(gMC->IsTrackStop()) vol[3] += 32;
- if(gMC->IsTrackAlive()) vol[3] += 64;
- //
- // Fill hit structure.
- if( !(gMC->TrackCharge()) ) return;
- //
- // Only entering charged tracks
- if((id=gMC->CurrentVolID(copy))==fIdSens[0]) {
- vol[0]=1;
- id=gMC->CurrentVolOffID(1,copy);
- vol[1]=copy;
- id=gMC->CurrentVolOffID(2,copy);
- vol[2]=copy;
- } else if(id==fIdSens[1]) {
- vol[0]=2;
- id=gMC->CurrentVolOffID(1,copy);
- vol[1]=copy;
- id=gMC->CurrentVolOffID(2,copy);
- vol[2]=copy;
- } else if(id==fIdSens[2]) {
- vol[0]=3;
- vol[1]=copy;
- id=gMC->CurrentVolOffID(1,copy);
- vol[2]=copy;
- } else if(id==fIdSens[3]) {
- vol[0]=4;
- vol[1]=copy;
- id=gMC->CurrentVolOffID(1,copy);
- vol[2]=copy;
- } else if(id==fIdSens[4]) {
- vol[0]=5;
- vol[1]=copy;
- id=gMC->CurrentVolOffID(1,copy);
- vol[2]=copy;
- } else if(id==fIdSens[5]) {
- vol[0]=6;
- vol[1]=copy;
- id=gMC->CurrentVolOffID(1,copy);
- vol[2]=copy;
- } else return;
- gMC->TrackPosition(position);
- gMC->TrackMomentum(momentum);
- hits[0]=position[0];
- hits[1]=position[1];
- hits[2]=position[2];
- hits[3]=momentum[0];
- hits[4]=momentum[1];
- hits[5]=momentum[2];
- hits[6]=gMC->Edep();
- hits[7]=gMC->TrackTime();
- new(lhits[fNhits++]) AliITShit(fIshunt,gAlice->GetMCApp()->GetCurrentTrackNumber(),vol,hits);
-*/
-}
+++ /dev/null
-/**************************************************************************
- * 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. *
- **************************************************************************/
-
-/* $Id$ */
-
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Inner Traking System version PPR asymmetric //
-// This class contains the base procedures for the Inner Tracking System //
-// //
-// Authors: R. Barbera //
-// version 8. //
-// Created January 15 2001. //
-// //
-// NOTE: THIS IS THE ASYMMETRIC PPR geometry of the ITS. //
-// //
-///////////////////////////////////////////////////////////////////////////////
-
-// See AliITSvPPRasymm::StepManager().
-#include <Riostream.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <TBRIK.h>
-//#include <TCanvas.h>
-#include <TClonesArray.h>
-//#include <TFile.h> // only required for Tracking function?
-#include <TGeometry.h>
-#include <TLorentzVector.h>
-#include <TMath.h>
-#include <TNode.h>
-//#include <TObjArray.h>
-//#include <TObjString.h>
-#include <TPCON.h>
-//#include <TSystem.h>
-#include <TTUBE.h>
-#include <TTUBS.h>
-#include <TVirtualMC.h>
-
-#include "AliRun.h"
-#include "AliMagF.h"
-#include "AliConst.h"
-#include "AliITSGeant3Geometry.h"
-#include "AliTrackReference.h"
-#include "AliITShit.h"
-#include "AliITS.h"
-#include "AliITSvPPRasymm.h"
-#include "AliITSgeom.h"
-#include "AliITSgeomSDD.h"
-#include "AliITSgeomSPD.h"
-#include "AliITSgeomSSD.h"
-#include "AliITShit.h"
-#include "AliITSresponseSDD.h"
-#include "AliITSresponseSPD.h"
-#include "AliITSresponseSSD.h"
-#include "AliITSsegmentationSDD.h"
-#include "AliITSsegmentationSPD.h"
-#include "AliITSsegmentationSSD.h"
-#include "AliITSsimulationSDD.h"
-#include "AliITSsimulationSPD.h"
-#include "AliITSsimulationSSD.h"
-#include "AliITSvPPRasymm.h"
-#include "AliMC.h"
-
-
-ClassImp(AliITSvPPRasymm)
-
-//_____________________________________________________________________________
-AliITSvPPRasymm::AliITSvPPRasymm() {
-////////////////////////////////////////////////////////////////////////
-// 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';
-}
-//_____________________________________________________________________________
-AliITSvPPRasymm::AliITSvPPRasymm(const char *name, const char *title) : AliITS(name, title){
-////////////////////////////////////////////////////////////////////////
-// Standard constructor for the ITS version 8.
-////////////////////////////////////////////////////////////////////////
- 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);
-}
-//____________________________________________________________________________
-AliITSvPPRasymm::AliITSvPPRasymm(const AliITSvPPRasymm &source):AliITS(source){
-////////////////////////////////////////////////////////////////////////
-// Copy Constructor for ITS version 8.
-////////////////////////////////////////////////////////////////////////
- if(&source == this) return;
- Warning("Copy Constructor","Not allowed to copy AliITSvPPRasymm");
- return;
-}
-//_____________________________________________________________________________
-AliITSvPPRasymm& AliITSvPPRasymm::operator=(const AliITSvPPRasymm &source){
-////////////////////////////////////////////////////////////////////////
-// Assignment operator for the ITS version 8.
-////////////////////////////////////////////////////////////////////////
- if(&source == this) return *this;
- Warning("= operator","Not allowed to copy AliITSvPPRasymm");
- return *this;
-}
-//_____________________________________________________________________________
-AliITSvPPRasymm::~AliITSvPPRasymm() {
-////////////////////////////////////////////////////////////////////////
-// Standard destructor for the ITS version 8.
-////////////////////////////////////////////////////////////////////////
-}
-//__________________________________________________________________________
-void AliITSvPPRasymm::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
-