]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STRUCT/AliSHILv2.cxx
Removing warnings with gcc4 (F.Carminati)
[u/mrichter/AliRoot.git] / STRUCT / AliSHILv2.cxx
index be9b3bfede4fbbc57213aef5b419edb724cb918e..616ce5fb735c7beaa04b2d06243676470560e823 100644 (file)
 // Author: A.Morsch
 //-------------------------------------------------------------------------
 
+#include <TVirtualMC.h>
+#include <TArrayI.h>
+
 #include "AliSHILv2.h"
-#include "AliRun.h"
 #include "AliConst.h"
 #include "AliALIFE.h"
 
@@ -75,7 +77,9 @@ void AliSHILv2::CreateGeometry()
     Float_t dz, dZ;
     
     Int_t *idtmed = fIdtmed->GetArray()-1699;
-    
+
+    Int_t idrotm[1799];
+
 #include "ABSOSHILConst.h"
 #include "SHILConst2.h"
     
@@ -205,13 +209,13 @@ void AliSHILv2::CreateGeometry()
 
   par0[69] = -dz+kZch52;
   par0[70] = 0.;
-  par0[71] = 30.+(kZch52-kZConeE)*TMath::Tan(kThetaOpenPbO);
+  par0[71] =  30.+(kZch52+4.-kZConeE)*TMath::Tan(kThetaOpenPbO);
 
 // end of cone
 
   par0[72] = -dz+kZvac10;
   par0[73] = 0.;
-  par0[74] = 30.+(kZvac10-kZConeE)*TMath::Tan(kThetaOpenPbO);
+  par0[74] = par0[71];
 
   par0[75] = -dz+kZvac10;
   par0[76] = 0.;
@@ -231,7 +235,8 @@ void AliSHILv2::CreateGeometry()
 
   gMC->Gsvolu("YMOT", "PCON", idtmed[kVacuum], par0, 87);
   dz=zstart+dl;
-  gMC->Gspos("YMOT", 1, "ALIC", 0., 0., dz, 0, "ONLY"); 
+  AliMatrix(idrotm[1705], 270., 0., 90., 90., 180., 0.);
+  gMC->Gspos("YMOT", 1, "ALIC", 0., 0., - dz, idrotm[1705], "ONLY"); 
   gMC->Gsbool("YMOT","L3DO");
   gMC->Gsbool("YMOT","L3O1");
   gMC->Gsbool("YMOT","L3O2");
@@ -311,7 +316,7 @@ void AliSHILv2::CreateGeometry()
   Float_t rBox= par1[43]-0.1;
   Float_t rc1 = par1[7];
 
-  gMC->Gsvolu("YGO1", "PCON", idtmed[kNiCuW], par1, 45);
+  gMC->Gsvolu("YGO1", "PCON", idtmed[kNiCuW+40], par1, 45);
 
 //
 // begin Fluka
@@ -619,11 +624,11 @@ void AliSHILv2::CreateGeometry()
   rf2[5]=par1[7];
   rf2[6]=0.; //PH This has to be checked
   
-  char* materialsA[7] 
+  const char* materialsA[7] 
       = {"VACUUM", "STEEL", "PIPEINSU", "STEEL", "AIR", "AIR"};
-  char* fieldsA[7] 
+  const char* fieldsA[7] 
       = {"MF", "MF", "MF", "MF", "MF", "MF"};
-  char* cutsA[7] 
+  const char* cutsA[7] 
       = {"$SHH","$SHH","$SHH","$SHH","$SHH","$SHH","$SHH"};
 
   flukaGeom->Comment("1st part: Beam pipe lateral struture (left)");
@@ -662,13 +667,13 @@ void AliSHILv2::CreateGeometry()
 
 //
 // begin Fluka
-  char* materialsB[5] 
+  const char* materialsB[5] 
       = {"VACUUM", "STEEL", "PIPEINSU", "STEEL", "AIR"};
   
