]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTriggerGeometryBuilder.cxx
Fixing STRING_OVERFLOW defect reported by Coverity
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerGeometryBuilder.cxx
index bafd1f9e8031636489e3369be21761ab9f946047..b7e3daaf33385cd5ad1369ee6a3ce09e649ae23e 100644 (file)
@@ -221,10 +221,9 @@ void AliMUONTriggerGeometryBuilder::CreateGeometry()
             char volAluSupport[5],volAirSupport[5];
            sprintf(volAluSupport,"SAL%d",icount+1);
            sprintf(volAirSupport,"SAI%d",icount+1);
-           char volEnvSupport[12][5];
-            for(Int_t jj=0;jj<2;jj++)
+           char volEnvSupport[12][7];
            for(Int_t ii=0;ii<8;ii++){
-             sprintf(volEnvSupport[ii],"A%dV%d",icount+1,ii);
+             sprintf(volEnvSupport[ii],"SEA%dV%d",icount+1,ii);
            }
            tpar[0]= 0.;
            tpar[1]= 0.;
@@ -258,14 +257,14 @@ void AliMUONTriggerGeometryBuilder::CreateGeometry()
             char volAluSupportH[6],volAirSupportH[6];
            sprintf(volAluSupportH,"SALH%d",icount+1);
            sprintf(volAirSupportH,"SAIH%d",icount+1);
-           char volEnvSupportHA[6][7],volEnvSupportHBC[12][7],volEnvSupportHD[12][7],volEnvSupportHE[12][7],volEnvSupportHF[12][7];
+           char volEnvSupportHA[6][8],volEnvSupportHBC[12][8],volEnvSupportHD[12][8],volEnvSupportHE[12][8],volEnvSupportHF[12][8];
             for(Int_t jj=0;jj<2;jj++){
              for(Int_t ii=0;ii<6;ii++){
-               if(ii<3)sprintf(volEnvSupportHA[3*jj+ii],"A%dHA%d",icount+1,3*jj+ii);
-               sprintf(volEnvSupportHBC[6*jj+ii],"A%dHB%d",icount+1,6*jj+ii);
-               sprintf(volEnvSupportHD[6*jj+ii],"A%dHD%d",icount+1,6*jj+ii);
-               sprintf(volEnvSupportHE[6*jj+ii],"A%dHE%d",icount+1,6*jj+ii);
-               sprintf(volEnvSupportHF[6*jj+ii],"A%dHF%d",icount+1,6*jj+ii);
+               if(ii<3)sprintf(volEnvSupportHA[3*jj+ii],"SA%dHA%d",icount+1,3*jj+ii);
+               sprintf(volEnvSupportHBC[6*jj+ii],"SA%dHB%d",icount+1,6*jj+ii);
+               sprintf(volEnvSupportHD[6*jj+ii],"SA%dHD%d",icount+1,6*jj+ii);
+               sprintf(volEnvSupportHE[6*jj+ii],"SA%dHE%d",icount+1,6*jj+ii);
+               sprintf(volEnvSupportHF[6*jj+ii],"SA%dHF%d",icount+1,6*jj+ii);
              }
            }
            tpar[0]= 0.;
@@ -294,67 +293,67 @@ void AliMUONTriggerGeometryBuilder::CreateGeometry()
            char volAluAngSupportXV[6],volAluAngSupportXH[6];
            sprintf(volAluAngSupportXH,"SAXH%d",icount+1);
            sprintf(volAluAngSupportXV,"SAXV%d",icount+1);
