Extrusions in Y0PB corrected.
[u/mrichter/AliRoot.git] / STRUCT / AliSHILv2.cxx
index cc37d8937e57fb82f804a9b29d5de9ea999cb295..fbe6dfcd1504c631b02f0ee917dc190b0aa1444d 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-/*
-$Log$
-Revision 1.5  2002/10/14 14:57:39  hristov
-Merging the VirtualMC branch to the main development branch (HEAD)
-
-Revision 1.3.2.2  2002/10/11 08:04:28  hristov
-Updating VirtualMC to v3-09-02
-
-Revision 1.4  2002/09/02 15:32:15  morsch
-Gsbool calls to resolve MANY added (I. Hrivnacova)
-
-Revision 1.3  2002/07/25 10:00:08  morsch
-par4 size increased.
-
-Revision 1.2  2002/07/15 08:16:35  morsch
-New shield geometry.
-
-*/
+/* $Id$ */
 
+//-------------------------------------------------------------------------
+// MUON shielding class
+// Default version
+// Author: A.Morsch
+//-------------------------------------------------------------------------
 
 #include "AliSHILv2.h"
 #include "AliRun.h"
-#include "AliMC.h"
 #include "AliConst.h"
 #include "AliALIFE.h"
 
@@ -614,15 +601,21 @@ void AliSHILv2::CreateGeometry()
 // begin Fluka
 //
   Float_t rf1[10], rf2[10];
-  rf1[0]=0.; rf2[0]=0.;
+  rf1[0]=0.;
   rf1[1] = cpar0[1];
-  rf2[1] = cpar0[3];
+  rf1[2]=rf1[1]+0.15;
+  rf1[3]=rf1[2]+0.5;
+  rf1[4]=rf1[3]+0.1;
+  rf1[5]=par1[4];
+  rf1[6]=0.; //PH This has to be checked...
 
-
-  rf1[2]=rf1[1]+0.15; rf1[3]=rf1[2]+0.5; rf1[4]=rf1[3]+0.1;
-  rf1[5]=par1[4]; 
-  rf2[2]=rf2[1]+0.15; rf2[3]=rf2[2]+0.5; rf2[4]=rf2[3]+0.1; 
+  rf2[0]=0.;
+  rf2[1] = cpar0[3];
+  rf2[2]=rf2[1]+0.15;
+  rf2[3]=rf2[2]+0.5;
+  rf2[4]=rf2[3]+0.1; 
   rf2[5]=par1[7];
+  rf2[6]=0.; //PH This has to be checked
   
   char* materialsA[7] 
       = {"VACUUM", "STEEL", "PIPEINSU", "STEEL", "AIR", "AIR"};
@@ -1551,7 +1544,7 @@ void AliSHILv2::CreateGeometry()
 //  
   tpar[0] = 50.;
   tpar[1] = 310.;
-  tpar[2] = (kZFilterOut - kZFilterIn) / 4.;
+  tpar[2] = (kZFilterOut - kZFilterIn) / 2.;
   gMC->Gsvolu("YFIM", "TUBE", idtmed[kFe+40], tpar, 3);
   dz = (kZFilterIn + kZFilterOut) / 2.;
   tpar[2] -= 10.;
@@ -1778,7 +1771,7 @@ void AliSHILv2::CreateGeometry()
 
       par0[27]  = -dz + kZch52;
       par0[28]  = 30.;
-      par0[29]  = 30.+(kZch52-kZConeE)*TMath::Tan(kThetaOpenPbO);
+      par0[29]  = 30.+(kZch52+4.-kZConeE)*TMath::Tan(kThetaOpenPbO);
 // end of cone
       par0[30]  = +dl;
       par0[31]  = 30.;
@@ -1793,12 +1786,14 @@ void AliSHILv2::CreateGeometry()
 //
       par0[ 0]  = 0.;
       par0[ 1]  = 360.;
-      par0[ 2]  = 18.;
+      par0[ 2]  = 11.;
   
       par0[ 3]  = -dl;
       par0[ 5]  = 30.+(kZch32-kZConeE)*TMath::Tan(kThetaOpenPbO);
       par0[ 4]  = par0[ 5] - 4.;
