X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSv11GeometrySSD.cxx;h=976849efe9089deb25b0498f8c66b813ed5b52b6;hb=0ffe983248ed71759872d5275b239c7efb543f9a;hp=e735c6bace6ec4c9c1f32506bacb06ce5bbd6bd9;hpb=9b0c60ab42e3c1f4f703db5656475f55d4ba9c0d;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSv11GeometrySSD.cxx b/ITS/AliITSv11GeometrySSD.cxx index e735c6bace6..976849efe90 100644 --- a/ITS/AliITSv11GeometrySSD.cxx +++ b/ITS/AliITSv11GeometrySSD.cxx @@ -528,6 +528,7 @@ AliITSv11GeometrySSD::AliITSv11GeometrySSD(): fMotherVol(), fLay5LadderSupportRing(), fLay6LadderSupportRing(), + fgkEndCapSupportSystem(), fColorCarbonFiber(4), fColorRyton(5), fColorPhynox(14), @@ -590,6 +591,7 @@ AliITSv11GeometrySSD::AliITSv11GeometrySSD(const AliITSv11GeometrySSD &s): fMotherVol(s.fMotherVol), fLay5LadderSupportRing(s.fLay5LadderSupportRing), fLay6LadderSupportRing(s.fLay6LadderSupportRing), + fgkEndCapSupportSystem(s.fgkEndCapSupportSystem), fColorCarbonFiber(s.fColorCarbonFiber), fColorRyton(s.fColorRyton), fColorPhynox(s.fColorPhynox), @@ -2675,7 +2677,7 @@ TGeoVolume* AliITSv11GeometrySSD::GetCoolingBlockSystem(){ ///////////////////////////////////////////////////////////// // Checking overlaps ///////////////////////////////////////////////////////////// - coolingsystemother->CheckOverlaps(0.01); + //coolingsystemother->CheckOverlaps(0.01); ///////////////////////////////////////////////////////////// return coolingsystemother; } @@ -2788,7 +2790,7 @@ TGeoVolume* AliITSv11GeometrySSD::GetSSDStiffenerFlex()const{ + fgkSSDFlexHeight[1])); ssdflexmother->AddNode(ssdflex[i],1,ssdflextrans[i]); } - ssdflexmother->CheckOverlaps(0.01); + //ssdflexmother->CheckOverlaps(0.01); return ssdflexmother; } ///////////////////////////////////////////////////////////////////////////////// @@ -2944,7 +2946,7 @@ for(Int_t i=0; iCheckOverlaps(0.01); + //ssdendflexmother->CheckOverlaps(0.01); return ssdendflexmother; } /////////////////////////////////////////////////////////////////////////////// @@ -4173,7 +4175,7 @@ void AliITSv11GeometrySSD::SetEndLadderSegment(){ fendladdersegment[i]->AddNode(fendladdermountingblock,i+1, fendladdermountingblockcombitrans[i]); ///////////////////////////////////////////////////////////// - // End Ladder Mounting Block + // End Ladder Mounting Block Clip ///////////////////////////////////////////////////////////// for(Int_t i=0; iAddNode(fendladdercoolingtube[3],2,fendladdercoolingtubematrix[1][1]); fendladdersegment[1]->AddNode(fendladdercoolingtube[4],1,fendladdercoolingtubematrix[1][2]); fendladdersegment[1]->AddNode(fendladdercoolingtube[4],2,fendladdercoolingtubematrix[1][3]); - fendladdersegment[0]->CheckOverlaps(0.01); - fendladdersegment[1]->CheckOverlaps(0.01); + // fendladdersegment[0]->CheckOverlaps(0.01); + // fendladdersegment[1]->CheckOverlaps(0.01); } /////////////////////////////////////////////////////////////////////////////// void AliITSv11GeometrySSD::SetLadder(){ @@ -4354,121 +4356,8 @@ void AliITSv11GeometrySSD::SetLayer(){ ///////////////////////////////////////////////////////////// // Generating mother volumes for Layer5 and Layer6 ///////////////////////////////////////////////////////////// - TGeoXtru* ssdladdermothershape = (TGeoXtru*)fladder[0]->GetShape(); - TGeoXtru* layercontainershape[fgklayernumber]; - for(Int_t i=0; iGetX(i), - ssdladdermothershape->GetY(i)-ssdladdermothershape->GetY(0)); - TVector3** transvector[fgklayernumber]; - Double_t layerradius = 0.; - Double_t layerladderangleposition[fgklayernumber] = - {360./fgkSSDLay5LadderNumber,360./fgkSSDLay6LadderNumber}; - Double_t** rotationangle = new Double_t*[fgklayernumber]; - for(Int_t i=0; iY()); - layercontainervertex[i][1] = new TVector3(0.,laddercontainervertex[3]->Y()); - layercontainervertex[i][2] = new TVector3(*laddercontainervertex[3]); - for(Int_t j=0; j<3; j++){ - layercontainervertex[i][j]->RotateZ(rotationangle[i][0]); - *layercontainervertex[i][j] += *transvector[i][0]; - vertexindex++; - } - for(Int_t j=1; jRotateZ(rotationangle[i][j]); - *layercontainervertex[i][vertexindex] += *transvector[i][j]; - vertexindex++; - } - } - layercontainervertex[i][vertexindex] = new TVector3(*laddercontainervertex[4]); - layercontainervertex[i][vertexindex]->RotateZ(rotationangle[i][0]); - *layercontainervertex[i][vertexindex]+= *transvector[i][0]; - layercontainervertex[i][vertexindex+1] = new TVector3(*layercontainervertex[i][1]); - layercontainervertex[i][vertexindex+2] = new TVector3(*layercontainervertex[i][0]); - vertexindex+=3; - for(Int_t j=0; j<2; j++){ - layercontainervertex[i][vertexindex] = new TVector3(*laddercontainervertex[7-j]); - layercontainervertex[i][vertexindex]->RotateZ(rotationangle[i][0]); - *layercontainervertex[i][vertexindex] += *transvector[i][0]; - vertexindex++; - } - for(Int_t j=1; jRotateZ(rotationangle[i][kssdlayladdernumber[i]-j]); - *layercontainervertex[i][vertexindex] += *transvector[i][kssdlayladdernumber[i]-j]; - vertexindex++; - } - } - else{ - for(Int_t l=0; l<4; l++){ - layercontainervertex[i][vertexindex] = - new TVector3(*laddercontainervertex[downlayerindex[l]]); - layercontainervertex[i][vertexindex]->RotateZ(rotationangle[i][kssdlayladdernumber[i]-j]); - *layercontainervertex[i][vertexindex] += *transvector[i][kssdlayladdernumber[i]-j]; - vertexindex++; - } - } - } - layercontainervertex[i][vertexindex] = - new TVector3(*laddercontainervertex[1]); - layercontainervertex[i][vertexindex+1] = - new TVector3(*laddercontainervertex[0]); - for(Int_t j=0; j<2; j++){ - layercontainervertex[i][vertexindex+j]->RotateZ(rotationangle[i][0]); - *layercontainervertex[i][vertexindex+j] += *transvector[i][0]; - } - layercontainervertex[i][vertexindex+2] = - new TVector3(*layercontainervertex[i][0]); - } - Double_t** xlayervertex = new Double_t*[fgklayernumber]; - Double_t** ylayervertex = new Double_t*[fgklayernumber]; - for(Int_t i=0; iX(); - ylayervertex[i][j] = layercontainervertex[i][j]->Y(); - } - for(Int_t i=0; iDefinePolygon(5*(1+kssdlayladdernumber[i]),xlayervertex[i],ylayervertex[i]); - layercontainershape[i]->DefineSection(0,-0.5*(i==0?fgkSSDLay5LadderLength:fgkSSDLay6LadderLength)); - layercontainershape[i]->DefineSection(1,0.5*(i==0?fgkSSDLay5LadderLength:fgkSSDLay6LadderLength)); - } - fSSDLayer5 = new TGeoVolume("ITSssdLayer5",layercontainershape[0],fSSDAir); - fSSDLayer6 = new TGeoVolume("ITSssdLayer6",layercontainershape[1],fSSDAir); + fSSDLayer5 = new TGeoVolumeAssembly("ITSssdLayer5"); + fSSDLayer6 = new TGeoVolumeAssembly("ITSssdLayer6"); Int_t *ladderindex[fgklayernumber]; Int_t index[fgklayernumber] = {8,9}; for(Int_t i=0; i