X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSv11GeometrySDD.cxx;h=f0a601053bd8eff20fc4d9cb1ddb3b2604b97c6c;hb=b7e5fec552ce500cb32accdb81df69b127bb787a;hp=61d01b24677faf0a7003ce3d12362ebdeae7d9e4;hpb=4f7d5a2ad0d0b96eb0373cedfe85f47a5b33b52a;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSv11GeometrySDD.cxx b/ITS/AliITSv11GeometrySDD.cxx index 61d01b24677..f0a601053bd 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; @@ -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 ); @@ -1906,7 +1913,7 @@ TGeoVolumeAssembly *AliITSv11GeometrySDD::CreateLadder(Int_t iLay) { cableHV[iSegment].SetInitialNode(virtualLadder); }; Double_t x1[3], x2[3], x3[3], - vY[3] = {0,1,0}, vZ[3] = {0,0,1}, vYZ[3]={0,1,1}; + vY[3] = {0,1,0}, vZ[3] = {0,0,1}; x1[0] = -fgkTransitHVtailXpos; x2[0] = -fgkTransitHVtailXpos; @@ -1933,7 +1940,7 @@ TGeoVolumeAssembly *AliITSv11GeometrySDD::CreateLadder(Int_t iLay) { cableHV[iSegment].CreateAndInsertBoxCableSegment(2,0); }; - vYZ[2] = -1; + // vYZ[2] = -1; x1[0] = fgkTransitHVtailXpos; x2[0] = fgkTransitHVtailXpos; x3[0] = fgkTransitHVtailXpos; @@ -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); @@ -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); @@ -5435,14 +5441,14 @@ TGeoVolumeAssembly *AliITSv11GeometrySDD::CreateDetectorsAssembly(Int_t iLay) { // Int_t nDetectors = fgkLay3Ndet; - Double_t ladderLength = fgkLay3LadderLength; + // Double_t ladderLength = fgkLay3LadderLength; Double_t *sensorZPos = fLay3sensorZPos; TGeoVolume *sensorSDD = fSDDsensor3; if (iLay==3) {} else if (iLay==4) { nDetectors = fgkLay4Ndet; - ladderLength = fgkLay4LadderLength; + // ladderLength = fgkLay4LadderLength; sensorZPos = fLay4sensorZPos; sensorSDD = fSDDsensor4; } else {