-  char* fieldsB[5] 
+  const char* fieldsB[5] 
       = {"MF", "MF", "MF", "MF", "MF"};
  
-  char* cutsB[5] 
+  const char* cutsB[5] 
       = {"$SHH","$SHH","$SHH","$SHH","$SHH"};
 
   rf1[0]=rf2[0]=0.;
@@ -751,11 +756,11 @@ void AliSHILv2::CreateGeometry()
 //
 // begin Fluka
 
-  char* materials1[8] 
+  const char* materials1[8] 
       = {"VACUUM", "STEEL", "PIPEINSU", "STEEL", "AIR", "NIW", "NIW", "STEEL"};
-  char* fields1[8] 
+  const char* fields1[8] 
       = {"MF", "MF", "MF", "MF", "MF", "MF", "MF", "MF"};
-  char* cuts1[8] 
+  const char* cuts1[8] 
       = {"$SHH","$SHH","$SHH","$SHH","$SHH","$SHH","$SHH","$SHH"};
 
   flukaGeom->Comment("2nd part: Beam shield lateral struture (0)");
@@ -862,7 +867,7 @@ void AliSHILv2::CreateGeometry()
   parPb[16]  =  r2+(kZvac7-kZvac4-10.) * TMath::Tan(kThetaOpen2);
   parPb[17]  = 30.;
 
-  gMC->Gsvolu("YXO2", "PCON", idtmed[kPb], parPb, 18);   
+  gMC->Gsvolu("YXO2", "PCON", idtmed[kPb+40], parPb, 18);        
   gMC->Gspos("YXO2", 1, "YGO2", 0., 0., (kZPb-kZvac4)/2., 0, "ONLY");  
 //
 // Concrete replacing Pb
@@ -924,7 +929,7 @@ void AliSHILv2::CreateGeometry()
   parW[13]  =  r2+(kZPb-kZvac4) * TMath::Tan(kThetaOpen2);
   parW[14]  = kZPb*TMath::Tan(kAccMin)-kDRSteel2;
 
-  gMC->Gsvolu("YYO2", "PCON", idtmed[kNiCuW], parW, 15);         
+  gMC->Gsvolu("YYO2", "PCON", idtmed[kNiCuW+40], parW, 15);      
   gMC->Gspos("YYO2", 1, "YGO2", 0., 0., -(kZvac7-kZPb)/2., 0, "ONLY");  
 
   for (i=4; i<35; i+=3) par2[i]  = 0;
@@ -1390,7 +1395,7 @@ void AliSHILv2::CreateGeometry()
   tpar[0]=kR41-kDRSteel2;
   tpar[1]=kR41;
   tpar[2]=(kZvac11-kZvac10)/2.;
-  gMC->Gsvolu("YS43", "TUBE", idtmed[kPb], tpar, 3);
+  gMC->Gsvolu("YS43", "TUBE", idtmed[kPb+40], tpar, 3);
   dz+=tpar[2];
   gMC->Gspos("YS43", 1, "YGO4", 0., 0., dz, 0, "ONLY");  
 //
@@ -1411,7 +1416,7 @@ void AliSHILv2::CreateGeometry()
   tpar[0]=kR42-5;
   tpar[1]=kR42;
   tpar[2]=(kZvac11-kZvac10)/2.;
-  gMC->Gsvolu("YPBO", "TUBE", idtmed[kPb], tpar, 3);
+  gMC->Gsvolu("YPBO", "TUBE", idtmed[kPb+40], tpar, 3);
   gMC->Gspos("YPBO", 1, "YPBI", 0., 0., 0., 0, "ONLY"); 
 
   tpar[2]=(zCC2-zCC1)/2.;
@@ -1436,22 +1441,25 @@ void AliSHILv2::CreateGeometry()
   dz=-(kZvac12-kZvac11)/2.+tpar[2];
   gMC->Gspos("YFEO", 1, "YFEI", 0., 0., dz, 0, "ONLY"); 
 //