+
 //    4th station
+
       par0[ 6]  = -dz + kZch41 - 4.;
       par0[ 8]  = 30.+(kZch41-4.-kZConeE)*TMath::Tan(kThetaOpenPbO);
       par0[ 7]  = par0[ 8] -4.;
@@ -1814,61 +1809,34 @@ void AliSHILv2::CreateGeometry()
       par0[15]  = -dz + kZch41;
       par0[17]  = 37.5;  
       par0[16]  = 33.5;
-                      
-      par0[18]  = -dz + kZch42;
+
+//    5th station
+
+      par0[18]  = -dz + kZch51;
       par0[20]  = 37.5;
       par0[19]  = 33.5;
 
-      par0[21]  = -dz + kZch42;
-      par0[23]  = 30.+(kZch42-kZConeE)*TMath::Tan(kThetaOpenPbO);  
+      par0[21]  = -dz + kZch52;
+      par0[23]  = 37.5;
       par0[22]  = 33.5;
 
-      par0[24]  = -dz + kZch42 + 4.;
-      par0[26]  = 30.+(kZch42+4.-kZConeE)*TMath::Tan(kThetaOpenPbO);
+      par0[24]  = -dz + kZch52;
+      par0[26]  = 30.+(kZch52-kZConeE)*TMath::Tan(kThetaOpenPbO);
       par0[25]  = 33.5;
 
-      par0[27]  = -dz + kZch42 + 4.;
-      par0[29]  = 30.+(kZch42+4.-kZConeE)*TMath::Tan(kThetaOpenPbO);
-      par0[28]  = par0[29] - 4.;
+      par0[27]  = -dz + kZch52 + 4.;
+      par0[29]  = 30.+(kZch52+4.-kZConeE)*TMath::Tan(kThetaOpenPbO);
+      par0[28]  = 33.5;
 
-//    5th station
-      par0[30]  = -dz + kZch51 - 4.;
-      par0[32]  = 30.+(kZch51-4.-kZConeE)*TMath::Tan(kThetaOpenPbO);
+      par0[30]  = -dz + kZch52 + 4.;
+      par0[32]  = 30.+(kZch52+4.-kZConeE)*TMath::Tan(kThetaOpenPbO);
       par0[31]  = par0[32] - 4.;
-      
-      par0[33]  = -dz + kZch51 - 4.;
-      par0[35]  = par0[32];
-      par0[34]  = 33.5;
 
-      par0[36]  = -dz + kZch51;
-      par0[38]  = 30.+(kZch51-kZConeE)*TMath::Tan(kThetaOpenPbO);
-      par0[37]  = 33.5;
-
-      par0[39]  = -dz + kZch51;
-      par0[41]  = 37.5;
-      par0[40]  = 33.5;
-
-      par0[42]  = -dz + kZch52;
-      par0[44]  = 37.5;
-      par0[43]  = 33.5;
-
-      par0[45]  = -dz + kZch52;
-      par0[47]  = 30.+(kZch52-kZConeE)*TMath::Tan(kThetaOpenPbO);
-      par0[46]  = 33.5;
-
-      par0[48]  = -dz + kZch52 + 4.;
-      par0[50]  = 30.+(kZch52+4.-kZConeE)*TMath::Tan(kThetaOpenPbO);
-      par0[49]  = 33.5;
-
-      par0[51]  = -dz + kZch52 + 4.;
-      par0[53]  = 30.+(kZch52+4.-kZConeE)*TMath::Tan(kThetaOpenPbO);
-      par0[52]  = par0[53] - 4.;
-
-      par0[54]  = +dl;
-      par0[56]  = par0[53];
-      par0[55]  = par0[52];
+      par0[33]  = +dl;
+      par0[35]  = par0[32];
+      par0[34]  = par0[31];
 
-      gMC->Gsvolu("YOSE",    "PCON", idtmed[kSteel], par0, 57);
+      gMC->Gsvolu("YOSE",    "PCON", idtmed[kSteel], par0, 36);
       gMC->Gspos ("YOSE", 1, "YOPB", 0., 0., 0., 0, "ONLY");
 //
 //    Concrete replacing lead