-           char volEnvSuppAng1HA[2][6],volEnvSuppAng1HBC[4][6],volEnvSuppAng1HD[4][6],volEnvSuppAng1HE[4][6],volEnvSuppAng1HF[4][6];
-           char volEnvSuppAng1VA[2][6],volEnvSuppAng1VBC[4][6],volEnvSuppAng1VD[4][6],volEnvSuppAng1VE[4][6],volEnvSuppAng1VF[4][6];
-           char volEnvSuppAng2HA[2][6],volEnvSuppAng2HBC[4][6],volEnvSuppAng2HD[4][6],volEnvSuppAng2HE[4][6],volEnvSuppAng2HF[4][6];
-           char volEnvSuppAng2VA[2][6],volEnvSuppAng2VBC[4][6],volEnvSuppAng2VD[4][6],volEnvSuppAng2VE[4][6],volEnvSuppAng2VF[4][6];
-           char volEnvSuppAng3HA[2][6],volEnvSuppAng3HBC[4][6],volEnvSuppAng3HD[4][6],volEnvSuppAng3HE[4][6],volEnvSuppAng3HF[4][6];
-           char volEnvSuppAng3VA[2][6],volEnvSuppAng3VBC[4][6],volEnvSuppAng3VD[4][6],volEnvSuppAng3VE[4][6],volEnvSuppAng3VF[4][6];
-           char volEnvSuppAng4HA[2][6],volEnvSuppAng4HBC[4][6],volEnvSuppAng4HD[4][6],volEnvSuppAng4HE[4][6],volEnvSuppAng4HF[4][6];
-           char volEnvSuppAng4VA[2][6],volEnvSuppAng4VBC[4][6],volEnvSuppAng4VD[4][6],volEnvSuppAng4VE[4][6],volEnvSuppAng4VF[4][6];
-           char volEnvSuppAngXHA[2][6],volEnvSuppAngXHBC[4][6],volEnvSuppAngXHD[4][6],volEnvSuppAngXHE[4][6],volEnvSuppAngXHF[4][6];
-           char volEnvSuppAngXVA[2][6],volEnvSuppAngXVBC[4][6],volEnvSuppAngXVD[4][6],volEnvSuppAngXVE[4][6],volEnvSuppAngXVF[4][6];
+           char volEnvSuppAng1HA[2][7],volEnvSuppAng1HBC[4][7],volEnvSuppAng1HD[4][7],volEnvSuppAng1HE[4][7],volEnvSuppAng1HF[4][7];
+           char volEnvSuppAng1VA[2][7],volEnvSuppAng1VBC[4][7],volEnvSuppAng1VD[4][7],volEnvSuppAng1VE[4][7],volEnvSuppAng1VF[4][7];
+           char volEnvSuppAng2HA[2][7],volEnvSuppAng2HBC[4][7],volEnvSuppAng2HD[4][7],volEnvSuppAng2HE[4][7],volEnvSuppAng2HF[4][7];
+           char volEnvSuppAng2VA[2][7],volEnvSuppAng2VBC[4][7],volEnvSuppAng2VD[4][7],volEnvSuppAng2VE[4][7],volEnvSuppAng2VF[4][7];
+           char volEnvSuppAng3HA[2][7],volEnvSuppAng3HBC[4][7],volEnvSuppAng3HD[4][7],volEnvSuppAng3HE[4][7],volEnvSuppAng3HF[4][7];
+           char volEnvSuppAng3VA[2][7],volEnvSuppAng3VBC[4][7],volEnvSuppAng3VD[4][7],volEnvSuppAng3VE[4][7],volEnvSuppAng3VF[4][7];
+           char volEnvSuppAng4HA[2][7],volEnvSuppAng4HBC[4][7],volEnvSuppAng4HD[4][7],volEnvSuppAng4HE[4][7],volEnvSuppAng4HF[4][7];
+           char volEnvSuppAng4VA[2][7],volEnvSuppAng4VBC[4][7],volEnvSuppAng4VD[4][7],volEnvSuppAng4VE[4][7],volEnvSuppAng4VF[4][7];
+           char volEnvSuppAngXHA[2][7],volEnvSuppAngXHBC[4][7],volEnvSuppAngXHD[4][7],volEnvSuppAngXHE[4][7],volEnvSuppAngXHF[4][7];
+           char volEnvSuppAngXVA[2][7],volEnvSuppAngXVBC[4][7],volEnvSuppAngXVD[4][7],volEnvSuppAngXVE[4][7],volEnvSuppAngXVF[4][7];
            for(Int_t ii=0;ii<4;ii++){
-             if(ii<2)sprintf(volEnvSuppAng1HA[ii],"H1%dA%d",icount+1,ii);
-             sprintf(volEnvSuppAng1HBC[ii],"H1%dB%d",icount+1,ii);
-             sprintf(volEnvSuppAng1HD[ii],"H1%dD%d",icount+1,ii);
-             sprintf(volEnvSuppAng1HE[ii],"H1%dE%d",icount+1,ii);
-             sprintf(volEnvSuppAng1HF[ii],"H1%dF%d",icount+1,ii);
-             if(ii<2)sprintf(volEnvSuppAng1VA[ii],"V1%dA%d",icount+1,ii);
-             sprintf(volEnvSuppAng1VBC[ii],"V1%dB%d",icount+1,ii);
-             sprintf(volEnvSuppAng1VD[ii],"V1%dD%d",icount+1,ii);
-             sprintf(volEnvSuppAng1VE[ii],"V1%dE%d",icount+1,ii);
-             sprintf(volEnvSuppAng1VF[ii],"V1%dF%d",icount+1,ii);
-             if(ii<2)sprintf(volEnvSuppAng2HA[ii],"H2%dA%d",icount+1,ii);
-             sprintf(volEnvSuppAng2HBC[ii],"H2%dB%d",icount+1,ii);
-             sprintf(volEnvSuppAng2HD[ii],"H2%dD%d",icount+1,ii);
-             sprintf(volEnvSuppAng2HE[ii],"H2%dE%d",icount+1,ii);
-             sprintf(volEnvSuppAng2HF[ii],"H2%dF%d",icount+1,ii);
-             if(ii<2)sprintf(volEnvSuppAng2VA[ii],"V2%dA%d",icount+1,ii);
-             sprintf(volEnvSuppAng2VBC[ii],"V2%dB%d",icount+1,ii);
-             sprintf(volEnvSuppAng2VD[ii],"V2%dD%d",icount+1,ii);
-             sprintf(volEnvSuppAng2VE[ii],"V2%dE%d",icount+1,ii);
-             sprintf(volEnvSuppAng2VF[ii],"V2%dF%d",icount+1,ii);
-             if(ii<2)sprintf(volEnvSuppAng3HA[ii],"H3%dA%d",icount+1,ii);
-             sprintf(volEnvSuppAng3HBC[ii],"H3%dB%d",icount+1,ii);
-             sprintf(volEnvSuppAng3HD[ii],"H3%dD%d",icount+1,ii);
-             sprintf(volEnvSuppAng3HE[ii],"H3%dE%d",icount+1,ii);
-             sprintf(volEnvSuppAng3HF[ii],"H3%dF%d",icount+1,ii);
-             if(ii<2)sprintf(volEnvSuppAng3VA[ii],"V3%dA%d",icount+1,ii);
-             sprintf(volEnvSuppAng3VBC[ii],"V3%dB%d",icount+1,ii);
-             sprintf(volEnvSuppAng3VD[ii],"V3%dD%d",icount+1,ii);
-             sprintf(volEnvSuppAng3VE[ii],"V3%dE%d",icount+1,ii);
-             sprintf(volEnvSuppAng3VF[ii],"V3%dF%d",icount+1,ii);
-             if(ii<2)sprintf(volEnvSuppAng4HA[ii],"H4%dA%d",icount+1,ii);
-             sprintf(volEnvSuppAng4HBC[ii],"H4%dB%d",icount+1,ii);
-             sprintf(volEnvSuppAng4HD[ii],"H4%dD%d",icount+1,ii);
-             sprintf(volEnvSuppAng4HE[ii],"H4%dE%d",icount+1,ii);
-             sprintf(volEnvSuppAng4HF[ii],"H4%dF%d",icount+1,ii);
-             if(ii<2)sprintf(volEnvSuppAng4VA[ii],"V4%dA%d",icount+1,ii);
-             sprintf(volEnvSuppAng4VBC[ii],"V4%dB%d",icount+1,ii);
-             sprintf(volEnvSuppAng4VD[ii],"V4%dD%d",icount+1,ii);
-             sprintf(volEnvSuppAng4VE[ii],"V4%dE%d",icount+1,ii);
-             sprintf(volEnvSuppAng4VF[ii],"V4%dF%d",icount+1,ii);
-             if(ii<2)sprintf(volEnvSuppAngXHA[ii],"HX%dA%d",icount+1,ii);
-             sprintf(volEnvSuppAngXHBC[ii],"HX%dB%d",icount+1,ii);
-             sprintf(volEnvSuppAngXHD[ii],"HX%dD%d",icount+1,ii);
-             sprintf(volEnvSuppAngXHE[ii],"HX%dE%d",icount+1,ii);
-             sprintf(volEnvSuppAngXHF[ii],"HX%dF%d",icount+1,ii);
-             if(ii<2)sprintf(volEnvSuppAngXVA[ii],"VX%dA%d",icount+1,ii);
-             sprintf(volEnvSuppAngXVBC[ii],"VX%dB%d",icount+1,ii);
-             sprintf(volEnvSuppAngXVD[ii],"VX%dD%d",icount+1,ii);
-             sprintf(volEnvSuppAngXVE[ii],"VX%dE%d",icount+1,ii);
-             sprintf(volEnvSuppAngXVF[ii],"VX%dF%d",icount+1,ii);
+             if(ii<2)sprintf(volEnvSuppAng1HA[ii],"SH1%dA%d",icount+1,ii);
+             sprintf(volEnvSuppAng1HBC[ii],"SH1%dB%d",icount+1,ii);
+             sprintf(volEnvSuppAng1HD[ii],"SH1%dD%d",icount+1,ii);
+             sprintf(volEnvSuppAng1HE[ii],"SH1%dE%d",icount+1,ii);
+             sprintf(volEnvSuppAng1HF[ii],"SH1%dF%d",icount+1,ii);
+             if(ii<2)sprintf(volEnvSuppAng1VA[ii],"SV1%dA%d",icount+1,ii);
+             sprintf(volEnvSuppAng1VBC[ii],"SV1%dB%d",icount+1,ii);
+             sprintf(volEnvSuppAng1VD[ii],"SV1%dD%d",icount+1,ii);
+             sprintf(volEnvSuppAng1VE[ii],"SV1%dE%d",icount+1,ii);
+             sprintf(volEnvSuppAng1VF[ii],"SV1%dF%d",icount+1,ii);
+             if(ii<2)sprintf(volEnvSuppAng2HA[ii],"SH2%dA%d",icount+1,ii);
+             sprintf(volEnvSuppAng2HBC[ii],"SH2%dB%d",icount+1,ii);
+             sprintf(volEnvSuppAng2HD[ii],"SH2%dD%d",icount+1,ii);
+             sprintf(volEnvSuppAng2HE[ii],"SH2%dE%d",icount+1,ii);
+             sprintf(volEnvSuppAng2HF[ii],"SH2%dF%d",icount+1,ii);
+             if(ii<2)sprintf(volEnvSuppAng2VA[ii],"SV2%dA%d",icount+1,ii);
+             sprintf(volEnvSuppAng2VBC[ii],"SV2%dB%d",icount+1,ii);
+             sprintf(volEnvSuppAng2VD[ii],"SV2%dD%d",icount+1,ii);
+             sprintf(volEnvSuppAng2VE[ii],"SV2%dE%d",icount+1,ii);
+             sprintf(volEnvSuppAng2VF[ii],"SV2%dF%d",icount+1,ii);
+             if(ii<2)sprintf(volEnvSuppAng3HA[ii],"SH3%dA%d",icount+1,ii);
+             sprintf(volEnvSuppAng3HBC[ii],"SH3%dB%d",icount+1,ii);
+             sprintf(volEnvSuppAng3HD[ii],"SH3%dD%d",icount+1,ii);
+             sprintf(volEnvSuppAng3HE[ii],"SH3%dE%d",icount+1,ii);
+             sprintf(volEnvSuppAng3HF[ii],"SH3%dF%d",icount+1,ii);
+             if(ii<2)sprintf(volEnvSuppAng3VA[ii],"SV3%dA%d",icount+1,ii);
+             sprintf(volEnvSuppAng3VBC[ii],"SV3%dB%d",icount+1,ii);
+             sprintf(volEnvSuppAng3VD[ii],"SV3%dD%d",icount+1,ii);
+             sprintf(volEnvSuppAng3VE[ii],"SV3%dE%d",icount+1,ii);
+             sprintf(volEnvSuppAng3VF[ii],"SV3%dF%d",icount+1,ii);
+             if(ii<2)sprintf(volEnvSuppAng4HA[ii],"SH4%dA%d",icount+1,ii);
+             sprintf(volEnvSuppAng4HBC[ii],"SH4%dB%d",icount+1,ii);
+             sprintf(volEnvSuppAng4HD[ii],"SH4%dD%d",icount+1,ii);
+             sprintf(volEnvSuppAng4HE[ii],"SH4%dE%d",icount+1,ii);
+             sprintf(volEnvSuppAng4HF[ii],"SH4%dF%d",icount+1,ii);
+             if(ii<2)sprintf(volEnvSuppAng4VA[ii],"SV4%dA%d",icount+1,ii);
+             sprintf(volEnvSuppAng4VBC[ii],"SV4%dB%d",icount+1,ii);
+             sprintf(volEnvSuppAng4VD[ii],"SV4%dD%d",icount+1,ii);
+             sprintf(volEnvSuppAng4VE[ii],"SV4%dE%d",icount+1,ii);
+             sprintf(volEnvSuppAng4VF[ii],"SV4%dF%d",icount+1,ii);
+             if(ii<2)sprintf(volEnvSuppAngXHA[ii],"SHX%dA%d",icount+1,ii);
+             sprintf(volEnvSuppAngXHBC[ii],"SHX%dB%d",icount+1,ii);
+             sprintf(volEnvSuppAngXHD[ii],"SHX%dD%d",icount+1,ii);
+             sprintf(volEnvSuppAngXHE[ii],"SHX%dE%d",icount+1,ii);
+             sprintf(volEnvSuppAngXHF[ii],"SHX%dF%d",icount+1,ii);
+             if(ii<2)sprintf(volEnvSuppAngXVA[ii],"SVX%dA%d",icount+1,ii);
+             sprintf(volEnvSuppAngXVBC[ii],"SVX%dB%d",icount+1,ii);
+             sprintf(volEnvSuppAngXVD[ii],"SVX%dD%d",icount+1,ii);
+             sprintf(volEnvSuppAngXVE[ii],"SVX%dE%d",icount+1,ii);
+             sprintf(volEnvSuppAngXVF[ii],"SVX%dF%d",icount+1,ii);
            }
            tpar[0]= 0.;
            tpar[1]= 0.;
