/*
$Log$
+Revision 1.16 2001/02/09 00:05:31 nilsen
+Added fMajor/MinorVersion variables and made other changes to better make
+use of the new code changes in AliITSgeom related classes.
+
+Revision 1.15 2001/01/30 09:23:13 hristov
+Streamers removed (R.Brun)
+
+Revision 1.14 2001/01/17 07:41:29 barbera
+Some media parameters modified
+
+Revision 1.13 2001/01/15 13:13:52 barbera
+Some comments added
+
+Revision 1.12 2000/12/10 16:00:44 barbera
+Added last definition of special media like end-ladder boxes and cones
+
+Revision 1.11 2000/10/30 08:02:25 barbera
+PCON's changed into simpler CONS and TUBS. Services now allow for the rails to go through them.
+
+Revision 1.3.2.7 2000/10/27 17:20:00 barbera
+Position of rails w.r.t. the interaction point corrected.
+
+Revision 1.9 2000/10/27 13:31:29 barbera
+Rails between ITS and TPC added.
+
+Revision 1.8 2000/10/27 13:03:08 barbera
+Small changes in the SPD volumes and materials
+
+Revision 1.6 2000/10/16 14:45:37 barbera
+Mother volume ITSD modified to avoid some overlaps
+
Revision 1.5 2000/10/16 13:49:15 barbera
Services volumes slightly modified and material added following Pierluigi Barberis' information
// strongly encouraged to uses AliITSv5.
// //
///////////////////////////////////////////////////////////////////////////////
-
+#include <iostream.h>
#include <TMath.h>
#include <TRandom.h>
#include <TVector.h>
// Standard default constructor for the ITS version 7.
////////////////////////////////////////////////////////////////////////
- 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 (Int_t i=0;i<fIdN;i++) fIdSens[i]=fIdName[i].Length();
+ fIdN = 0;
+ fIdName = 0;
+ fIdSens = 0;
+ fMajorVersion = 8;
+ fMinorVersion = 0;
}
//_____________________________________________________________________________
AliITSvPPRcoarsesymm::AliITSvPPRcoarsesymm(const char *name, const char *title) : AliITS(name, title){
// Standard constructor for the ITS version 7.
////////////////////////////////////////////////////////////////////////
- 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 (Int_t i=0;i<fIdN;i++) fIdSens[i]=fIdName[i].Length();
-
+ 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 (Int_t i=0;i<fIdN;i++) fIdSens[i]=0;
+ fMajorVersion = 9;
+ fMinorVersion = 0;
}
//____________________________________________________________________________
AliITSvPPRcoarsesymm::AliITSvPPRcoarsesymm(const AliITSvPPRcoarsesymm &source){
// Copy Constructor for ITS version 7.
////////////////////////////////////////////////////////////////////////
if(&source == this) return;
- printf("Not allowed to copy AliITSvPPRcoarsesymm\n");
+ Warning("Copy Constructor","Not allowed to copy AliITSvPPRcoarsesymm");
return;
}
//_____________________________________________________________________________
// Assignment operator for the ITS version 7.
////////////////////////////////////////////////////////////////////////
if(&source == this) return *this;
- printf("Not allowed to copy AliITSvPPRcoarsesymm\n");
+ Warning("= operator","Not allowed to copy AliITSvPPRcoarsesymm");
return *this;
}
//_____________________________________________________________________________
////////////////////////////////////////////////////////////////////////
//INNER RADII OF THE SILICON LAYERS
- Float_t rl[6] = { 3.95,7.,15.,24.,38.1,43.5765 };
+ Float_t rl[6] = { 3.8095,7.,15.,24.,38.1,43.5765 };
//THICKNESSES OF LAYERS (in % radiation length)
- Float_t drl[6] = { 1.03,1.03+0.36,0.34+0.94,0.95,0.34+0.91,0.87 };
+ Float_t drl[6] = { 1.03,1.03,0.94,0.95,0.91,0.87 };
//HALF LENGTHS OF LAYERS
- Float_t dzl[6] = { 14.344,14.344,25.1,32.1,49.405,55.27 };
+ Float_t dzl[6] = { 14.35,14.35,25.1,32.1,49.405,55.27 };
//LENGTHS OF END-LADDER BOXES (ALL INCLUDED)
- Float_t dzb[6] = { 17.,17.,15.,17.,12.,11. }; // check !!
+ Float_t dzb[6] = { 12.4,12.4,13.5,15.,7.5,7.5 };
//THICKNESSES OF END-LADDER BOXES (ALL INCLUDED)
- Float_t drb[6] = { 1.5,1.5,5.,5.,3.,3. }; // check spd and ssd !!
+ Float_t drb[6] = { rl[1]-rl[0],0.2,5.,5.,4.,4. };
Float_t dits[3], rlim, zmax;
dgh[15] = -77.2;
dgh[16] = 44.9;
dgh[17] = 56.1;
- dgh[18] = -36.;
- dgh[19] = 3.29;
+ dgh[18] = -40.;
+ dgh[19] = 3.295;
dgh[20] = 56.1;
- dgh[21] = 36.;
- dgh[22] = 3.29;
+
+/*
+ dgh[21] = -35.;
+ dgh[22] = 3.295;
+ dgh[23] = 56.1;
+
+ dgh[24] = -35.;
+ dgh[25] = 5.;
+ dgh[26] = 56.1;
+
+ dgh[27] = -29.;
+ dgh[28] = 5.;
+ dgh[29] = 56.1;
+
+ dgh[30] = -29.;
+ dgh[31] = 3.295;
+ dgh[32] = 56.1;
+
+*/
+
+
+ dgh[21] = 40.;
+ dgh[22] = 3.295;
dgh[23] = 56.1;
dgh[24] = 77.2;
dgh[25] = 44.9;
dgh[36] = xltpc+4.+0.1;
dgh[37] = 62.4;
dgh[38] = 85.;
-
gMC->Gsvolu("ITSV", "PCON", idtmed[275], dgh, 39);
// --- Place the ghost volume in its mother volume (ALIC) and make it
dgh[1] = 360.;
dgh[2] = 4.;
dgh[3] = -77.2;
- dgh[4] = 45.;
+ dgh[4] = 46.;
dgh[5] = 56.;
- dgh[6] = -36.;
+ dgh[6] = -40.;
dgh[7] = 3.3;
dgh[8] = 56.;
- dgh[9] = 36.;
+ dgh[9] = 40.;
dgh[10] = 3.3;
dgh[11] = 56.;
dgh[12] = 77.2;
- dgh[13] = 45.;
+ dgh[13] = 46.;
dgh[14] = 56.;
gMC->Gsvolu("ITSD", "PCON", idtmed[275], dgh, 15);
// END-LADDER ELECTRONICS BOXES AND CABLES FOR SDD
gMC->Gsvolu("IEL2", "TUBE", idtmed[237], dits, 0);
- for (i = 2; i < 4; i++) {
- dits[0] = rl[i];
+ for (i = 2; i < 3; i++) {
+ dits[0] = rl[i]-2.5;
+ dits[1] = dits[0] + drb[i];
+ dits[2] = dzb[i] / 2.;
+ zpos = dzl[i] + dits[2];
+ gMC->Gsposp("IEL2", i+1, "ITSD", 0., 0., zpos, 0, "ONLY", dits, 3);
+ gMC->Gsposp("IEL2", i+1+6, "ITSD", 0., 0.,-zpos, 0, "ONLY", dits, 3);
+ }
+ for (i = 3; i < 4; i++) {
+ dits[0] = rl[i]-1.4;
dits[1] = dits[0] + drb[i];
dits[2] = dzb[i] / 2.;
zpos = dzl[i] + dits[2];
gMC->Gsposp("IEL2", i+1, "ITSD", 0., 0., zpos, 0, "ONLY", dits, 3);
gMC->Gsposp("IEL2", i+1+6, "ITSD", 0., 0.,-zpos, 0, "ONLY", dits, 3);
}
+
// END-LADDER ELECTRONICS BOXES AND CABLES FOR SSD
gMC->Gsvolu("IEL3", "TUBE", idtmed[263], dits, 0);
- for (i = 4; i < 6; i++) {
- dits[0] = rl[i];
+ for (i = 4; i < 5; i++) {
+ dits[0] = rl[i]+1.4;
dits[1] = dits[0] + drb[i];
dits[2] = dzb[i] / 2.;
zpos = dzl[i] + dits[2];
gMC->Gsposp("IEL3", i+1, "ITSD", 0., 0., zpos, 0, "ONLY", dits, 3);
gMC->Gsposp("IEL3", i+1+6, "ITSD", 0., 0.,-zpos, 0, "ONLY", dits, 3);
}
+ for (i = 5; i < 6; i++) {
+ dits[0] = rl[i]+0.4235;
+ dits[1] = dits[0] + drb[i];
+ dits[2] = dzb[i] / 2.;
+ zpos = dzl[i] + dits[2];
+ gMC->Gsposp("IEL3", i+1, "ITSD", 0., 0., zpos, 0, "ONLY", dits, 3);
+ gMC->Gsposp("IEL3", i+1+6, "ITSD", 0., 0.,-zpos, 0, "ONLY", dits, 3);
+ }
- // DEFINE END CONES FOR SPD
-
- pcits[0] = 0.;
- pcits[1] = 360.;
- pcits[2] = 2.;
- pcits[3] = 32.;
- pcits[4] = (rl[0]+rl[1])/2.;
- pcits[5] = (rl[0]+rl[1])/2.+2.; // check thickness !!
- pcits[6] = 39.4;
- pcits[7] = 10.065;
- pcits[8] = 10.065+2.; // check thickness !!
- gMC->Gsvolu("ICO1", "PCON", idtmed[209], pcits, 9);
- AliMatrix(idrotm[200], 90., 0., 90., 90., 180., 0.);
- gMC->Gspos("ICO1", 1, "ITSD", 0., 0., 0., 0, "ONLY");
- gMC->Gspos("ICO1", 2, "ITSD", 0., 0., 0., idrotm[200], "ONLY");
-
+ // DEFINE THERMAL SCREEN FOR SPD
+
+ pcits[0] = 8.3;
+ pcits[1] = 8.5;
+ pcits[2] = 42.5;
+ gMC->Gsvolu("ICY1", "TUBE", idtmed[274], pcits, 3);
+ gMC->Gspos("ICY1", 1, "ITSD", 0., 0., 0., 0, "ONLY");
// DEFINE END CONES FOR SDD
- pcits[0] = 0.;
- pcits[1] = 360.;
- pcits[2] = 2.;
- pcits[3] = 39.4;
- pcits[4] = 10.065;
- pcits[5] = 10.065+3.0; // check thickness !!
- pcits[6] = 57.4;
- pcits[7] = 28.;
- pcits[8] = 28.+3.0; // check thickness !!
- gMC->Gsvolu("ICO2", "PCON", idtmed[238], pcits, 9);
- gMC->Gspos("ICO2", 1, "ITSD", 0., 0., 0., 0, "ONLY");
- gMC->Gspos("ICO2", 2, "ITSD", 0., 0., 0., idrotm[200], "ONLY");
+ pcits[0] = (59.-42.5)/2.;
+ pcits[1] = 8.5;
+ pcits[2] = 8.5+0.1;
+ pcits[3] = 28.;
+ pcits[4] = 28.+0.1;
+ gMC->Gsvolu("ICO1", "CONE", idtmed[238], pcits, 5);
+ AliMatrix(idrotm[200], 90., 0., 90., 90., 180., 0.);
+ gMC->Gspos("ICO1", 1, "ITSD", 0., 0., 42.5+pcits[0], 0, "ONLY");
+ gMC->Gspos("ICO1", 2, "ITSD", 0., 0., -(42.5+pcits[0]), idrotm[200], "ONLY");
+ // DEFINE CYLINDER BETWEEN SDD AND SSD
+
+ pcits[0] = (59.5-0.13/2.)/2.;
+ pcits[1] = (59.5+0.13/2.)/2.;
+ pcits[2] = 57.;
+ gMC->Gsvolu("ICY2", "TUBE", idtmed[274], pcits, 3);
+ gMC->Gspos("ICY2", 1, "ITSD", 0., 0., 0., 0, "ONLY");
// DEFINE END CONES FOR SSD
- pcits[0] = 0.;
- pcits[1] = 360.;
- pcits[2] = 2.;
- pcits[3] = 57.4;
- pcits[4] = 28.0;
- pcits[5] = 28.0+4.0; // check thickness !!
- pcits[6] = 74.0;
- pcits[7] = 47.;
- pcits[8] = 47.+4.0; // check thickness !!
- gMC->Gsvolu("ICO3", "PCON", idtmed[264], pcits, 9);
- gMC->Gspos("ICO3", 1, "ITSD", 0., 0., 0., 0, "ONLY");
- gMC->Gspos("ICO3", 2, "ITSD", 0., 0., 0., idrotm[200], "ONLY");
+ pcits[0] = (74.-59.)/2.;
+ pcits[1] = 28.;
+ pcits[2] = 28.+0.1;
+ pcits[3] = 47.;
+ pcits[4] = 47.+0.1;
+ gMC->Gsvolu("ICO2", "CONE", idtmed[264], pcits, 5);
+ gMC->Gspos("ICO2", 1, "ITSD", 0., 0., 59.+pcits[0], 0, "ONLY");
+ gMC->Gspos("ICO2", 2, "ITSD", 0., 0., -(59.+pcits[0]), idrotm[200], "ONLY");
+
-
// SERVICES
- // --- Define cables at the end of the ITS cones - copper part
+ // --- DEFINE CABLES AT THE END OF THE ITS CONES - COPPER PART
- dgh[0] = 45.;
- dgh[1] = 45.+1.0;
+ dgh[0] = 46.;
+ dgh[1] = 46.+1.0;
dgh[2] = 9.5;
gMC->Gsvolu("ICCU", "TUBE", idtmed[279], dgh, 3);
gMC->Gspos("ICCU", 1, "ITSV", 0., 0., 86.7, 0, "ONLY");
gMC->Gspos("ICCU", 2, "ITSV", 0., 0., -86.7, idrotm[200], "ONLY");
- // --- Define cables at the end of the ITS cones - carbon part
+ // --- DEFINE CABLES AT THE END OF THE ITS CONES - CARBON PART
- dgh[0] = 45.+1.0;
- dgh[1] = 45.+1.0+1.5;
+ dgh[0] = 46.+1.0;
+ dgh[1] = 46.+1.0+1.5;
dgh[2] = 9.5;
gMC->Gsvolu("ICCC", "TUBE", idtmed[274], dgh, 3);
gMC->Gspos("ICCC", 1, "ITSV", 0., 0., 86.7, 0, "ONLY");
gMC->Gspos("ICCC", 2, "ITSV", 0., 0., -86.7, idrotm[200], "ONLY");
- // --- Define patch panels at the end of the ITS cones
+ // --- DEFINE PATCH PANELS AT THE END OF THE ITS CONES
- dgh[0] = 45.;
+ dgh[0] = 46.;
dgh[1] = 56.;
dgh[2] = 2.25;
gMC->Gspos("IPAN", 1, "ITSV", 0., 0., 98.45, 0, "ONLY");
gMC->Gspos("IPAN", 2, "ITSV", 0., 0., -98.45, idrotm[200], "ONLY");
- // --- Define cables/cooling below the TPC - copper part
-
- dgh[0] = 0.;
- dgh[1] = 360.;
- dgh[2] = 2.;
- dgh[3] = 100.7;
- dgh[4] = 45.2;
- dgh[5] = 45.2+1.0;
- dgh[6] = xltpc;
- dgh[7] = 61.8;
- dgh[8] = 61.8+1.0;
- gMC->Gsvolu("ICU1", "PCON", idtmed[279], dgh, 9);
- gMC->Gspos("ICU1", 1, "ITSV", 0., 0., 0., 0, "ONLY");
- gMC->Gspos("ICU1", 2, "ITSV", 0., 0., 0., idrotm[200], "ONLY");
-
- // --- Define cables/cooling below the TPC - carbon part
-
- dgh[0] = 0.;
- dgh[1] = 360.;
- dgh[2] = 2.;
- dgh[3] = 100.7;
- dgh[4] = 45.2+1.0;
- dgh[5] = 45.2+1.0+1.5;
- dgh[6] = xltpc;
- dgh[7] = 61.8+1.0;
- dgh[8] = 61.8+1.0+1.5;
- gMC->Gsvolu("ICC1", "PCON", idtmed[274], dgh, 9);
- gMC->Gspos("ICC1", 1, "ITSV", 0., 0., 0., 0, "ONLY");
- gMC->Gspos("ICC1", 2, "ITSV", 0., 0., 0., idrotm[200], "ONLY");
-
-
- // --- Define cables/cooling behind the TPC - copper part
+ // --- DEFINE CABLES/COOLING BELOW THE TPC - COPPER PART - UPPER PART
+
+ dgh[0] = (xltpc-100.7)/2.;
+ dgh[1] = 46.2;
+ dgh[2] = 46.2+1.0;
+ dgh[3] = 62.3;
+ dgh[4] = 62.3+1.0;
+ dgh[5] = 12.;
+ dgh[6] = 168.;
+ gMC->Gsvolu("ICU1", "CONS", idtmed[279], dgh, 7);
+ gMC->Gspos("ICU1", 1, "ITSV", 0., 0., 100.7+dgh[0], 0, "ONLY");
+ gMC->Gspos("ICU1", 2, "ITSV", 0., 0., -(100.7+dgh[0]), idrotm[200], "ONLY");
+
+ // --- DEFINE CABLES/COOLING BELOW THE TPC - COPPER PART - LOWER PART
+
+ dgh[0] = (xltpc-100.7)/2.;
+ dgh[1] = 46.2;
+ dgh[2] = 46.2+1.0;
+ dgh[3] = 62.3;
+ dgh[4] = 62.3+1.0;
+ dgh[5] = 192.;
+ dgh[6] = 348.;
+ gMC->Gsvolu("ICU2", "CONS", idtmed[279], dgh, 7);
+ gMC->Gspos("ICU2", 1, "ITSV", 0., 0., 100.7+dgh[0], 0, "ONLY");
+ gMC->Gspos("ICU2", 2, "ITSV", 0., 0., -(100.7+dgh[0]), idrotm[200], "ONLY");
+
+ // --- DEFINE CABLES/COOLING BELOW THE TPC - CARBON PART - UPPER PART
+
+ dgh[0] = (xltpc-100.7)/2.;
+ dgh[1] = 46.2+1.0;
+ dgh[2] = 46.2+1.0+1.5;
+ dgh[3] = 62.3+1.0;
+ dgh[4] = 62.3+1.0+1.5;
+ dgh[5] = 12.;
+ dgh[6] = 168.;
+ gMC->Gsvolu("ICC1", "CONS", idtmed[274], dgh, 7);
+ gMC->Gspos("ICC1", 1, "ITSV", 0., 0., 100.7+dgh[0], 0, "ONLY");
+ gMC->Gspos("ICC1", 2, "ITSV", 0., 0., -(100.7+dgh[0]), idrotm[200], "ONLY");
+
+ // --- DEFINE CABLES/COOLING BELOW THE TPC - CARBON PART - LOWER PART
+
+ dgh[0] = (xltpc-100.7)/2.;
+ dgh[1] = 46.2+1.0;
+ dgh[2] = 46.2+1.0+1.5;
+ dgh[3] = 62.3+1.0;
+ dgh[4] = 62.3+1.0+1.5;
+ dgh[5] = 192.;
+ dgh[6] = 348.;
+ gMC->Gsvolu("ICC2", "CONS", idtmed[274], dgh, 7);
+ gMC->Gspos("ICC2", 1, "ITSV", 0., 0., 100.7+dgh[0], 0, "ONLY");
+ gMC->Gspos("ICC2", 2, "ITSV", 0., 0., -(100.7+dgh[0]), idrotm[200], "ONLY");
+
+ // --- DEFINE CABLES/COOLING BEHIND THE TPC - COPPER PART - UPPER PART
+
+ dgh[0] = 62.1;
+ dgh[1] = 74.5;
+ dgh[2] = 0.5;
+ dgh[3] = 12.;
+ dgh[4] = 168.;
+ gMC->Gsvolu("ICU3", "TUBS", idtmed[279], dgh, 5);
+ gMC->Gspos("ICU3", 1, "ITSV", 0., 0., xltpc+1.5+dgh[2], 0, "ONLY");
+ gMC->Gspos("ICU3", 2, "ITSV", 0., 0., -(xltpc+1.5+dgh[2]), idrotm[200], "ONLY");
+
+ // --- DEFINE CABLES/COOLING BEHIND THE TPC - COPPER PART - LOWER PART
+
+ dgh[0] = 62.1;
+ dgh[1] = 74.5;
+ dgh[2] = 0.5;
+ dgh[3] = 192.;
+ dgh[4] = 348.;
+ gMC->Gsvolu("ICU4", "TUBS", idtmed[279], dgh, 5);
+ gMC->Gspos("ICU4", 1, "ITSV", 0., 0., xltpc+1.5+dgh[2], 0, "ONLY");
+ gMC->Gspos("ICU4", 2, "ITSV", 0., 0., -(xltpc+1.5+dgh[2]), idrotm[200], "ONLY");
+
+ // --- DEFINE CABLES/COOLING BEHIND THE TPC - CARBON PART - UPPER PART
+
+ dgh[0] = 62.1;
+ dgh[1] = 74.5;
+ dgh[2] = 0.75;
+ dgh[3] = 12.;
+ dgh[4] = 168.;
+ gMC->Gsvolu("ICC3", "TUBS", idtmed[274], dgh, 5);
+ gMC->Gspos("ICC3", 1, "ITSV", 0., 0., xltpc+dgh[2], 0, "ONLY");
+ gMC->Gspos("ICC3", 2, "ITSV", 0., 0., -(xltpc+dgh[2]), idrotm[200], "ONLY");
+
+ // --- DEFINE CABLES/COOLING BEHIND THE TPC - CARBON PART - LOWER PART
+
+ dgh[0] = 62.1;
+ dgh[1] = 74.5;
+ dgh[2] = 0.75;
+ dgh[3] = 192.;
+ dgh[4] = 348.;
+ gMC->Gsvolu("ICC4", "TUBS", idtmed[274], dgh, 5);
+ gMC->Gspos("ICC4", 1, "ITSV", 0., 0., xltpc+dgh[2], 0, "ONLY");
+ gMC->Gspos("ICC4", 2, "ITSV", 0., 0., -(xltpc+dgh[2]), idrotm[200], "ONLY");
+
+ // --- DEFINE HOOK TO THE TPC ON OTHER SIDE W.R.T. THE ABSORBER - UPPER PART
- dgh[0] = 0.;
- dgh[1] = 360.;
- dgh[2] = 2.;
- dgh[3] = xltpc+1.5;
- dgh[4] = 62.5;
- dgh[5] = 74.5;
- dgh[6] = xltpc+1.5+1.0;
- dgh[7] = 62.5;
- dgh[8] = 74.5;
- gMC->Gsvolu("ICU2", "PCON", idtmed[279], dgh, 9);
- gMC->Gspos("ICU2", 1, "ITSV", 0., 0., 0., 0, "ONLY");
- gMC->Gspos("ICU2", 2, "ITSV", 0., 0., 0., idrotm[200], "ONLY");
-
- // --- Define cables/cooling behind the TPC - carbon part
+ dgh[0] = 74.5;
+ dgh[1] = 79.5;
+ dgh[2] = 2.5;
+ dgh[3] = 12.;
+ dgh[4] = 168.;
+ gMC->Gsvolu("IHK1", "TUBS", idtmed[284], dgh, 5);
+ gMC->Gspos("IHK1", 1, "ITSV", 0., 0., -xltpc-dgh[2], 0, "ONLY");
- dgh[0] = 0.;
- dgh[1] = 360.;
- dgh[2] = 2.;
- dgh[3] = xltpc;
- dgh[4] = 62.5;
- dgh[5] = 74.5;
- dgh[6] = xltpc+1.5;
- dgh[7] = 62.5;
- dgh[8] = 74.5;
- gMC->Gsvolu("ICC2", "PCON", idtmed[274], dgh, 9);
- gMC->Gspos("ICC2", 1, "ITSV", 0., 0., 0., 0, "ONLY");
- gMC->Gspos("ICC2", 2, "ITSV", 0., 0., 0., idrotm[200], "ONLY");
-
- // --- Define hook to the TPC on other side w.r.t. the absorber
+ // --- DEFINE HOOK TO THE TPC ON OTHER SIDE W.R.T. THE ABSORBER - LOWER PART
dgh[0] = 74.5;
dgh[1] = 79.5;
dgh[2] = 2.5;
- gMC->Gsvolu("IHOK", "TUBE", idtmed[284], dgh, 3);
- gMC->Gspos("IHOK", 1, "ITSV", 0., 0., -xltpc-dgh[2], 0, "ONLY");
+ dgh[3] = 192.;
+ dgh[4] = 348.;
+ gMC->Gsvolu("IHK2", "TUBS", idtmed[284], dgh, 5);
+ gMC->Gspos("IHK2", 1, "ITSV", 0., 0., -xltpc-dgh[2], 0, "ONLY");
+
+ // --- DEFINE RAILS BETWEEN THE ITS AND THE TPC
+ //dgh[0] = 0.85;
+ //dgh[1] = 10.;
+ //dgh[2] = 190.;
+ //gMC->Gsvolu("IRAI", "BOX ", idtmed[285], dgh, 3);
+ //gMC->Gspos("IRAI", 1, "ITSV", 53., 0., -69.5, 0, "ONLY");
+ //gMC->Gspos("IRAI", 2, "ITSV", -53., 0., -69.5, 0, "ONLY");
+
+ // --- DEFINE CYLINDERS HOLDING RAILS BETWEEN THE ITS AND THE TPC
+
+
+ dgh[0] = 58.;
+ dgh[1] = 59.;
+ dgh[2] = 0.6;
+ gMC->Gsvolu("ICYL", "TUBE", idtmed[285], dgh, 3);
+ gMC->Gspos("ICYL", 1, "ALIC", 0., 0., 74., 0, "ONLY");
+ gMC->Gspos("ICYL", 2, "ALIC", 0., 0., -74., idrotm[200], "ONLY");
// --- Outputs the geometry tree in the EUCLID/CAD format
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);
- AliMaterial(9, "SPD End ladder$",28.0855, 14., 2.33, 9.36, 999); // check !!!!
+ AliMaterial(9, "SPD End ladder$", 55.845, 26., 7.87/10., 1.76*10., 999);
+ //AliMaterial(9, "SPD End ladder$", 55.845, 26., -7.87/10., -1.76*10., 999);
AliMaterial(10, "SPD cone$",28.0855, 14., 2.33, 9.36, 999); // check !!!!
// **
- AliMedium(0, "SPD Si$", 0, 0,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);
- AliMedium(9, "SPD End ladder",9, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(10, "SPD cone$", 10, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
+ AliMedium(0, "SPD Si$", 0, 0,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);
+ AliMedium(9, "SPD End ladder$",9, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
+ AliMedium(10, "SPD cone$", 10, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
// 225-249 --> Silicon Drift Detectors (detectors, chips, buses, cooling,..)
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);
- AliMaterial(38, "SDD End ladder$",28.0855, 14., 2.33, 9.36, 999); // check !!!!
- AliMaterial(39, "SDD cone$",28.0855, 14., 2.33, 9.36, 999); // check !!!!
+ AliMaterial(38, "SDD End ladder$", 69.9298, 29.8246, 0.3824, 36.5103, 999);
+ AliMaterial(39, "SDD cone$", 63.546, 29., 1.15, 1.265, 999);
+ //AliMaterial(38, "SDD End ladder$", 69.9298, 29.8246, -0.3824, -36.5103, 999);
+ //AliMaterial(39, "SDD cone$", 63.546, 29., -1.15, -1.265, 999);
// **
// check A and Z
- AliMedium(25, "SDD Si$", 25, 0,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);
- AliMedium(38, "SDD End ladder",38, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(39, "SDD cone$", 39, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
+ AliMedium(25, "SDD Si$", 25, 0,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);
+ AliMedium(38, "SDD End ladder$",38, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
+ AliMedium(39, "SDD cone$", 39, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
// 250-274 --> Silicon Strip Detectors (detectors, chips, buses, cooling,..)
AliMaterial(62, "SSD Kapton$", 12.011, 6., 1.3, 31.27, 999.);
// check A and Z
AliMaterial(63, "SSD G10FR4$", 17.749, 8.875, 1.8, 21.822, 999.);
- AliMaterial(64, "SSD End ladder$",28.0855, 14., 2.33, 9.36, 999); // check !!!!
- AliMaterial(65, "SSD cone$",28.0855, 14., 2.33, 9.36, 999); // check !!!!
+ AliMaterial(64, "SSD End ladder$", 32.0988, 15.4021, 0.68, 35.3238, 999);
+ AliMaterial(65, "SSD cone$",63.546, 29., 1.15, 1.265, 999);
+ //AliMaterial(64, "SSD End ladder$", 32.0988, 15.4021, -0.68, -35.3238, 999);
+ //AliMaterial(65, "SSD cone$",63.546, 29., -1.15, -1.265, 999);
// **
- AliMedium(50, "SSD Si$", 50, 0,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);
- AliMedium(64, "SPD End ladder",64, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
- AliMedium(65, "SPD cone$", 65, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
+ AliMedium(50, "SSD Si$", 50, 0,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);
+ AliMedium(64, "SSD End ladder$",64, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
+ AliMedium(65, "SSD cone$", 65, 0,isxfld,sxmgmx, 10., .01, .1, .003, .003);
// 275-299 --> General (end-caps, frames, cooling, cables, etc.)
////////////////////////////////////////////////////////////////////////
// Initialise the ITS after it has been created.
////////////////////////////////////////////////////////////////////////
+ Int_t i;
- //
+ cout << endl;
+ for(i=0;i<25;i++) cout << "*";cout << " ITSvPPRcoarsesymm_Init ";
+ for(i=0;i<25;i++) cout << "*";cout << endl;
+//
AliITS::Init();
- fMajorVersion = 1;
- fMinorVersion = 0;
+//
+ for(i=0;i<72;i++) cout << "*";
+ cout << endl;
+
}
//_____________________________________________________________________________
//
*/
}
-/*
-//____________________________________________________________________________
-void AliITSvPPRcoarsesymm::Streamer(TBuffer &R__b){
-////////////////////////////////////////////////////////////////////////
-// A dummy Streamer function for this class AliITSvPPRcoarsesymm. By default it
-// only streams the AliITS class as it is required. Since this class
-// dosen't contain any "real" data to be saved, it doesn't.
-////////////////////////////////////////////////////////////////////////
-
- if (R__b.IsReading()) {
- Version_t R__v = R__b.ReadVersion(); if (R__v) { }
- AliITS::Streamer(R__b);
- } else {
- R__b.WriteVersion(AliITSvPPRcoarsesymm::IsA());
- AliITS::Streamer(R__b);
- } // end if R__b.IsReading()
-}
-*/