X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSv11GeometrySSD.cxx;h=d78d926527e5c2bc7c45054d6e5ea3e438c14ceb;hb=90ae20c9a7d507ee8464f779b36b3e64e6b1752e;hp=bd6445dac22e0d36c966c8ff4acd426d64b773b8;hpb=0df245e47966df8b31c216343ff7f71dc8114496;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSv11GeometrySSD.cxx b/ITS/AliITSv11GeometrySSD.cxx index bd6445dac22..d78d926527e 100644 --- a/ITS/AliITSv11GeometrySSD.cxx +++ b/ITS/AliITSv11GeometrySSD.cxx @@ -2018,9 +2018,9 @@ TList* AliITSv11GeometrySSD::GetCarbonFiberSupportList(){ for(Int_t j=0; jX(), (GetReflection(vertexposition[0][j],param))->Y()); - char* carbonfibersupportshapename[kshapesnumber] = + const char* carbonfibersupportshapename[kshapesnumber] = {"CarbonFiberSupportShape1","CarbonFiberSupportShape2"}; - char* carbonfibersupportname[kshapesnumber] = + const char* carbonfibersupportname[kshapesnumber] = {"CarbonFiberSupport1","CarbonFiberSupport2"}; TGeoArb8* carbonfibersupportshape[kshapesnumber]; TGeoVolume* carbonfibersupport[kshapesnumber]; @@ -2057,8 +2057,8 @@ TGeoVolume* AliITSv11GeometrySSD::GetCarbonFiberJunction(Double_t width){ ///////////////////////////////////////////////////////////// const Int_t kvertexnumber = 6; TGeoXtru* carbonfiberjunctionshape = new TGeoXtru(2); - Double_t reflectionparam[3] = {TMath::Tan(fgkCarbonFiberJunctionAngle[0] - * TMath::DegToRad()),-1.,0.}; + Double_t reflectionparam[4] = {TMath::Tan(fgkCarbonFiberJunctionAngle[0] + * TMath::DegToRad()),-1.,0.,0.}; TVector3* vertex[kvertexnumber]; vertex[0] = new TVector3(); vertex[3] = new TVector3(fgkCarbonFiberJunctionEdge[0] @@ -2119,9 +2119,9 @@ TList* AliITSv11GeometrySSD::GetCarbonFiberLowerSupportList(){ vertexposition[1][2] = new TVector3(0.,fgkCarbonFiberLowerSupportVolumePosition[0]); vertexposition[1][3] = new TVector3(fgkCarbonFiberTriangleLength, fgkCarbonFiberLowerSupportVolumePosition[1]); - char* carbonfiberlowersupportshapename[kshapesnumber] = + const char* carbonfiberlowersupportshapename[kshapesnumber] = {"CarbonFiberLowerSupportShape1","CarbonFiberLowerSupportShape2"}; - char* carbonfiberlowersupportname[kshapesnumber] = + const char* carbonfiberlowersupportname[kshapesnumber] = {"CarbonFiberLowerSupport1","CarbonFiberLowerSupport2"}; TGeoArb8* carbonfiberlowersupportshape[kshapesnumber]; TGeoVolume* carbonfiberlowersupport[kshapesnumber]; @@ -2342,10 +2342,10 @@ TGeoVolume* AliITSv11GeometrySSD::GetCoolingTubeSupport(Int_t nedges){ // Deallocating memory ///////////////////////////////////////////////////////////// delete [] vertexposition; - delete xvertexpoints; - delete yvertexpoints; - delete xvert; - delete yvert; + delete [] xvertexpoints; + delete [] yvertexpoints; + delete [] xvert; + delete [] yvert; for(Int_t i=0; i< kvirtualvertexnumber; i++) delete virtualvertex[i]; ///////////////////////////////////////////////////////////// @@ -2581,8 +2581,8 @@ TList* AliITSv11GeometrySSD::GetSSDHybridParts(){ - fgkSSDConnectorSeparation; Double_t wirey = ssdstiffenerseparation+fgkSSDStiffenerWidth - 2.*fgkSSDConnectorPosition[1]-fgkSSDConnectorWidth; - Double_t ssdwireradius = TMath::Sqrt(TMath::Power(wirex,2.) - + TMath::Power(wirey,2)); + Double_t ssdwireradius = TMath::Sqrt(wirex*wirex+wirey*wirey); + Double_t wireangle = TMath::ATan(wirex/wirey); TGeoTube *hybridwireshape = new TGeoTube("HybridWireShape", 0., fgkSSDWireRadius, 0.5*ssdwireradius); @@ -3743,69 +3743,11 @@ TList* AliITSv11GeometrySSD::GetSSDChipSystem(){ // const Int_t knedges = 20; const Int_t knedges = 5; const Int_t kchipsystemnumber = 2; - ///////////////////////////////////////////////////////////// - // Mother Volume containing SSDChipSystem - ///////////////////////////////////////////////////////////// - TGeoXtru* chipsystemothershape[kchipsystemnumber]; - for(Int_t i=0; iDefinePolygon(kmothervertexnumber, - xmothervertex[i],ymothervertex[i]); - chipsystemothershape[i]->DefineSection(0,-fgkSSDChipCablesHeight[i+2] - -0.5*fgkSSDChipHeight); - chipsystemothershape[i]->DefineSection(1,0.5*fgkSSDChipHeight); -// chipsystemother[i] = new TGeoVolume(chipsytemothername[i], -// chipsystemothershape[i],fSSDAir); chipsystemother[i] = new TGeoVolumeAssembly(chipsytemothername[i]); } ///////////////////////////////////////////////////////////// @@ -3849,13 +3791,14 @@ TList* AliITSv11GeometrySSD::GetSSDChipSystem(){ delete ssdchipcablesrot[i][j]; delete ssdchipcablestrans[i][j]; } - delete ssdchipcablesrot[i]; - delete ssdchipcablestrans[i]; + delete [] ssdchipcablesrot[i]; + delete [] ssdchipcablestrans[i]; } ///////////////////////////////////////////////////////////// return ssdchipsystemlist; } -/////////////////////////////////////////////////////////////////////////////// + +//_____________________________________________________________________________ TGeoVolume* AliITSv11GeometrySSD::GetSSDChips() const{ ///////////////////////////////////////////////////////////// // SSD Chip Assembly Generation @@ -4004,7 +3947,7 @@ TList* AliITSv11GeometrySSD::GetLadderCableSegment(Double_t ssdendladdercablelen } Double_t laddercablesegmentwidth[2][2] = {{fgkSSDFlexHeight[0],fgkSSDFlexHeight[0]}, {fgkSSDFlexHeight[1],fgkSSDFlexHeight[1]}}; - char* laddercablesegmentarbshapename[kladdercablesegmentnumber] = + const char* laddercablesegmentarbshapename[kladdercablesegmentnumber] = {"LadderCableSegmentArbShape1","LadderCableSegmentArbShape2"}; TGeoArb8* laddercablesegmentarbshape[kladdercablesegmentnumber]; for(Int_t i = 0; i< kladdercablesegmentnumber; i++) laddercablesegmentarbshape[i] = @@ -4115,7 +4058,7 @@ TGeoVolume* AliITSv11GeometrySSD::GetLadderCableAssembly(Int_t n, Double_t ssden // Method generating Ladder Cable Volumes Assembly ///////////////////////////////////////////////////////////// TGeoVolume* laddercableassembly = new TGeoVolumeAssembly("LadderCableAssembly"); - char laddercabletransname[30]; + char laddercabletransname[100]; for(Int_t i=0; iAddNode(GetLadderCable(n-i,ssdendladdercablelength),i+1, @@ -4131,7 +4074,7 @@ TList* AliITSv11GeometrySSD::GetLadderCableAssemblyList(Int_t n, Double_t ssdend const Int_t kladdercableassemblynumber = 2; TGeoVolume* laddercableassembly = GetLadderCableAssembly(n,ssdendladdercablelength); TGeoVolume* ladderCable[kladdercableassemblynumber]; - char laddercableassemblyname[30]; + char laddercableassemblyname[100]; TList* laddercableassemblylist = new TList(); for(Int_t i=0; iSetX(-0.5*fgkSSDMountingBlockLength[0]); - mountingsupportedgevector[i]->SetY(fgkMountingBlockSupportRadius[i]*TMath::Sqrt(1. - -TMath::Power(mountingsupportedgevector[i]->X() - / fgkMountingBlockSupportRadius[i],2))); + mountingsupportedgevector[i]->SetX(-0.5*fgkSSDMountingBlockLength[0]); + mountingsupportedgevector[i]->SetY(fgkMountingBlockSupportRadius[i]*TMath::Sqrt( + (1.-mountingsupportedgevector[i]->X()/fgkMountingBlockSupportRadius[i])* + (1.+mountingsupportedgevector[i]->X()/fgkMountingBlockSupportRadius[i]))); psi0[i] = 0.5*TMath::Pi()-phi[i]; deltapsi[i] = (theta[i]+phi[i])/nedges; } @@ -4648,10 +4591,10 @@ void AliITSv11GeometrySSD::Layer6(TGeoVolume* moth){ TGeoVolume* centermountingblocksupport[fgklayernumber]; TGeoVolume* sideladdersupportpiece[fgklayernumber]; TGeoVolume* centerladdersupportpiece[fgklayernumber]; - char sidemountingblockname[40]; - char centermountingblockname[40]; - char sideladdersupportpiecename[40]; - char centerladdersupportpiecename[40]; + char sidemountingblockname[100]; + char centermountingblockname[100]; + char sideladdersupportpiecename[100]; + char centerladdersupportpiecename[100]; for(Int_t i=0; iSetAngles(90.,180.,-90); TGeoRotation* globalrefladdersupportrot = new TGeoRotation(); @@ -4889,8 +4832,8 @@ void AliITSv11GeometrySSD::Layer6(TGeoVolume* moth){ TGeoXtru* upmotherladdersupportshape[fgklayernumber]; // TGeoVolume* upmotherladdersupport[fgklayernumber]; TGeoVolumeAssembly* upmotherladdersupport[fgklayernumber]; - char upmotheladdersupportname[30]; - char downmotheladdersupportname[30]; + char upmotheladdersupportname[100]; + char downmotheladdersupportname[100]; for(Int_t i=0; iSetLineColor(9); TGeoRotation* ssdcablepatchpanel3B26rot[3]; for(Int_t i=0; i<4; i++) ssdcablepatchpanel3B26rot[i] = new TGeoRotation(); - ssdcablepatchpanel3B26rot[0]->SetAngles(1.0,0.0,0.0); + ssdcablepatchpanel3B26rot[0]->SetAngles(0.0,0.0,0.0); ssdcablepatchpanel3B26rot[1]->SetAngles(fgkSSDCablesPatchPanel2RB26Angle[0] - + fgkSSDCablesPatchPanel2RB26Angle[1],0.0,0.0); - ssdcablepatchpanel3B26rot[2]->SetAngles(181.0,0.0,0.0); + + fgkSSDCablesPatchPanel2RB26Angle[1]+6.0,0.0,0.0); + ssdcablepatchpanel3B26rot[2]->SetAngles(180.0,0.0,0.0); ssdcablepatchpanel3B26rot[3]->SetAngles(180.0+fgkSSDCablesPatchPanel2RB26Angle[0] - + fgkSSDCablesPatchPanel2RB26Angle[1],0.0,0.0); + + fgkSSDCablesPatchPanel2RB26Angle[1]+6.0,0.0,0.0); for(Int_t i=0; i<4; i++) ssdcablesmother->AddNode(ssdcablepatchpanel3RB26pcon,i+1,ssdcablepatchpanel3B26rot[i]); //////////////////////////////////// //cablescapacity[10] = 4.*ssdcablepatchpanel3RB26pconshape->Capacity(); @@ -8185,10 +8127,10 @@ void AliITSv11GeometrySSD::SetLadderSupport(Int_t nedges){ ssdcablepatchpanel3RB24pcon->SetLineColor(9); TGeoRotation* ssdcablepatchpanel3B24rot[3]; for(Int_t i=0; i<4; i++) ssdcablepatchpanel3B24rot[i] = new TGeoRotation(); - ssdcablepatchpanel3B24rot[0]->SetAngles(0.0,0.0,0.0); + ssdcablepatchpanel3B24rot[0]->SetAngles(-6.0,0.0,0.0); ssdcablepatchpanel3B24rot[1]->SetAngles(fgkSSDCablesPatchPanel2RB24Angle[0] + fgkSSDCablesPatchPanel2RB24Angle[1],0.0,0.0); - ssdcablepatchpanel3B24rot[2]->SetAngles(180.0,0.0,0.0); + ssdcablepatchpanel3B24rot[2]->SetAngles(174.0,0.0,0.0); ssdcablepatchpanel3B24rot[3]->SetAngles(180.0+fgkSSDCablesPatchPanel2RB24Angle[0] + fgkSSDCablesPatchPanel2RB24Angle[1],0.0,0.0); for(Int_t i=0; i<4; i++) ssdcablesmother->AddNode(ssdcablepatchpanel3RB24pcon,i+1,ssdcablepatchpanel3B24rot[i]); @@ -8295,7 +8237,7 @@ void AliITSv11GeometrySSD::SetLadderSupport(Int_t nedges){ } //////////////////////////////////////////////////////////////////////////////// TGeoArb8* AliITSv11GeometrySSD::GetArbShape(TVector3* vertexpos[], Double_t* width, - Double_t height, char* shapename, Int_t isign) const{ + Double_t height, const char* shapename, Int_t isign) const{ ///////////////////////////////////////////////////////////// // Method generating an Arb shape ///////////////////////////////////////////////////////////// @@ -8485,7 +8427,7 @@ TGeoMedium* AliITSv11GeometrySSD::GetMedium(const char* mediumName) { ///////////////////////////////////////////////////////////// // Method returning the Medium type ///////////////////////////////////////////////////////////// - char ch[30]; + char ch[100]; sprintf(ch, "ITS_%s",mediumName); TGeoMedium* medium = gGeoManager->GetMedium(ch); if (! medium)