]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STRUCT/AliSHILv2.cxx
Adding a missing slash
[u/mrichter/AliRoot.git] / STRUCT / AliSHILv2.cxx
index cc37d8937e57fb82f804a9b29d5de9ea999cb295..15663c0736e6d57c460a9fa8bd52e8f48d6d4222 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
+/* $Id$ */
 
-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.
-
-*/
+//-------------------------------------------------------------------------
+// MUON shielding class
+// Default version
+// Author: A.Morsch
+//-------------------------------------------------------------------------
 
+#include <TVirtualMC.h>
+#include <TArrayI.h>
 
 #include "AliSHILv2.h"
-#include "AliRun.h"
-#include "AliMC.h"
 #include "AliConst.h"
 #include "AliALIFE.h"
+#include "AliLog.h"
 
 ClassImp(AliSHILv2)
  
@@ -88,7 +78,9 @@ void AliSHILv2::CreateGeometry()
     Float_t dz, dZ;
     
     Int_t *idtmed = fIdtmed->GetArray()-1699;
-    
+
+    Int_t idrotm[1799];
+
 #include "ABSOSHILConst.h"
 #include "SHILConst2.h"
     
@@ -103,6 +95,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] ;  
@@ -135,11 +128,11 @@ void AliSHILv2::CreateGeometry()
 
   par0[9]   = par0[6];
   par0[10]  = 0.;
-  par0[11]  = 17.9;
+  par0[11]  = kR11;
 
   par0[12]  = -dz+kZch12;
   par0[13]  = 0.;
-  par0[14]  = 17.9;
+  par0[14]  = kR11;
 
   par0[15]  = par0[12];
   par0[16]  = 0.;
@@ -217,13 +210,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.;
@@ -243,7 +236,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");
@@ -323,10 +317,11 @@ 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
+       
   for (ifl=0; ifl<14; ifl++) {
       zfluka[ifl]=par1[3+3*ifl]+dl+kZRear-kDRear;
       rfluka1[ifl] = par1[4+3*ifl];
@@ -614,21 +609,27 @@ 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] 
+  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)");
@@ -667,13 +668,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.;
@@ -756,11 +757,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)");
@@ -867,7 +868,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
@@ -929,7 +930,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;
@@ -1395,7 +1396,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");  
 //
@@ -1416,7 +1417,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.;
@@ -1441,22 +1442,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]=kR43;
-  tpar[2]=50.;
-  gMC->Gsvolu("YAEM", "TUBE", idtmed[kAir], tpar, 3);
-  tpar[0]=kRAbs;
-  tpar[1]=kR43;
-  tpar[2]=50.;
-  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=kZvac12+50.;
-  gMC->Gspos("YAEM", 1, "ALIC", 0., 0., dz, 0, "ONLY"); 
+  dz=1921.6 + tpar[2];
+
+//  gMC->Gspos("YAEM", 1, "ALIC", 0., 0., - dz, 0, "ONLY"); 
 
 
 // 
@@ -1551,13 +1555,13 @@ 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.;
   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
 //
@@ -1567,17 +1571,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");
 
 
@@ -1585,12 +1589,12 @@ 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);
-  dz=-(kZvac12-zstart)/2.+(kZch11-zstart)+cpar[0];
-  gMC->Gspos("YCS2", 1, "YMOT", 0., 0., dz, 0, "ONLY");
+//  gMC->Gsvolu("YCS2", "CONE", idtmed[kAir], cpar, 5);
+  
+//  gMC->Gspos("YCS2", 1, "ALIC", 0., 0., dz,  idrotm[1705], "ONLY");
 
   Float_t ptubs[5];
   ptubs[0] = kR11;
@@ -1599,44 +1603,42 @@ 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.); 
   AliMatrix(idrotm[1704],90., 270., 90.,   0., 0., 0.); 
   //  Int_t ipos;
-  
-  dz=-cpar[0];
+  dz= - kZch11;  
 // 1.
   ptubs[2]=6.5/2.;
