]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STRUCT/AliSHILvF.cxx
Adding the class for specifiing cut criterias
[u/mrichter/AliRoot.git] / STRUCT / AliSHILvF.cxx
index c50fc45f981e73bdadbfc1be97334075dd6a5ca1..0f993210b639ff1611603e5fa9bb32299de93b5f 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-/*
-$Log$
-Revision 1.17  2002/10/14 14:57:39  hristov
-Merging the VirtualMC branch to the main development branch (HEAD)
-
-Revision 1.12.6.2  2002/07/24 10:08:27  alibrary
-Updating VirtualMC
-
-Revision 1.16  2002/07/08 15:13:24  morsch
-Position of bellow.
-
-Revision 1.15  2002/05/30 11:58:34  morsch
-More robust geometry for bellows: use divisions and neg. parameters.
-
-Revision 1.14  2002/05/29 11:23:46  morsch
-Numerical overlap for 2nd bellow corrected.
-
-Revision 1.13  2002/05/02 12:50:06  morsch
-For G4: gMC->VolId(...) replaced by gAlice->GetModule(...).
-
-Revision 1.12  2002/01/21 11:31:21  morsch
-ALIFE output only on demand.
-
-Revision 1.11  2001/11/17 01:29:21  morsch
-Obsolete and wrong volume YXO5 removed.
-
-Revision 1.10  2001/11/16 08:57:42  morsch
-Volume YP32 obsolete.
-
-Revision 1.9  2001/11/12 10:19:30  morsch
-Correction of uninitialized array element problem.
-
-Revision 1.8  2001/10/25 08:50:57  morsch
-New beamshield geometry with increased tolerances and insulation thickness.
+/* $Id$ */
 
-Revision 1.6  2001/04/23 23:12:41  morsch
-Overlap in closing cone corrected (thanks to Ivana Hrivnacova)
-
-Revision 1.5  2001/03/16 16:26:05  morsch
-Put vacuum in beam-pipe not air.
-
-Revision 1.4  2001/01/31 11:55:27  hristov
-Loop variables declared once (required by HP)
-
-Revision 1.3  2001/01/30 12:28:27  morsch
-Recess station 1 changed do make space for chambers.
-
-Revision 1.2  2000/12/04 16:30:02  morsch
-Update to geometry defined for the Muon Spectrometer Addendum to the TDR.
-
-*/
+//-------------------------------------------------------------------------
+// MUON shielding class
+// Version producing Fluka output
+// Author: A.Morsch
+//-------------------------------------------------------------------------
 
+#include <TVirtualMC.h>
+#include <TArrayI.h>
 
 #include "AliSHILvF.h"
-#include "AliRun.h"
-#include "AliMC.h"
 #include "AliConst.h"
 #include "AliALIFE.h"
+#include "AliLog.h"
 
 ClassImp(AliSHILvF)
+
  
 //_____________________________________________________________________________
-AliSHILvF::AliSHILvF()
+AliSHILvF::AliSHILvF():
+    fPbCone(kTRUE),
+    fWriteGeometry(kTRUE)
 {
   //
   // Default constructor for muon shield
@@ -84,18 +44,15 @@ AliSHILvF::AliSHILvF()
  
 //_____________________________________________________________________________
 AliSHILvF::AliSHILvF(const char *name, const char *title)
-  : AliSHIL(name,title)
+    : AliSHIL(name,title),
+      fPbCone(kTRUE),
+      fWriteGeometry(kTRUE)
 {
   //
   // Standard constructor for muon shield
   //
-  SetMarkerColor(7);
-  SetMarkerStyle(2);
-  SetMarkerSize(0.4);
   // Pb  cone not yet compatible with muon chamber inner radii
   // Switched off by default
-  SetWriteGeometry();
-  SetPbCone();
 }
  
 //_____________________________________________________________________________
@@ -117,7 +74,7 @@ void AliSHILvF::CreateGeometry()
   //End_Html
 
     Float_t cpar[5], cpar0[5], tpar[3], par1[100], pars1[100], par2[100], par3[100], 
-       par4[21], par0[100];
+       par4[24], par0[100];
     Float_t dz, dZ;
   
     Int_t *idtmed = fIdtmed->GetArray()-1699;
@@ -643,11 +600,11 @@ enum {kC=1705, kAl=1708, kFe=1709, kCu=1710, kW=1711, kPb=1712,
 // begin Fluka
 //
   Float_t rf1[10], rf2[10];
-  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"};
   
   if (fWriteGeometry) {
@@ -700,13 +657,13 @@ enum {kC=1705, kAl=1708, kFe=1709, kCu=1710, kW=1711, kPb=1712,
 
 //
 // 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"};
      
   if (fWriteGeometry) {
@@ -794,11 +751,11 @@ enum {kC=1705, kAl=1708, kFe=1709, kCu=1710, kW=1711, kPb=1712,
   Float_t r3V = 0.;
   
   if (fWriteGeometry) {
-   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)");
@@ -1418,23 +1375,18 @@ enum {kC=1705, kAl=1708, kFe=1709, kCu=1710, kW=1711, kPb=1712,
 // Magnet element 
 //
   tpar[0]=0.;
-  tpar[1]=kR43;
-  tpar[2]=60.;
+  tpar[1]=40.;
+  tpar[2]=85.;
   gMC->Gsvolu("YAEM", "TUBE", idtmed[kAir], tpar, 3);
-  tpar[0]=kRAbs;
-  tpar[1]=kR43;
-  tpar[2]=60.;
+  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"); 
 
 //
-
-  if (gAlice->GetModule("HALL")) {
-      gMC->Gspos("YAEM", 1, "HUP2", 0., 0., 0., 0, "ONLY");
-  } else {
-      dz=kZvac12+60.;
-      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"); 
   
 // 
 //
@@ -1864,7 +1816,7 @@ void AliSHILvF::Init()
   //
   Int_t i;
   //
-  if(fDebug) {
+  if(AliLog::GetGlobalDebugLevel()>0) {
     printf("\n%s: ",ClassName());
     for(i=0;i<35;i++) printf("*");
     printf(" SHILvF_INIT ");