X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSv11GeometrySDD.cxx;h=31644bbed1e2a234c0e44472809e9b6aa2af3c98;hb=7b89f17cbfd1e975cf98c94813d20008e1c7c6a4;hp=8c79f634f28065ec11a73a0a92aa0c09802b2ea0;hpb=43aefea76c541d88986febacc334264de5eb6f2c;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSv11GeometrySDD.cxx b/ITS/AliITSv11GeometrySDD.cxx index 8c79f634f28..31644bbed1e 100755 --- a/ITS/AliITSv11GeometrySDD.cxx +++ b/ITS/AliITSv11GeometrySDD.cxx @@ -51,8 +51,8 @@ #include "AliITSv11GeomCableFlat.h" #include "AliITSv11GeomCableRound.h" -const char* AliITSv11GeometrySDD::fgSDDsensitiveVolName3 = "ITSsddSensitivL3"; -const char* AliITSv11GeometrySDD::fgSDDsensitiveVolName4 = "ITSsddSensitivL4"; +const char* AliITSv11GeometrySDD::fgkSDDsensitiveVolName3 = "ITSsddSensitivL3"; +const char* AliITSv11GeometrySDD::fgkSDDsensitiveVolName4 = "ITSsddSensitivL4"; const Double_t AliITSv11GeometrySDD::fgkSegmentLength = 37.21*2*fgkmm; const Double_t AliITSv11GeometrySDD::fgkLadderWidth = 50.0*fgkmm; const Double_t AliITSv11GeometrySDD::fgkLadderHeight = 30.0*fgkmm; @@ -99,7 +99,7 @@ const Double_t AliITSv11GeometrySDD::fgkBTBthick = 0.25 *fgkmm; const Double_t AliITSv11GeometrySDD::fgkBTBlength = 55. *fgkmm; const Double_t AliITSv11GeometrySDD::fgkBTBwidth = 18*fgkmm; const Double_t AliITSv11GeometrySDD::fgkBTBaxisAtoBottom = 4*fgkmm; -const Double_t AliITSv11GeometrySDD::fgkBTBaxisAtoBase = 1.2*fgkmm; +const Double_t AliITSv11GeometrySDD::fgkBTBaxisAtoBase = 2.2*fgkmm; const Double_t AliITSv11GeometrySDD::fgkRadiusAminBTB = 1. *fgkmm; const Double_t AliITSv11GeometrySDD::fgkRadiusBminBTB = 0.53 *fgkmm; const Double_t AliITSv11GeometrySDD::fgkBTBHoleLength = 15 *fgkmm; @@ -134,7 +134,7 @@ const Double_t AliITSv11GeometrySDD::fgkEndLaddCardsShortRadiusLay4 = fgkLay4Det const Double_t AliITSv11GeometrySDD::fgkDistEndLaddCardsLadd = 0.*fgkmm; //hybrid -const Double_t AliITSv11GeometrySDD::fgkHybridAngle = 46; // approx !!! +const Double_t AliITSv11GeometrySDD::fgkHybridAngle = 48.5; // approx !!! // Origine taken at the hybrid corner : const Double_t AliITSv11GeometrySDD::fgkHybridLength = 65*fgkmm; const Double_t AliITSv11GeometrySDD::fgkHybridWidth = 41*fgkmm; @@ -160,9 +160,9 @@ const Double_t AliITSv11GeometrySDD::fgkHybFLUpperLength = 59.878*fgkmm; const Double_t AliITSv11GeometrySDD::fgkHybFLUpperAlDZ = 11.183*fgkmm; const Double_t AliITSv11GeometrySDD::fgkHybFLUpperAldx = 2.307*fgkmm; -const Double_t AliITSv11GeometrySDD::fgkHybCC2SensorLen = 10.000*fgkmm; +const Double_t AliITSv11GeometrySDD::fgkHybCC2SensorLen = 9.500*fgkmm; const Double_t AliITSv11GeometrySDD::fgkHybCC2SensorWid = 1.490*fgkcm; //??? -const Double_t AliITSv11GeometrySDD::fgkHybCC2SensorAng = 30.0; +const Double_t AliITSv11GeometrySDD::fgkHybCC2SensorAng = 15.0; const Double_t AliITSv11GeometrySDD::fgkmu = 1*fgkmicron; // 1*fgkmicron; // can be increase for checking thin objects const Double_t AliITSv11GeometrySDD::fgkHybridThBridgeThick = 0.25*fgkmm; // ??? @@ -497,11 +497,8 @@ const Double_t AliITSv11GeometrySDD::fgkSDDCableR5 = 37*fgkcm; // third part const Double_t AliITSv11GeometrySDD::fgkSDDCableZ5 = 65*fgkcm; // third part of "cable cone" - - - - - +using std::endl; +using std::cout; ClassImp(AliITSv11GeometrySDD) //________________________________________________________________________ @@ -829,6 +826,7 @@ void AliITSv11GeometrySDD::CreateBasicObjects() { TGeoMedium *stainless = GetMedium("AISI304L$"); // for screws TGeoMedium *coolerMediumSDD = GetMedium("WATER$"); TGeoMedium *raccordMedium = GetMedium("INOX$"); // same as AISI 316-L + TGeoMedium *copperMedium = GetMedium("COPPER$"); //******************************************************************** // pieces of the carbon fiber structure @@ -979,6 +977,14 @@ void AliITSv11GeometrySDD::CreateBasicObjects() { TGeoCombiTrans *bottomBeamTransf5 = new TGeoCombiTrans (0,-(fgkLadderHeight/2-fgkLadderBeamRadius)-dy,fgkSegmentLength/4, bottomBeamRot5); + // The ground wire running on the top vertex - M.S. 12 nov 2013 + TGeoTube *groundWire = new TGeoTube(0, fgkEndLadderEarthCableR, fgkSegmentLength/2); + TGeoVolume *groundWireVol = new TGeoVolume("ITSsddGroundWire", groundWire, + copperMedium); + groundWireVol->SetLineColor(41); // should be something brown-ish + TGeoTranslation *trGroundWire = new TGeoTranslation(0, + fgkLadderHeight/2-5*fgkEndLadderEarthCableR, 0); + fLaddSegCommonVol[0] = cfLaddTopVol1; fLaddSegCommonTr[0] = trTop1; fLaddSegCommonVol[1] = cfLaddTopVol2; fLaddSegCommonTr[1] = trTop1; fLaddSegCommonVol[2] = cfLaddSideVol1; fLaddSegCommonTr[2] = ctSideR; @@ -998,6 +1004,7 @@ void AliITSv11GeometrySDD::CreateBasicObjects() { fLaddSegCommonVol[16]= bottomBeam2Vol; fLaddSegCommonTr[16]= bottomBeamTransf3; fLaddSegCommonVol[17]= bottomBeam3Vol; fLaddSegCommonTr[17]= bottomBeamTransf4; fLaddSegCommonVol[18]= bottomBeam3Vol; fLaddSegCommonTr[18]= bottomBeamTransf5; + fLaddSegCommonVol[19]= groundWireVol; fLaddSegCommonTr[19]= trGroundWire; //******************************************************************** @@ -1059,7 +1066,7 @@ void AliITSv11GeometrySDD::CreateBasicObjects() { fLadderFoot = CreateLadderFoot(); CreateLVCard(); - fCardHV = CreateHVCard(0); + fCardHV = CreateHVCard(); fCardCarlos = CreateCarlosCard(0); //================== @@ -1181,7 +1188,7 @@ void AliITSv11GeometrySDD::ShowOnePiece(TGeoVolume *moth) { // TGeoVolumeAssembly *highVCard = CreateHVCard( 4 ); // moth->AddNode(highVCard, 1, 0); -// TGeoVolumeAssembly *supportRing = CreateSupportRing( 4 ); +// TGeoVolumeAssembly *supportRing = CreateSupportRing(); // moth->AddNode(supportRing, 1, 0); // TGeoVolume *endLadderCards = CreateEndLadderCardsV( 4 ); @@ -2382,6 +2389,8 @@ TGeoVolume* AliITSv11GeometrySDD::CreateHybrid(Int_t iLRSide) { ccToSensPoliVol->SetLineColor(fColorPolyhamide); TGeoXtru* ccToSensAlSh = new TGeoXtru(2); + xcc[6] += 0.001; + ycc[7] -= 0.001; ccToSensAlSh->DefinePolygon(8, xcc, ycc); ccToSensAlSh->DefineSection(0, 0.); ccToSensAlSh->DefineSection(1, fgkHybAlCCThick); @@ -2576,9 +2585,9 @@ TGeoVolume* AliITSv11GeometrySDD::CreateLadderSegment(Int_t iLay, Int_t iSeg) { yseg[ 1] = -yseg[0]; xseg[ 2] = 0.87*xseg[1]; yseg[ 2] = yseg[1]; - xseg[ 3] = 0.82*xseg[1]; - yseg[ 3] = -yseg[0] - 0.82*fgkHybCC2SensorLen; - xseg[ 4] = 0.78*xseg[1]; + xseg[ 3] = 0.77*xseg[1]; + yseg[ 3] = -yseg[0] - 0.62*fgkHybCC2SensorLen; + xseg[ 4] = 0.72*xseg[1]; yseg[ 4] = yseg[3]; xseg[ 5] = 0.83*xseg[1]; yseg[ 5] = yseg[1]; @@ -3702,23 +3711,23 @@ TGeoVolumeAssembly* AliITSv11GeometrySDD::CreateCarlosCard(Int_t iLay) { Double_t screw1z = ( aaa*sin(TMath::DegToRad()*fgkCarlosSuppAngle) + bbb*cos(TMath::DegToRad()*fgkCarlosSuppAngle) )-0.07; - TGeoRotation *CarlosSuppRot = (TGeoRotation *)fCommonTr[0]; + TGeoRotation *carlosSuppRot = (TGeoRotation *)fCommonTr[0]; TGeoCombiTrans* lScrewTr1 = new TGeoCombiTrans((fgkCarlosSuppX1+ fgkCarlosSuppX2+fgkCarlosSuppX3)/2, - screw1y,screw1z, CarlosSuppRot); + screw1y,screw1z, carlosSuppRot); TGeoCombiTrans* lScrewTr2 = new TGeoCombiTrans((fgkCarlosSuppX1+ fgkCarlosSuppX2+fgkCarlosSuppX3)/2, - screw1z,screw1y, CarlosSuppRot); + screw1z,screw1y, carlosSuppRot); TGeoCombiTrans *lScrewTr3 = new TGeoCombiTrans(-(fgkCarlosSuppX1+ fgkCarlosSuppX2+fgkCarlosSuppX3)/2, - screw1y,screw1z, CarlosSuppRot); + screw1y,screw1z, carlosSuppRot); TGeoCombiTrans *lScrewTr4 = new TGeoCombiTrans(-(fgkCarlosSuppX1+ fgkCarlosSuppX2+fgkCarlosSuppX3)/2, - screw1z,screw1y, CarlosSuppRot); + screw1z,screw1y, carlosSuppRot); assemblySupCarlos->AddNode(fCommonVol[0], 1, lScrewTr1); assemblySupCarlos->AddNode(fCommonVol[0], 2, lScrewTr2); @@ -4143,11 +4152,10 @@ Int_t AliITSv11GeometrySDD::CreateLVCard() { } //________________________________________________________________________ -TGeoVolumeAssembly* AliITSv11GeometrySDD::CreateHVCard(Int_t iLay){ +TGeoVolumeAssembly* AliITSv11GeometrySDD::CreateHVCard(){ // // return an assembly containing the HV card // - iLay = iLay; TGeoMedium *ceramic = GetMedium("CERAMICS$"); // ceramicHVcard TGeoMedium *medSMDcapaMiddle = GetMedium("SDD X7R capacitors$"); // check if different @@ -4425,7 +4433,6 @@ TGeoVolumeAssembly* AliITSv11GeometrySDD::CreateHVCard(Int_t iLay){ return highVCard; } - //________________________________________________________________________ TGeoVolumeAssembly* AliITSv11GeometrySDD::CreateEndLadderCards(Int_t iLay) { // @@ -4934,13 +4941,12 @@ TGeoVolume* AliITSv11GeometrySDD::CreateEndLadderCardsV(Int_t iLay) { } //________________________________________________________________________ -TGeoVolumeAssembly* AliITSv11GeometrySDD::CreateSupportRing(Int_t iLay) { +TGeoVolumeAssembly* AliITSv11GeometrySDD::CreateSupportRing() { // // return an assembly of the support rings, attaching the ladders to the cone // - iLay = iLay; TGeoMedium *stainless = GetMedium("INOX$"); // To code !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! TGeoVolumeAssembly *supportRing = new TGeoVolumeAssembly("supportRing"); @@ -5084,7 +5090,7 @@ void AliITSv11GeometrySDD::CreateSDDsensor() { wafer3->SetLineColor(fColorSilicon); TGeoBBox *sensBox3 = new TGeoBBox("ITSsddSensorSensBox3", fgkWaferWidthSens/2, fgkWaferThickSens/2, fgkWaferLengthSens/2); - TGeoVolume *sensVol3 = new TGeoVolume(fgSDDsensitiveVolName3,sensBox3, siliconSDDsens); + TGeoVolume *sensVol3 = new TGeoVolume(fgkSDDsensitiveVolName3,sensBox3, siliconSDDsens); sensVol3->SetLineColor(fColorSilicon+5); wafer3->AddNode(sensVol3, 1, 0); fSDDsensor3->AddNode(wafer3, 1, 0); @@ -5093,7 +5099,7 @@ void AliITSv11GeometrySDD::CreateSDDsensor() { wafer4->SetLineColor(fColorSilicon); TGeoBBox *sensBox4 = new TGeoBBox("ITSsddSensorSensBox4", fgkWaferWidthSens/2, fgkWaferThickSens/2, fgkWaferLengthSens/2); - TGeoVolume *sensVol4 = new TGeoVolume(fgSDDsensitiveVolName4,sensBox4, siliconSDDsens); + TGeoVolume *sensVol4 = new TGeoVolume(fgkSDDsensitiveVolName4,sensBox4, siliconSDDsens); sensVol4->SetLineColor(fColorSilicon+5); wafer4->AddNode(sensVol4, 1, 0); fSDDsensor4->AddNode(wafer4, 1, 0);