@@ -371,23 +370,23 @@ void AliMUONTriggerGeometryBuilder::CreateGeometry()
             gMC->Gsvolu(volAluAngSupportXH,"BOX",idAlu1,tpar,0);
            
 // gas pipes
-           char volInoxGasPipe[6];
-           sprintf(volInoxGasPipe,"PINO%d",icount+1);
-            char volEnvInoxGasPipe1A[2][6],volEnvInoxGasPipe1BC[4][7],volEnvInoxGasPipe1D[4][6],volEnvInoxGasPipe1E[4][6],volEnvInoxGasPipe1F[4][6];
-            char volEnvInoxGasPipe2A[2][6],volEnvInoxGasPipe2BC[4][7],volEnvInoxGasPipe2D[4][6],volEnvInoxGasPipe2E[4][6],volEnvInoxGasPipe2F[4][6];
+           char volInoxGasPipe[7];
+           sprintf(volInoxGasPipe,"SPINO%d",icount+1);
+            char volEnvInoxGasPipe1A[2][7],volEnvInoxGasPipe1BC[4][8],volEnvInoxGasPipe1D[4][7],volEnvInoxGasPipe1E[4][7],volEnvInoxGasPipe1F[4][7];
+            char volEnvInoxGasPipe2A[2][7],volEnvInoxGasPipe2BC[4][8],volEnvInoxGasPipe2D[4][7],volEnvInoxGasPipe2E[4][7],volEnvInoxGasPipe2F[4][7];
            for(Int_t ii=0;ii<4;ii++){
-             if(ii<2)sprintf(volEnvInoxGasPipe1A[ii],"P1%dA%d",icount+1,ii);
-             sprintf(volEnvInoxGasPipe1BC[ii],"P1%dBC%d",icount+1,ii);
-             sprintf(volEnvInoxGasPipe1D[ii],"P1%dD%d",icount+1,ii);
-             sprintf(volEnvInoxGasPipe1E[ii],"P1%dE%d",icount+1,ii);
-             sprintf(volEnvInoxGasPipe1F[ii],"P1%dF%d",icount+1,ii);
+             if(ii<2)sprintf(volEnvInoxGasPipe1A[ii],"SP1%dA%d",icount+1,ii);
+             sprintf(volEnvInoxGasPipe1BC[ii],"SP1%dBC%d",icount+1,ii);
+             sprintf(volEnvInoxGasPipe1D[ii],"SP1%dD%d",icount+1,ii);
+             sprintf(volEnvInoxGasPipe1E[ii],"SP1%dE%d",icount+1,ii);
+             sprintf(volEnvInoxGasPipe1F[ii],"SP1%dF%d",icount+1,ii);
            }
            for(Int_t ii=0;ii<4;ii++){
-             if(ii<2)sprintf(volEnvInoxGasPipe2A[ii],"P2%dA%d",icount+1,ii);
-             sprintf(volEnvInoxGasPipe2BC[ii],"P2%dBC%d",icount+1,ii);
-             sprintf(volEnvInoxGasPipe2D[ii],"P2%dD%d",icount+1,ii);
-             sprintf(volEnvInoxGasPipe2E[ii],"P2%dE%d",icount+1,ii);
-             sprintf(volEnvInoxGasPipe2F[ii],"P2%dF%d",icount+1,ii);
+             if(ii<2)sprintf(volEnvInoxGasPipe2A[ii],"SP2%dA%d",icount+1,ii);
+             sprintf(volEnvInoxGasPipe2BC[ii],"SP2%dBC%d",icount+1,ii);
+             sprintf(volEnvInoxGasPipe2D[ii],"SP2%dD%d",icount+1,ii);
+             sprintf(volEnvInoxGasPipe2E[ii],"SP2%dE%d",icount+1,ii);
+             sprintf(volEnvInoxGasPipe2F[ii],"SP2%dF%d",icount+1,ii);
            }
            tpar[0]= 0.;
            tpar[1]= 0.;