+// The following element has been moved to ZDC
+//
 // Magnet element 
 //
-  tpar[0]=0.;
-  tpar[1]= 40.;
-  tpar[2]=85.;
-  gMC->Gsvolu("YAEM", "TUBE", idtmed[kAir], tpar, 3);
-  tpar[0]=6.3/2.;
-  tpar[1]=40.;
-  tpar[2]=85.;
-  gMC->Gsvolu("YFEM", "TUBE", idtmed[kFe], tpar, 3);
-  gMC->Gspos("YFEM", 1, "YAEM", 0., 0., 0., 0, "ONLY"); 
+//  tpar[0]=0.;
+//  tpar[1]= 40.;
+//  tpar[2]=85.;
+//  gMC->Gsvolu("YAEM", "TUBE", idtmed[kAir], tpar, 3);
+//  tpar[0]=17.6/2.;
+//  tpar[1]=40.;
+//  tpar[2]=85.;
+//  gMC->Gsvolu("YFEM", "TUBE", idtmed[kFe], tpar, 3);
+//  gMC->Gspos("YFEM", 1, "YAEM", 0., 0., 0., 0, "ONLY"); 
 
 //
 
   dz=1921.6 + tpar[2];
-  gMC->Gspos("YAEM", 1, "ALIC", 0., 0., dz, 0, "ONLY"); 
+
+//  gMC->Gspos("YAEM", 1, "ALIC", 0., 0., - dz, 0, "ONLY"); 
 
 
 // 
@@ -1552,7 +1560,7 @@ void AliSHILv2::CreateGeometry()
   tpar[2] -= 10.;
   gMC->Gsvolu("YFII","TUBE", idtmed[kFe], tpar, 3);
   gMC->Gspos("YFII", 1, "YFIM", 0., 0., 0., 0, "ONLY");
-  gMC->Gspos("YFIM", 1, "ALIC", 0., 0., dz, 0, "ONLY");
+  gMC->Gspos("YFIM", 1, "ALIC", 0., 0., dz, 0, "ONLY");
 //
 // Shielding close to chamber
 //
@@ -1562,17 +1570,17 @@ void AliSHILv2::CreateGeometry()
   cpar[2]=kZRear*TMath::Tan(kAccMin);
   cpar[3]=kR11;
   cpar[4]=(kZRear+2.*cpar[0])*TMath::Tan(kAccMin);
-  gMC->Gsvolu("YCS1", "CONE", idtmed[kNiCuW], cpar, 5);
+  gMC->Gsvolu("YCS1", "CONE", idtmed[kNiCuW+40], cpar, 5);
   dz=-(kZvac12-zstart)/2.+(kZRear-zstart)+cpar[0];
   gMC->Gspos("YCS1", 1, "YMOT", 0., 0., dz, 0, "ONLY");
 
-  cpar[0]=(kZvac4-kZch12)/2.;
-  cpar[1]=kR11;
-  cpar[2]=kZch12*TMath::Tan(kAccMin);
-  cpar[3]=kR11;
-  cpar[4]=(kZch12+2.*cpar[0])*TMath::Tan(kAccMin);
-  gMC->Gsvolu("YCS3", "CONE", idtmed[kNiCuW], cpar, 5);
-  dz=-(kZvac12-zstart)/2.+(kZch12-zstart)+cpar[0];
+  cpar[0]=(kZvac4-kZvac41)/2.;
+  cpar[1]=kR21;
+  cpar[2]=kZvac41*TMath::Tan(kAccMin);
+  cpar[3]=kR21;
+  cpar[4]=(kZvac41+2.*cpar[0])*TMath::Tan(kAccMin);
+  gMC->Gsvolu("YCS3", "CONE", idtmed[kNiCuW+40], cpar, 5);
+  dz=-(kZvac12-zstart)/2.+(kZvac41-zstart)+cpar[0];
   gMC->Gspos("YCS3", 1, "YMOT", 0., 0., dz, 0, "ONLY");
 
 
