]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STRUCT/AliSHILv2.cxx
MC-dependent part of AliRun extracted in AliMC (F.Carminati)
[u/mrichter/AliRoot.git] / STRUCT / AliSHILv2.cxx
index 241b33d6bbb430d532c056e51fa15259a09c9e62..ca2ffdf5b80d84eadebd9f83a0e1d894bc323dd4 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"
     
@@ -90,6 +94,7 @@ void AliSHILv2::CreateGeometry()
 //
 // begin Fluka
   AliALIFE* flukaGeom = new AliALIFE("beamshield.alife", "beamshield_vol.inp");
+  
   Int_t i=0,ifl=0;
   Float_t posfluka[3]={0., 0., 0.};
   Float_t zfluka[12], rfluka1[12], rfluka2[12], rfluka3[12] ;  
@@ -230,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");
@@ -314,6 +320,7 @@ void AliSHILv2::CreateGeometry()
 
 //
 // begin Fluka
+       
   for (ifl=0; ifl<14; ifl++) {
       zfluka[ifl]=par1[3+3*ifl]+dl+kZRear-kDRear;
       rfluka1[ifl] = par1[4+3*ifl];
@@ -1440,7 +1447,7 @@ void AliSHILv2::CreateGeometry()
   tpar[1]= 40.;
   tpar[2]=85.;
   gMC->Gsvolu("YAEM", "TUBE", idtmed[kAir], tpar, 3);
-  tpar[0]=6.3/2.;
+  tpar[0]=17.6/2.;
   tpar[1]=40.;
   tpar[2]=85.;
   gMC->Gsvolu("YFEM", "TUBE", idtmed[kFe], tpar, 3);
@@ -1449,7 +1456,7 @@ void AliSHILv2::CreateGeometry()
 //
 
   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"); 
 
 
 // 
@@ -1550,7 +1557,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
 //
@@ -1593,8 +1600,7 @@ void AliSHILv2::CreateGeometry()
   ptubs[3] =   0.;
   ptubs[4] =  90.;  
   gMC->Gsvolu("YCR0", "TUBS", idtmed[kNiCuW], ptubs, 0);
-  Int_t idrotm[1799];
-  
+    
   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.); 
@@ -1720,7 +1726,7 @@ void AliSHILv2::CreateGeometry()
                  kZch22, kZvac6, posfluka,"NIW", "MF", "$SHS");
 
 */
-  if (fWriteGeometry) flukaGeom->Finish();
+  flukaGeom->Finish(!fWriteGeometry);
 
 // 
 // end Fluka