-  dz+=ptubs[2];
-  gMC->Gsposp("YCR0", 1, "YCS2", 0., 0., dz, idrotm[1701], "ONLY", ptubs, 5);
-  gMC->Gsposp("YCR0", 2, "YCS2", 0., 0., dz, idrotm[1703], "ONLY", ptubs, 5);
-  dz+=ptubs[2];
-  dz+=1.5;
+  dz-=ptubs[2];
+  gMC->Gsposp("YCR0", 1, "ALIC", 0., 0., dz, idrotm[1701], "ONLY", ptubs, 5);
+  gMC->Gsposp("YCR0", 2, "ALIC", 0., 0., dz, idrotm[1703], "ONLY", ptubs, 5);
+  dz-=ptubs[2];
+  dz-=1.5;
 // 2.
   ptubs[2]=5.0/2.;
-  dz+=ptubs[2];
-  gMC->Gsposp("YCR0", 3, "YCS2", 0., 0., dz, idrotm[1702], "ONLY", ptubs, 5);
-  gMC->Gsposp("YCR0", 4, "YCS2", 0., 0., dz, idrotm[1704], "ONLY", ptubs, 5);
-  dz+=ptubs[2];
-  dz+=1.5;
+  dz-=ptubs[2];
+  gMC->Gsposp("YCR0", 3, "ALIC", 0., 0., dz, idrotm[1702], "ONLY", ptubs, 5);
+  gMC->Gsposp("YCR0", 4, "ALIC", 0., 0., dz, idrotm[1704], "ONLY", ptubs, 5);
+  dz-=ptubs[2];
+  dz-=1.5;
 // 3. 
   ptubs[2]=5.0/2.;
-  dz+=ptubs[2];
-  gMC->Gsposp("YCR0", 5, "YCS2", 0., 0., dz, idrotm[1701], "ONLY", ptubs, 5);
-  gMC->Gsposp("YCR0", 6, "YCS2", 0., 0., dz, idrotm[1703], "ONLY", ptubs, 5);
-  dz+=ptubs[2];
-  dz+=1.5;
+  dz-=ptubs[2];
+  gMC->Gsposp("YCR0", 5, "ALIC", 0., 0., dz, idrotm[1701], "ONLY", ptubs, 5);
+  gMC->Gsposp("YCR0", 6, "ALIC", 0., 0., dz, idrotm[1703], "ONLY", ptubs, 5);
+  dz-=ptubs[2];
+  dz-=1.5;
 // 4. 
   ptubs[2]=6.5/2.;
-  dz+=ptubs[2];
-  gMC->Gsposp("YCR0", 7, "YCS2", 0., 0., dz, idrotm[1702], "ONLY", ptubs, 5);
-  gMC->Gsposp("YCR0", 8, "YCS2", 0., 0., dz, idrotm[1704], "ONLY", ptubs, 5);
-  dz+=ptubs[2];
-  dz+=1.5;
+  dz-=ptubs[2];
+  gMC->Gsposp("YCR0", 7, "ALIC", 0., 0., dz, idrotm[1702], "ONLY", ptubs, 5);
+  gMC->Gsposp("YCR0", 8, "ALIC", 0., 0., dz, idrotm[1704], "ONLY", ptubs, 5);
+  dz-=ptubs[2];
+  dz-=1.5;
 
 
   
@@ -1645,8 +1647,8 @@ 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);
-  dz=-(kZvac12-zstart)/2.+(kZvac4-zstart)+cpar[0];
+  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");
 
   cpar[0]=(kZvac6-kZch22)/2.;
@@ -1654,8 +1656,8 @@ 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);
-  dz=-(kZvac12-zstart)/2.+(kZch22-zstart)+cpar[0];
+  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");
   
 // Recess station 2
@@ -1674,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.
@@ -1727,7 +1729,7 @@ void AliSHILv2::CreateGeometry()
                  kZch22, kZvac6, posfluka,"NIW", "MF", "$SHS");
 
 */
-  if (fWriteGeometry) flukaGeom->Finish();
+  flukaGeom->Finish(!fWriteGeometry);
 
 // 
 // end Fluka
@@ -1778,13 +1780,13 @@ 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.;
       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");
 
@@ -1793,12 +1795,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 +1818,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
@@ -1908,7 +1885,7 @@ void AliSHILv2::Init()
   //
   Int_t i;
   //
-  if(fDebug) {
+  if(AliLog::GetGlobalDebugLevel()>0) {
     printf("\n%s: ",ClassName());
     for(i=0;i<35;i++) printf("*");
     printf(" SHILv2_INIT ");