@@ -1697,17 +1696,20 @@ void AliMUONTriggerGeometryBuilder::SetTransformations()
 {
 /// Defines the transformations for the trigger chambers.
 
+    TGeoRotation st345inclination("rotbeam");
+    st345inclination.RotateX(-AliMUONConstants::St345Inclination());
+
     Double_t zpos1= AliMUONConstants::DefaultChamberZ(10); 
-    SetTranslation(16, TGeoTranslation(0., 0., zpos1));
+    SetTransformation(16, TGeoTranslation(0., 0, zpos1), st345inclination);
     
     zpos1= AliMUONConstants::DefaultChamberZ(11); 
-    SetTranslation(17, TGeoTranslation(0., 0., zpos1));
+    SetTransformation(17, TGeoTranslation(0., 0, zpos1), st345inclination);
 
     zpos1= AliMUONConstants::DefaultChamberZ(12); 
-    SetTranslation(18, TGeoTranslation(0., 0., zpos1));
+    SetTransformation(18, TGeoTranslation(0., 0, zpos1), st345inclination);
 
     zpos1= AliMUONConstants::DefaultChamberZ(13); 
-    SetTranslation(19, TGeoTranslation(0., 0., zpos1));
+    SetTransformation(19, TGeoTranslation(0., 0, zpos1), st345inclination);
 }
 
 //______________________________________________________________________________