const Double_t kLowVoltageCableHighPUR = 1.000*fgkmm;// Computed
const Double_t kHiVoltageCableSectCu = 1.535*fgkmm;// Computed
const Double_t kHiVoltageCableHighPUR = 0.500*fgkmm;// Computed
- const Double_t kCoaxCableSectCu = 6.140*fgkmm;//!!!ESTIMATED!!!
- const Double_t kCoaxCableHighPUR = 1.000*fgkmm;//!!!ESTIMATED!!!
+ const Double_t kCoaxCableSectCu = 6.024*fgkmm;// Computed
+ const Double_t kCoaxCableHighMeg = 5.695*fgkmm;// Computed
const Double_t kTrayCCablesRot = 75.000*fgkDegree;// Computed
const Double_t kTrayCCablesZLenOut = 227.000*fgkmm;// Computed
// The Coaxial cables inside the forward tray: two Xtru
TGeoXtru *coaxCablesForwCu = new TGeoXtru(2);
+ coaxCablesForwCu->SetName("ITSsuppSPDForwTrayCoaxCu");
xprof[0] = -kTrayCCablesZLenOut;
yprof[0] = xprof[0]/TanD(kTrayCCablesRot);
coaxCablesForwCu->DefineSection(0,-kCoaxCableSectCu);
coaxCablesForwCu->DefineSection(1, kCoaxCableSectCu);
- TGeoXtru *coaxCablesForwPUR = new TGeoXtru(2);
+ TGeoXtru *coaxCablesForwMeg = new TGeoXtru(2);
+ coaxCablesForwMeg->SetName("ITSsuppSPDForwTrayCoaxMeg");
xprof[0] = coaxCablesForwCu->GetX(5);
yprof[0] = coaxCablesForwCu->GetY(5);
xprof[2] = coaxCablesForwCu->GetX(3);
yprof[2] = coaxCablesForwCu->GetY(3);
xprof[3] = xprof[2];
- yprof[3] = yprof[2] + kCoaxCableHighPUR/2;
+ yprof[3] = yprof[2] + kCoaxCableHighMeg/2;
xprof[4] = xprof[1];
yprof[4] = yprof[3];
xprof[5] = xprof[0];
- yprof[5] = yprof[0] + kCoaxCableHighPUR/2;
+ yprof[5] = yprof[0] + kCoaxCableHighMeg/2;
- coaxCablesForwPUR->DefinePolygon(6, xprof, yprof);
- coaxCablesForwPUR->DefineSection(0,-kCoaxCableSectCu);
- coaxCablesForwPUR->DefineSection(1, kCoaxCableSectCu);
+ coaxCablesForwMeg->DefinePolygon(6, xprof, yprof);
+ coaxCablesForwMeg->DefineSection(0,-kCoaxCableSectCu);
+ coaxCablesForwMeg->DefineSection(1, kCoaxCableSectCu);
// The Coaxial inside the external tray: two Xtru
TGeoXtru *coaxCablesExtCu = new TGeoXtru(2);
coaxCablesExtCu->DefineSection(0, 0);
coaxCablesExtCu->DefineSection(1, kCoaxCableSectCu*2);
- TGeoXtru *coaxCablesExtPUR = new TGeoXtru(2);
- coaxCablesExtPUR->SetName("ITSsuppSPDExtTrayCoaxPUR");
+ TGeoXtru *coaxCablesExtMeg = new TGeoXtru(2);
+ coaxCablesExtMeg->SetName("ITSsuppSPDExtTrayCoaxMeg");
xprof[0] = coaxCablesExtCu->GetX(3);
yprof[0] = coaxCablesExtCu->GetY(3);
xprof[1] = coaxCablesExtCu->GetX(2);
yprof[1] = coaxCablesExtCu->GetY(2);
xprof[2] = xprof[1];
- yprof[2] = yprof[1] + kCoaxCableHighPUR/2;
+ yprof[2] = yprof[1] + kCoaxCableHighMeg/2;
yprof[3] = yprof[2];
xprof[3] = yprof[2]*TanD(kTrayAZRot);
- coaxCablesExtPUR->DefinePolygon(4, xprof, yprof);
- coaxCablesExtPUR->DefineSection(0, 0);
- coaxCablesExtPUR->DefineSection(1, kCoaxCableSectCu*2);
+ coaxCablesExtMeg->DefinePolygon(4, xprof, yprof);
+ coaxCablesExtMeg->DefineSection(0, 0);
+ coaxCablesExtMeg->DefineSection(1, kCoaxCableSectCu*2);
// We have all shapes: now create the real volumes
TGeoMedium *medFibs = mgr->GetMedium("ITS_SDD OPTICFIB$");//!TO BE CHECKED!
TGeoMedium *medCu = mgr->GetMedium("ITS_COPPER$");
TGeoMedium *medPUR = mgr->GetMedium("ITS_POLYURETHANE$");
+ TGeoMedium *medMeg = mgr->GetMedium("ITS_MEGOLON$");
TGeoVolume *forwTrayABase = new TGeoVolume("ITSsuppSPDSideAForwTrayABase",
forwTrayLowerFace, medAl);
forwCoaxCu->SetFillColor(forwCoaxCu->GetLineColor());
forwCoaxCu->SetFillStyle(4000); // 0% transparent
- TGeoVolume *forwCoaxPUR = new TGeoVolume("ITSsuppSPDSideAForwTrayCoaxPUR",
- coaxCablesForwPUR, medPUR);
+ TGeoVolume *forwCoaxMeg = new TGeoVolume("ITSsuppSPDSideAForwTrayCoaxMeg",
+ coaxCablesForwMeg, medMeg);
- forwCoaxPUR->SetVisibility(kTRUE);
- forwCoaxPUR->SetLineColor(kBlack); // Black
- forwCoaxPUR->SetLineWidth(1);
- forwCoaxPUR->SetFillColor(forwCoaxPUR->GetLineColor());
- forwCoaxPUR->SetFillStyle(4000); // 0% transparent
+ forwCoaxMeg->SetVisibility(kTRUE);
+ forwCoaxMeg->SetLineColor(kBlack); // Black
+ forwCoaxMeg->SetLineWidth(1);
+ forwCoaxMeg->SetFillColor(forwCoaxMeg->GetLineColor());
+ forwCoaxMeg->SetFillStyle(4000); // 0% transparent
TGeoVolume *extCoaxCu = new TGeoVolume("ITSsuppSPDSideAExtTrayCoaxCu",
coaxCablesExtCu, medCu);
extCoaxCu->SetFillColor(extCoaxCu->GetLineColor());
extCoaxCu->SetFillStyle(4000); // 0% transparent
- TGeoVolume *extCoaxPUR = new TGeoVolume("ITSsuppSPDSideAExtTrayCoaxPUR",
- coaxCablesExtPUR, medPUR);
+ TGeoVolume *extCoaxMeg = new TGeoVolume("ITSsuppSPDSideAExtTrayCoaxMeg",
+ coaxCablesExtMeg, medMeg);
- extCoaxPUR->SetVisibility(kTRUE);
- extCoaxPUR->SetLineColor(kBlack); // Black
- extCoaxPUR->SetLineWidth(1);
- extCoaxPUR->SetFillColor(extCoaxPUR->GetLineColor());
- extCoaxPUR->SetFillStyle(4000); // 0% transparent
+ extCoaxMeg->SetVisibility(kTRUE);
+ extCoaxMeg->SetLineColor(kBlack); // Black
+ extCoaxMeg->SetLineWidth(1);
+ extCoaxMeg->SetFillColor(extCoaxMeg->GetLineColor());
+ extCoaxMeg->SetFillStyle(4000); // 0% transparent
// Now build up the trays
cableTrayAForw->AddNode(forwCoaxCu, 1,
new TGeoCombiTrans(-xloc, yloc, 0,
new TGeoRotation("",-90.,90.,90.)));
- cableTrayAForw->AddNode(forwCoaxPUR, 1,
+ cableTrayAForw->AddNode(forwCoaxMeg, 1,
new TGeoCombiTrans(-xloc, yloc, 0,
new TGeoRotation("",-90.,90.,90.)));
cableTrayAExt->AddNode(extCoaxCu, 1,
new TGeoCombiTrans( xloc, 0, 0,
new TGeoRotation("",90,-90,-90)));
- cableTrayAExt->AddNode(extCoaxPUR, 1,
+ cableTrayAExt->AddNode(extCoaxMeg, 1,
new TGeoCombiTrans( xloc, 0, 0,
new TGeoRotation("",90,-90,-90)));
const Double_t kLowVoltCableHighPUR = 1.000 *fgkmm;// Computed
const Double_t kHiVoltCableSectCu = 1.535 *fgkmm;// Computed
const Double_t kHiVoltCableHighPUR = 0.500 *fgkmm;// Computed
- const Double_t kCoaxCableSectCu = 6.140 *fgkmm;//!!!ESTIMATED!!!
- const Double_t kCoaxCableHighPUR = 1.000 *fgkmm;//!!!ESTIMATED!!!
+ const Double_t kCoaxCableSectCu = 6.024 *fgkmm;// Computed
+ const Double_t kCoaxCableHighMeg = 5.695 *fgkmm;// Computed
// Overall position and rotation of the C-Side Cable Trays
const Double_t kTraySideCRPos = 45.300 *fgkcm;
coaxCablesCu->DefineSection(0, 0);
coaxCablesCu->DefineSection(1, kCoaxCableSectCu);
- TGeoXtru *coaxCablesPUR = new TGeoXtru(2);
+ TGeoXtru *coaxCablesMeg = new TGeoXtru(2);
xprof[0] = coaxCablesCu->GetX(7);
yprof[0] = coaxCablesCu->GetY(7);
yprof[2] = coaxCablesCu->GetY(5);
xprof[3] = coaxCablesCu->GetX(4);
yprof[3] = coaxCablesCu->GetY(4);
- xprof[4] = xprof[3] - kCoaxCableHighPUR*SinD(kTrayCFoldAngle);
- yprof[4] = yprof[3] + kCoaxCableHighPUR*CosD(kTrayCFoldAngle);
+ xprof[4] = xprof[3] - kCoaxCableHighMeg*SinD(kTrayCFoldAngle);
+ yprof[4] = yprof[3] + kCoaxCableHighMeg*CosD(kTrayCFoldAngle);
InsidePoint(xprof[1], yprof[1], xprof[2], yprof[2], xprof[3], yprof[3],
- kCoaxCableHighPUR , xprof[5], yprof[5]);
+ kCoaxCableHighMeg , xprof[5], yprof[5]);
xprof[6] = 0.;
- yprof[6] = yprof[1] + kCoaxCableHighPUR;
+ yprof[6] = yprof[1] + kCoaxCableHighMeg;
xprof[7] = xprof[0];
- yprof[7] = yprof[0] + kCoaxCableHighPUR;
+ yprof[7] = yprof[0] + kCoaxCableHighMeg;
- coaxCablesPUR->DefinePolygon(8, xprof, yprof);
- coaxCablesPUR->DefineSection(0, 0);
- coaxCablesPUR->DefineSection(1, kCoaxCableSectCu);
+ coaxCablesMeg->DefinePolygon(8, xprof, yprof);
+ coaxCablesMeg->DefineSection(0, 0);
+ coaxCablesMeg->DefineSection(1, kCoaxCableSectCu);
// We have all shapes: now create the real volumes
TGeoMedium *medFibs = mgr->GetMedium("ITS_SDD OPTICFIB$");//!!TO BE CHECKED!!
TGeoMedium *medCu = mgr->GetMedium("ITS_COPPER$");
TGeoMedium *medPUR = mgr->GetMedium("ITS_POLYURETHANE$");
+ TGeoMedium *medMeg = mgr->GetMedium("ITS_MEGOLON$");
TGeoVolume *traySideCHorFace = new TGeoVolume("ITSsuppSPDTraySideCHor",
sideCHorFace, medAl);
traySideCCoaxCu->SetFillColor(traySideCCoaxCu->GetLineColor());
traySideCCoaxCu->SetFillStyle(4000); // 0% transparent
- TGeoVolume *traySideCCoaxPUR = new TGeoVolume("ITSsuppSPDTraySideCCoaxPUR",
- coaxCablesPUR, medPUR);
+ TGeoVolume *traySideCCoaxMeg = new TGeoVolume("ITSsuppSPDTraySideCCoaxMeg",
+ coaxCablesMeg, medMeg);
- traySideCCoaxPUR->SetVisibility(kTRUE);
- traySideCCoaxPUR->SetLineColor(kBlack); // Black
- traySideCCoaxPUR->SetLineWidth(1);
- traySideCCoaxPUR->SetFillColor(traySideCCoaxPUR->GetLineColor());
- traySideCCoaxPUR->SetFillStyle(4000); // 0% transparent
+ traySideCCoaxMeg->SetVisibility(kTRUE);
+ traySideCCoaxMeg->SetLineColor(kBlack); // Black
+ traySideCCoaxMeg->SetLineWidth(1);
+ traySideCCoaxMeg->SetFillColor(traySideCCoaxMeg->GetLineColor());
+ traySideCCoaxMeg->SetFillStyle(4000); // 0% transparent
// Now build up the trays
zloc = kOpticalFibersSect + kCoaxCableSectCu + horTube->GetRmax();
cableTrayC->AddNode(traySideCCoaxCu, 1,
new TGeoTranslation( 0, 0, zloc));
- cableTrayC->AddNode(traySideCCoaxPUR, 1,
+ cableTrayC->AddNode(traySideCCoaxMeg, 1,
new TGeoTranslation( 0, 0, zloc));
Float_t wInAl[5] = {.816164, .131443,.0330906,.0183836,.000919182};
Float_t dInAl = 3.075;
+ // Aluminum alloy with 12% Copper - 21 Oct 10
+
+ Float_t aAlCu12[2] = {26.9815, 63.546};
+ Float_t zAlCu12[2] = {13. , 29. };
+ Float_t wAlCu12[2] = { 0.88 , 0.12 };
+ Float_t dAlCu12 = 2.96;
+
// Kapton
Float_t aKapton[4]={1.00794,12.0107, 14.010,15.9994};
Float_t wPPS[3] = { 6. , 4. , 1. };
Float_t dPPS = 1.35;
+ // Megolon (Polyolefin = (C-H2)n) - 20 Oct 10
+ Float_t aMegolon[2] = { 12.0107, 1.00794};
+ Float_t zMegolon[2] = { 6. , 1. };
+ Float_t wMegolon[2] = { 1. , 2. };
+ Float_t dMegolon = 1.51; // Mean of various types
+
+ // Standard glass (from glassproperties.com/glasses - M.S. 21 Oct 10)
+ Float_t aStdGlass[7] = {15.9994 ,28.0855 ,22.98977 ,40.078 ,
+ 24.305 ,26.981539,39.0983 };
+ Float_t zStdGlass[7] = { 8. ,14. ,11. ,20. ,
+ 12. ,13. ,19. };
+ Float_t wStdGlass[7] = { 0.468377, 0.348239, 0.096441, 0.071469,
+ 0.006030, 0.005293, 0.004151};
+ Float_t dStdGlass = 2.53;
+
// Glass Fiber (from F.Tosello's web page - M.S. 15 Oct 10)
Float_t aGlass[11] = {15.9994 ,28.0855 ,40.078 ,26.981539,10.811 ,
24.305 ,39.0983 ,22.98977 ,18.9984 ,47.867 ,55.845};
AliMixture(27,"GEN Air$",aAir,zAir,dAir,4,wAir);
AliMedium(27,"GEN Air$",27,0,ifield,fieldm,tmaxfdAir,stemaxAir,deemaxAir,epsilAir,stminAir);
+ AliMixture(36,"STDGLASS$",aStdGlass,zStdGlass,dStdGlass,7,wStdGlass);
+ AliMedium(36,"STDGLASS$",36,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
+
+ AliMixture(37,"ALCU12$",aAlCu12,zAlCu12,dAlCu12,2,wAlCu12);
+ AliMedium(37,"ALCU12$",37,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
+
+ AliMixture(38,"MEGOLON$",aMegolon,zMegolon,dMegolon,-2,wMegolon);
+ AliMedium(38,"MEGOLON$",38,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
+
AliMixture(39,"RYTON$",aRyton,zRyton,dRyton,14,wRyton);
AliMedium(39,"RYTON$",39,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);