From: prino Date: Fri, 22 Oct 2010 16:33:30 +0000 (+0000) Subject: Updated materials in geometry (M. Sitta) X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=commitdiff_plain;h=d8826f334444c278c4a386761d7e555e878aee84;hp=5a53c6f24a13b95dc5affb2ff4fb78ecffc53017 Updated materials in geometry (M. Sitta) --- diff --git a/ITS/AliITSv11GeometrySDD.cxx b/ITS/AliITSv11GeometrySDD.cxx index 2948b650dac..4cea508bd4a 100755 --- a/ITS/AliITSv11GeometrySDD.cxx +++ b/ITS/AliITSv11GeometrySDD.cxx @@ -3618,7 +3618,7 @@ TGeoVolumeAssembly* AliITSv11GeometrySDD::CreateCarlosCard(Int_t iLay) { TGeoMedium *siliconChip = GetMedium("SDD SI CHIP$");// ITSsddSiChip TGeoMedium *plastiChip = GetMedium("SDDKAPTON (POLYCH2)$"); // ITSsddKAPTON_POLYCH2 TGeoMedium *copper = GetMedium("COPPER$"); - TGeoMedium *alCu12SDD = GetMedium("INOX$"); // ITSsddAlCu12, to code !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + TGeoMedium *alCu12SDD = GetMedium("ALCU12$"); // ITSsddAlCu12 TGeoMedium *stainless = GetMedium("AISI304L$"); // for screws //========================================= @@ -3906,7 +3906,7 @@ Int_t AliITSv11GeometrySDD::CreateLVCard() { TGeoMedium *siliconChip = GetMedium("SDD SI CHIP$");// ITSsddSiChip TGeoMedium *plastiChip = GetMedium("SDDKAPTON (POLYCH2)$"); // ITSsddKAPTON_POLYCH2 TGeoMedium *copper = GetMedium("COPPER$"); - TGeoMedium *alCu12SDD = GetMedium("INOX$"); // ITSsddAlCu12, to code !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + TGeoMedium *alCu12SDD = GetMedium("ALCU12$"); // ITSsddAlCu12 TGeoMedium *stainless = GetMedium("AISI304L$"); // for screws fCardLVL = new TGeoVolumeAssembly("ITSsddLVCardLeft"); @@ -4151,7 +4151,7 @@ TGeoVolumeAssembly* AliITSv11GeometrySDD::CreateHVCard(Int_t iLay){ TGeoMedium *medSMDcapaEnd = GetMedium("SDD X7R capacitors$"); // check if different TGeoMedium *stainless = GetMedium("INOX$"); // ITSspdStainlesSteal ??????????? TGeoMedium *plastic = GetMedium("SDDKAPTON (POLYCH2)$"); // ITS_ITSsddKAPTON_POLYCH2 ??????????? - TGeoMedium *alCu12SDD = GetMedium("INOX$"); // ITSsddAlCu12 : to code !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + TGeoMedium *alCu12SDD = GetMedium("ALCU12$"); // ITSsddAlCu12 TGeoVolumeAssembly *highVCard = new TGeoVolumeAssembly("ITSsddHVCard"); @@ -4430,7 +4430,7 @@ TGeoVolumeAssembly* AliITSv11GeometrySDD::CreateEndLadderCards(Int_t iLay) { // and their cooling system // - TGeoMedium *alCu12SDD = GetMedium("AL$"); // ITSsddAlCu12 : to code !!!!!!!!!!!!!! + TGeoMedium *alCu12SDD = GetMedium("ALCU12$"); // ITSsddAlCu12 TGeoMedium *phynoxSDD = GetMedium("INOX$"); TGeoMedium *coolerMediumSDD = GetMedium("WATER$"); @@ -4629,7 +4629,7 @@ TGeoVolume* AliITSv11GeometrySDD::CreateEndLadderCardsV(Int_t iLay) { // This is the code actually used for the end ladder cards // - TGeoMedium *alCu12SDD = GetMedium("AL$"); // ITSsddAlCu12 : to code !!!!!!!!!!!!!! + TGeoMedium *alCu12SDD = GetMedium("ALCU12$"); // ITSsddAlCu12 TGeoMedium *phynoxSDD = GetMedium("INOX$"); TGeoMedium *coolerMediumSDD = GetMedium("WATER$"); TGeoMedium *copper = GetMedium("COPPER$"); @@ -5043,7 +5043,7 @@ void AliITSv11GeometrySDD::CreateSDDsensor() { TGeoMedium *siliconSDDsens = GetMedium("SI$"); // ITSsddSi TGeoMedium *alSDD = GetMedium("AL$"); // ITSal TGeoMedium *polyhamideSDD = GetMedium("SDDKAPTON (POLYCH2)$"); // ITSsddKAPTON_POLYCH2 - TGeoMedium *glassSDD = GetMedium("SDD SI insensitive$"); // To code !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + TGeoMedium *glassSDD = GetMedium("STDGLASS$"); // StdGlass Double_t rWraping = fgkWaferThickness/2+fgkWaHVcableAlThick+fgkWaHVcablePolyThick; diff --git a/ITS/AliITSv11GeometrySupport.cxx b/ITS/AliITSv11GeometrySupport.cxx index 10ca5501a23..34d0f5559f3 100644 --- a/ITS/AliITSv11GeometrySupport.cxx +++ b/ITS/AliITSv11GeometrySupport.cxx @@ -3388,8 +3388,8 @@ void AliITSv11GeometrySupport::SPDCableTraysSideA(TGeoVolume *moth, 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 @@ -3681,6 +3681,7 @@ void AliITSv11GeometrySupport::SPDCableTraysSideA(TGeoVolume *moth, // 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); @@ -3699,7 +3700,8 @@ void AliITSv11GeometrySupport::SPDCableTraysSideA(TGeoVolume *moth, 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); @@ -3708,15 +3710,15 @@ void AliITSv11GeometrySupport::SPDCableTraysSideA(TGeoVolume *moth, 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); @@ -3736,21 +3738,21 @@ void AliITSv11GeometrySupport::SPDCableTraysSideA(TGeoVolume *moth, 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 @@ -3760,6 +3762,7 @@ void AliITSv11GeometrySupport::SPDCableTraysSideA(TGeoVolume *moth, 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); @@ -3986,14 +3989,14 @@ void AliITSv11GeometrySupport::SPDCableTraysSideA(TGeoVolume *moth, 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); @@ -4004,14 +4007,14 @@ void AliITSv11GeometrySupport::SPDCableTraysSideA(TGeoVolume *moth, 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 @@ -4095,7 +4098,7 @@ void AliITSv11GeometrySupport::SPDCableTraysSideA(TGeoVolume *moth, 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.))); @@ -4159,7 +4162,7 @@ void AliITSv11GeometrySupport::SPDCableTraysSideA(TGeoVolume *moth, 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))); @@ -4333,8 +4336,8 @@ void AliITSv11GeometrySupport::SPDCableTraysSideC(TGeoVolume *moth, 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; @@ -4653,7 +4656,7 @@ void AliITSv11GeometrySupport::SPDCableTraysSideC(TGeoVolume *moth, 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); @@ -4663,18 +4666,18 @@ void AliITSv11GeometrySupport::SPDCableTraysSideC(TGeoVolume *moth, 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 @@ -4684,6 +4687,7 @@ void AliITSv11GeometrySupport::SPDCableTraysSideC(TGeoVolume *moth, 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); @@ -4847,14 +4851,14 @@ void AliITSv11GeometrySupport::SPDCableTraysSideC(TGeoVolume *moth, 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 @@ -4921,7 +4925,7 @@ void AliITSv11GeometrySupport::SPDCableTraysSideC(TGeoVolume *moth, 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)); diff --git a/ITS/AliITSv11Hybrid.cxx b/ITS/AliITSv11Hybrid.cxx index a21f7ad146a..7ad71cbbe43 100644 --- a/ITS/AliITSv11Hybrid.cxx +++ b/ITS/AliITSv11Hybrid.cxx @@ -5417,6 +5417,13 @@ void AliITSv11Hybrid::CreateMaterials(){ 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}; @@ -5480,6 +5487,21 @@ void AliITSv11Hybrid::CreateMaterials(){ 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}; @@ -5563,6 +5585,15 @@ void AliITSv11Hybrid::CreateMaterials(){ 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);