CreateOldGeometry();
- TGeoVolume *vITS = geoManager->GetVolume("ITSV");
+ TGeoVolume *vITSV = geoManager->GetVolume("ITSV");
+ TGeoVolume *vITSS = geoManager->GetVolume("ITSS");
const Char_t *cvsDate="$Date$";
const Int_t kLength=100;
Char_t vstrng[kLength];
if(fInitGeom.WriteVersionString(vstrng,kLength,(AliITSVersion_t)IsVersion(),
- fMinorVersion,cvsDate,cvsRevision))
- vITS->SetTitle(vstrng);
+ fMinorVersion,cvsDate,cvsRevision)) {
+ vITSV->SetTitle(vstrng);
+ vITSS->SetTitle(vstrng);
+ }
if (AliITSInitGeometry::SPDIsTGeoNative()) {
- fSPDgeom->SPDSector(vITS);
+ fSPDgeom->SPDSector(vITSV);
}
if (AliITSInitGeometry::SDDIsTGeoNative()) {
- fSDDgeom->Layer3(vITS);
- fSDDgeom->Layer4(vITS);
- fSDDgeom->ForwardLayer3(vITS);
- fSDDgeom->ForwardLayer4(vITS);
+ fSDDgeom->Layer3(vITSV);
+ fSDDgeom->Layer4(vITSV);
+ fSDDgeom->ForwardLayer3(vITSV);
+ fSDDgeom->ForwardLayer4(vITSV);
}
if (AliITSInitGeometry::SSDIsTGeoNative()) {
- fSSDgeom->Layer5(vITS);
- fSSDgeom->Layer6(vITS);
- fSSDgeom->LadderSupportLayer5(vITS);
- fSSDgeom->LadderSupportLayer6(vITS);
- fSSDgeom->EndCapSupportSystemLayer6(vITS);
- fSSDgeom->EndCapSupportSystemLayer5(vITS);
+ fSSDgeom->Layer5(vITSV);
+ fSSDgeom->Layer6(vITSV);
+ fSSDgeom->LadderSupportLayer5(vITSV);
+ fSSDgeom->LadderSupportLayer6(vITSV);
+ fSSDgeom->EndCapSupportSystemLayer6(vITSV);
+ fSSDgeom->EndCapSupportSystemLayer5(vITSV);
}
if (AliITSInitGeometry::SPDshieldIsTGeoNative())
- fSupgeom->SPDCone(vITS);
+ fSupgeom->SPDCone(vITSV);
if (AliITSInitGeometry::SDDconeIsTGeoNative())
- fSupgeom->SDDCone(vITS);
+ fSupgeom->SDDCone(vITSV);
if (AliITSInitGeometry::SSDconeIsTGeoNative())
- fSupgeom->SSDCone(vITS);
+ fSupgeom->SSDCone(vITSV);
if (AliITSInitGeometry::ServicesAreTGeoNative()) {
- fSDDgeom->SDDCables(vITS);
- fSSDgeom->SSDCables(vITS);
- fSupgeom->ServicesCableSupport(vITS);
+ fSDDgeom->SDDCables(vITSV);
+ fSSDgeom->SSDCables(vITSV);
+ fSupgeom->ServicesCableSupport(vITSS);
}
}
dgh[50] = 85.;
// gMC->Gsvolu("ITSV", "PCON", idtmed[205], dgh, 51);
new TGeoVolumeAssembly("ITSV");
+ new TGeoVolumeAssembly("ITSS");
// --- Place the ghost volume in its mother volume (ALIC) and make it
// invisible
//gMC->Gspos("ITSV", 1, "ALIC", 0., 0., 0., 0, "MANY"); //=== LG
gMC->Gspos("ITSV", 1, "ALIC", 0., 0., 0., 0, "ONLY"); //=== LG
+ gMC->Gspos("ITSS", 1, "ALIC", 0., 0., 0., 0, "ONLY"); //=== MS
// --- Define ghost volume containing the six layers and fill it with air
gMC->Gspos("IPA2", 1, "ITSV", 0., 0., 95.25, 0, "ONLY");
gMC->Gspos("IPA2", 2, "ITSV", 0., 0., -95.25, idrotm[200], "ONLY");
- } // Move this graph down as you implement services in TGeo - M.S. 28may08
-
// --- DEFINE CABLES/COOLING BELOW THE TPC ON THE ABSORBER SIDE - COPPER PART
// UPPER PART
// gMC->Gspos("ICC4", 1, "ITSV", 0., 0., ztpc+dgh[2], 0, "ONLY");
gMC->Gspos("ICC4", 1, "ITSV", 0., 0., -(ztpc+dgh[2]), idrotm[199], "ONLY");
- if (! AliITSInitGeometry::ServicesAreTGeoNative()) {
// --- DEFINE CABLES/COOLING BELOW THE TPC ON THE OTHER SIDE W.R.T.
// THE ABSORBER - COPPER PART - UPPER PART
dgh[1] = 59.;
dgh[2] = 0.6;
gMC->Gsvolu("ICYL", "TUBE", idtmed[210], dgh, 3);
- gMC->Gspos("ICYL", 1, "ITSV", 0., 0., -74.1,idrotm[199], "ONLY");
- gMC->Gspos("ICYL", 2, "ITSV", 0., 0., 74.1, 0, "ONLY");
+ gMC->Gspos("ICYL", 1, "ITSS", 0., 0., -74.1,idrotm[199], "ONLY");
+ gMC->Gspos("ICYL", 2, "ITSS", 0., 0., 74.1, 0, "ONLY");
// --- DEFINE SUPPORTS FOR RAILS ATTACHED TO THE CYLINDERS
dgh[1] = 3.;
dgh[2] = 5.;// 5. comes from the fact that the volume has to be 567.6/2 cm^3
gMC->Gsvolu("ISR1", "TUBE", idtmed[284], dgh, 3);
- gMC->Gspos("ISR1", 1, "ITSV", 53.4292, 10.7053, -79.75,idrotm[199],"ONLY");
- gMC->Gspos("ISR1", 2, "ITSV", 53.4292, -10.7053, -79.75,idrotm[199],"ONLY");
- gMC->Gspos("ISR1", 3, "ITSV", -53.4292, 10.7053, -79.75,idrotm[199],"ONLY");
- gMC->Gspos("ISR1", 4, "ITSV", -53.4292, -10.7053, -79.75,idrotm[199],"ONLY");
- gMC->Gspos("ISR1", 5, "ITSV", 53.4292, 10.7053, 79.75,idrotm[199],"ONLY");
- gMC->Gspos("ISR1", 6, "ITSV", 53.4292, -10.7053, 79.75,idrotm[199],"ONLY");
- gMC->Gspos("ISR1", 7, "ITSV", -53.4292, 10.7053, 79.75,idrotm[199],"ONLY");
- gMC->Gspos("ISR1", 8, "ITSV", -53.4292, -10.7053, 79.75,idrotm[199],"ONLY");
+ gMC->Gspos("ISR1", 1, "ITSS", 53.4292, 10.7053, -79.75,idrotm[199],"ONLY");
+ gMC->Gspos("ISR1", 2, "ITSS", 53.4292, -10.7053, -79.75,idrotm[199],"ONLY");
+ gMC->Gspos("ISR1", 3, "ITSS", -53.4292, 10.7053, -79.75,idrotm[199],"ONLY");
+ gMC->Gspos("ISR1", 4, "ITSS", -53.4292, -10.7053, -79.75,idrotm[199],"ONLY");
+ gMC->Gspos("ISR1", 5, "ITSS", 53.4292, 10.7053, 79.75,idrotm[199],"ONLY");
+ gMC->Gspos("ISR1", 6, "ITSS", 53.4292, -10.7053, 79.75,idrotm[199],"ONLY");
+ gMC->Gspos("ISR1", 7, "ITSS", -53.4292, 10.7053, 79.75,idrotm[199],"ONLY");
+ gMC->Gspos("ISR1", 8, "ITSS", -53.4292, -10.7053, 79.75,idrotm[199],"ONLY");
// --- DEFINE SUPPORTS FOR RAILS ATTACHED TO THE ABSORBER
dgh[1] = 12.;
dgh[2] = 5.;
gMC->Gsvolu("ISR2", "BOX ", idtmed[210], dgh, 3);
- gMC->Gspos("ISR2", 1, "ITSV", -53.5, 0., 125.5, 0, "ONLY");
+ gMC->Gspos("ISR2", 1, "ITSS", -53.5, 0., 125.5, 0, "ONLY");
gMC->Gsvolu("ISR3", "BOX ", idtmed[210], dgh, 3);
- gMC->Gspos("ISR3", 1, "ITSV", 53.5, 0., 125.5, 0, "ONLY");
+ gMC->Gspos("ISR3", 1, "ITSS", 53.5, 0., 125.5, 0, "ONLY");
dgh[0] = 5.-2.;
dgh[1] = 12.-2.;
dgh[1] = 5.;
dgh[2] = 2.;
gMC->Gsvolu("ISR6", "TUBE", idtmed[210], dgh, 3);
- gMC->Gspos("ISR6", 1, "ITSV", 0., 54., 77., 0, "ONLY");
- gMC->Gspos("ISR6", 2, "ITSV", 0., 54., -77., 0, "ONLY");
- gMC->Gspos("ISR6", 3, "ITSV", 0., -54., -77., 0, "ONLY");
+ gMC->Gspos("ISR6", 1, "ITSS", 0., 54., 77., 0, "ONLY");
+ gMC->Gspos("ISR6", 2, "ITSS", 0., 54., -77., 0, "ONLY");
+ gMC->Gspos("ISR6", 3, "ITSS", 0., -54., -77., 0, "ONLY");
}
//Inox
- Float_t aINOX[9]={12.0107,54.9380, 28.0855,30.9738,32.066,58.6928,55.9961,95.94,55.845};
+ Float_t aINOX[9]={12.0107,54.9380, 28.0855,30.9738,32.066,58.6928,51.9961,95.94,55.845};
Float_t zINOX[9]={6.,25.,14.,15.,16., 28.,24.,42.,26.};
Float_t wINOX[9]={0.0003,0.02,0.01,0.00045,0.0003,0.12,0.17,0.025,0.654};
Float_t dINOX = 8.03;
Float_t zKapton[4]={1.,6.,7.,8.};
Float_t wKapton[4]={0.026362,0.69113,0.07327,0.209235};
Float_t dKapton = 1.42;
+
+ // Kapton + Cu (for Pixel Bus)
+
+ Float_t aKaptonCu[5]={1.00794, 12.0107, 14.010, 15.9994, 63.5460};
+ Float_t zKaptonCu[5]={1., 6., 7., 8., 29.};
+ Float_t wKaptonCuBus[5];
+
+ // Kapton + Cu (for Pixel MCM)
+
+ Float_t wKaptonCuMCM[5];
+
+ // Kapton + Cu (mix of two above)
+
+ Float_t wKaptonCuMix[5];
//SDD ruby sph.
Float_t aAlOxide[2] = { 26.981539,15.9994};
Float_t wFEP[2] = { 1. , 2. };
Float_t dFEP = 2.15;
+ // PVC (C2H3Cl)n - 08 Jul 10
+ Float_t aPVC[3] = { 12.0107, 1.00794, 35.4527};
+ Float_t zPVC[3] = { 6. , 1. , 35. };
+ Float_t wPVC[3] = { 2. , 3. , 1. };
+ Float_t dPVC = 1.3;
+
+ // PBT (Polybutylene terephthalate = C12-H12-O4) - 01 Sep 10
+ Float_t aPBT[3] = { 12.0107, 1.00794, 15.9994};
+ Float_t zPBT[3] = { 6. , 1. , 8. };
+ Float_t wPBT[3] = { 12. ,12. , 4. };
+ Float_t dPBT = 1.31;
+
+ // POLYAX (POLYAX = C37-H24-O6-N2) - 03 Sep 10
+ Float_t aPOLYAX[4] = { 12.0107, 1.00794, 15.9994, 14.00674};
+ Float_t zPOLYAX[4] = { 6. , 1. , 8. , 7. };
+ Float_t wPOLYAX[4] = { 37. ,24. , 6. , 2. };
+ Float_t dPOLYAX = 1.27;
+
+ // PPS (PPS = C6-H4-S) - 05 Sep 10
+ Float_t aPPS[3] = { 12.0107, 1.00794, 32.066};
+ Float_t zPPS[3] = { 6. , 1. , 16. };
+ Float_t wPPS[3] = { 6. , 4. , 1. };
+ Float_t dPPS = 1.35;
+
//SSD NiSn capacitor ends
Float_t aNiSn[2] = { 56.6934,118.710};
Float_t zNiSn[2] = { 28., 50.};
AliMixture(27,"GEN Air$",aAir,zAir,dAir,4,wAir);
AliMedium(27,"GEN Air$",27,0,ifield,fieldm,tmaxfdAir,stemaxAir,deemaxAir,epsilAir,stminAir);
+ AliMixture(44,"PPS$",aPPS,zPPS,dPPS,-3,wPPS);
+ AliMedium(44,"PPS$",44,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
+
+ AliMixture(45,"POLYAX$",aPOLYAX,zPOLYAX,dPOLYAX,-4,wPOLYAX);
+ AliMedium(45,"POLYAX$",45,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
+
+ AliMixture(46,"PBT$",aPBT,zPBT,dPBT,-3,wPBT);
+ AliMedium(46,"PBT$",46,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
+
+ AliMixture(47,"PVC$",aPVC,zPVC,dPVC,-3,wPVC);
+ AliMedium(47,"PVC$",47,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
+
+ Double_t cuFrac = 0.56;
+ Double_t kFrac = 1.0 - cuFrac;
+ Double_t cuDens = 8.96;
+ Float_t dKaptonCuBus = cuFrac * cuDens + kFrac * dKapton;
+ for (Int_t j=0; j<4; j++)
+ wKaptonCuBus[j] = wKapton[j]*kFrac;
+ wKaptonCuBus[4] = cuFrac;
+ AliMixture(48, "SPD-BUS CU KAPTON", aKaptonCu, zKaptonCu, dKaptonCuBus, 5, wKaptonCuBus);
+ AliMedium(48,"SPD-BUS CU KAPTON$",48,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
+
+ cuFrac = 0.5;
+ kFrac = 1.0 - cuFrac;
+ Float_t dKaptonCuMCM = cuFrac * cuDens + kFrac * dKapton;
+ for (Int_t j=0; j<4; j++)
+ wKaptonCuMCM[j] = wKapton[j]*kFrac;
+ wKaptonCuMCM[4] = cuFrac;
+ AliMixture(49, "SPD-MCM CU KAPTON", aKaptonCu, zKaptonCu, dKaptonCuMCM, 5, wKaptonCuMCM);
+ AliMedium(49,"SPD-MCM CU KAPTON$",49,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
+
+ cuFrac = (0.56 + 0.5) / 2.0;
+ kFrac = 1.0 - cuFrac;
+ Float_t dKaptonCuMix = cuFrac * cuDens + kFrac * dKapton;
+ for (Int_t j=0; j<4; j++)
+ wKaptonCuMix[j] = wKapton[j]*kFrac;
+ wKaptonCuMix[4] = cuFrac;
+ AliMixture(50, "SPD-MIX CU KAPTON", aKaptonCu, zKaptonCu, dKaptonCuMix, 5, wKaptonCuMix);
+ AliMedium(50,"SPD-MIX CU KAPTON$",50,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
+
AliMaterial(51,"SPD SI$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
AliMedium(51,"SPD SI$",51,0,ifield,fieldm,tmaxfdSi,stemaxSi,deemaxSi,epsilSi,stminSi);
AliMixture(56, "SPD KAPTON(POLYCH2)", aKapton, zKapton, dKapton, 4, wKapton);
AliMedium(56,"SPD KAPTON(POLYCH2)$",56,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
+ // Gaseous Freon has same chemical composition but air density at 1.7 atm
+ AliMixture(59,"GASEOUS FREON$",afre,zfre,1.7*dAir,-2,wfre);
+ AliMedium(59,"GASEOUS FREON$",59,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
+
AliMixture(61,"EPOXY$",aEpoxy,zEpoxy,dEpoxy,-3,wEpoxy);
AliMedium(61,"EPOXY$",61,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
AliMedium(60,"SPD_LOWCABLES$",60,0,ifield,fieldm,tmaxfd,stemax,
deemax,epsil,stmin);
+ // Mean material for high-voltage cables on SPD trays Side A & C
+ // (Copper + HD PolyEthylene (C2-H2)) (D.Elia for cable number and
+ // cross-section area, M.Sitta for elemental computation) - 10 Jun 10
+ wW[0] = 0.083766;//H
+ wW[2] = 0.417136;//Cu
+ wW[1] = 0.499098;//C
+ wW[3] = 0.000000;//O
+ wW[4] = 0.000000;//S
+ wW[5] = 0.000000;//F
+ wW[6] = 0.000000;//Sn
+ wW[7] = 0.000000;//Pb
+ wW[8] = 0.000000;//Cr
+ wW[9] = 0.000000;//Si
+ wW[10] = 0.000000;//Ni
+ wW[11] = 0.000000;//Ca
+
+ den = 1.514930;
+ AliMixture(58,"SPD_HICABLES$",aA,zZ,den,+3,wW);
+ AliMedium(58,"SPD_HICABLES$",58,0,ifield,fieldm,tmaxfd,stemax,
+ deemax,epsil,stmin);
+
// PolyUrethane [C25-H42-N2-O6] - 07 Mar 10
zZ[2] = 7.0; aA[2] = 14.0067; // Nitrogen - From Root TGeoElementTable
AliMedium(67,"POLYURETHANE$",67,0,ifield,fieldm,tmaxfd,stemax,
deemax,epsil,stmin);
+ // POM (Polyoxymethylene = (CH2O)n ) - 02 May 10
+ zZ[2] = 8.0; aA[2] = 15.9994; // Oxigen
+
+ wW[0] = 0.067137;//H
+ wW[1] = 0.400016;//C
+ wW[2] = 0.532847;//O
+ wW[3] = 0.000000;//O
+ wW[4] = 0.000000;//S
+ wW[5] = 0.000000;//F
+ wW[6] = 0.000000;//Sn
+ wW[7] = 0.000000;//Pb
+ wW[8] = 0.000000;//Cr
+ wW[9] = 0.000000;//Si
+ wW[10] = 0.000000;//Ni
+ wW[11] = 0.000000;//Ca
+
+ den = 1.4200;
+ AliMixture(57,"POLYOXYMETHYLENE$",aA,zZ,den,+3,wW);
+ AliMedium(57,"POLYOXYMETHYLENE$",57,0,ifield,fieldm,tmaxfd,stemax,
+ deemax,epsil,stmin);
+
// Anticorodal: Aliminum alloy for tray ring support on Side A
den = 2.710301;