@@ -1580,7 +1588,7 @@ void AliSHILv2::CreateGeometry()
 
   cpar[0]=(kZch12-kZch11)/2.;
   cpar[1]=kR11;
-  cpar[2]=18.;
+  cpar[2]=17.9;
   cpar[3]=kR11;
   cpar[4]=17.9;
   gMC->Gsvolu("YCS2", "CONE", idtmed[kAir], cpar, 5);
@@ -1594,9 +1602,8 @@ void AliSHILv2::CreateGeometry()
 // phi_min, phi_max
   ptubs[3] =   0.;
   ptubs[4] =  90.;  
-  gMC->Gsvolu("YCR0", "TUBS", idtmed[kNiCuW], ptubs, 0);
-  Int_t idrotm[1799];
-  
+  gMC->Gsvolu("YCR0", "TUBS", idtmed[kNiCuW+40], ptubs, 0);
+    
   AliMatrix(idrotm[1701],90.,   0., 90.,  90., 0., 0.);
   AliMatrix(idrotm[1702],90.,  90., 90., 180., 0., 0.);
   AliMatrix(idrotm[1703],90., 180., 90., 270., 0., 0.); 
@@ -1640,7 +1647,7 @@ void AliSHILv2::CreateGeometry()
   cpar[2]=kZvac4*TMath::Tan(kAccMin);
   cpar[3]=kR21;
   cpar[4]=(kZvac4+2.*cpar[0])*TMath::Tan(kAccMin);
-  gMC->Gsvolu("YCS4", "CONE", idtmed[kNiCuW], cpar, 5);
+  gMC->Gsvolu("YCS4", "CONE", idtmed[kNiCuW+40], cpar, 5);
   dz=-(kZvac12-zstart)/2.+(kZvac4-zstart)+cpar[0];
   gMC->Gspos("YCS4", 1, "YMOT", 0., 0., dz, 0, "ONLY");
 
@@ -1649,7 +1656,7 @@ void AliSHILv2::CreateGeometry()
   cpar[2]=kZch22*TMath::Tan(kAccMin);
   cpar[3]=kR21;
   cpar[4]=(kZch22+2.*cpar[0])*TMath::Tan(kAccMin);
-  gMC->Gsvolu("YCS6", "CONE", idtmed[kNiCuW], cpar, 5);
+  gMC->Gsvolu("YCS6", "CONE", idtmed[kNiCuW+40], cpar, 5);
   dz=-(kZvac12-zstart)/2.+(kZch22-zstart)+cpar[0];
   gMC->Gspos("YCS6", 1, "YMOT", 0., 0., dz, 0, "ONLY");
   
@@ -1669,7 +1676,7 @@ void AliSHILv2::CreateGeometry()
   ptubs[2] =   0.;
   ptubs[3] =   0.;
   ptubs[4] =  90.;  
-  gMC->Gsvolu("YCR1", "TUBS", idtmed[kNiCuW], ptubs, 0);
+  gMC->Gsvolu("YCR1", "TUBS", idtmed[kNiCuW+40], ptubs, 0);
 
   dz=-cpar[0];
 // 1.
@@ -1779,7 +1786,7 @@ void AliSHILv2::CreateGeometry()
       par0[31]  = 30.;
       par0[32]  = par0[29];
 //
-      gMC->Gsvolu("YOPB", "PCON", idtmed[kPb], par0, 33);
+      gMC->Gsvolu("YOPB", "PCON", idtmed[kPb+40], par0, 33);
       Float_t dzs = -(kZvac12-zstart)/2. + (kZch32-zstart) + dl;
       gMC->Gspos("YOPB", 1, "YMOT", 0., 0., dzs, 0, "ONLY");