]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STRUCT/AliBODY.cxx
made const array arguments of GetPredictedChi2 methods
[u/mrichter/AliRoot.git] / STRUCT / AliBODY.cxx
index da18a3997f16714a746cbb0e10bdf469fa3b69f7..be8d03f3af0bc78602b6145cfff6c2ed83537d18 100644 (file)
@@ -13,9 +13,7 @@
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-/*
-$Log$
-*/
+/* $Id$ */
 
 ///////////////////////////////////////////////////////////////////////////////
 //                                                                           //
@@ -38,8 +36,13 @@ $Log$
 //                                                                           //
 ///////////////////////////////////////////////////////////////////////////////
 
-#include "AliRun.h"
+#include <TGeoGlobalMagField.h>
+#include <TVirtualMC.h>
+#include <TArrayI.h>
+
 #include "AliBODY.h"
+#include "AliMagF.h"
+#include "AliRun.h"
 
 ClassImp(AliBODY)
  
@@ -58,9 +61,9 @@ AliBODY::AliBODY(const char *name, const char *title)
   //
   // Standard constructor of the Alice external volume
   //
-  SetMarkerColor(7);
-  SetMarkerStyle(2);
-  SetMarkerSize(0.4);
+  //PH  SetMarkerColor(7);
+  //PH  SetMarkerStyle(2);
+  //PH  SetMarkerSize(0.4);
 }
  
 //_____________________________________________________________________________
@@ -92,81 +95,57 @@ void AliBODY::CreateGeometry()
   */
   //End_Html
 
-  Float_t DALIC[10];
+  Float_t dALIC[10];
   Int_t *idtmed = fIdtmed->GetArray()+1;
   //
   if(gAlice->GetModule("ZDC")) {
     //
-    // If the ZDC is present we have an asymmetric box
-    // made by a four sides polygone
+    dALIC[0]=2500.;
+    dALIC[1]=2500.;
+    dALIC[2]=15000.;
+    TVirtualMC::GetMC()->Gsvolu("ALIC","BOX ",idtmed[1],dALIC,3);
+  } else if ( gAlice->GetModule("ACORDE")) {
+    //
+    // If the Cosmic Ray Trigger  is present we need a large box
+    // 
     //
-    DALIC[0]=45;
-    DALIC[1]=360;
-    DALIC[2]=4;
-    DALIC[3]=2;
-    DALIC[4]=-3000;
-    DALIC[5]=0;
-    DALIC[6]=2000;
-    DALIC[7]=15000;
-    DALIC[8]=0;
-    DALIC[9]=2000;
-    gMC->Gsvolu("ALIC","PGON",idtmed[1],DALIC,10);
+    dALIC[0]=13000.;
+    dALIC[1]=5000.;
+    dALIC[2]=13000.;
+    TVirtualMC::GetMC()->Gsvolu("ALIC","BOX ",idtmed[1],dALIC,3);
+      
   } else {
     //
-    // If the ZDC is not present make just a BOX
+    // If the ZDC and ACORDE are not present make just a BOX
     //
-    DALIC[0]=2000;
-    DALIC[1]=2000;
-    DALIC[2]=3000;
-    gMC->Gsvolu("ALIC","BOX ",idtmed[1],DALIC,3);
+    dALIC[0]=2000;
+    dALIC[1]=2000;
+    dALIC[2]=3000;
+    TVirtualMC::GetMC()->Gsvolu("ALIC","BOX ",idtmed[1],dALIC,3);
   }
 }
  
 //_____________________________________________________________________________
 void AliBODY::CreateMaterials()
 {
-  Int_t ISXFLD = gAlice->Field()->Integ();
-  Float_t SXMGMX = gAlice->Field()->Max();
-  //
-  AliMaterial(1,"Vacuum  $",1.e-16,1.e-16,1.e-16,1.e16,1.e16);
-  AliMaterial(2,"Air     $",14.61,7.3,0.001205,30420,67500);
+// Create materials and media
+  Int_t isxfld = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField())->Integ();
+  Float_t sxmgmx = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField())->Max();
+  
+  // AIR
+
+  Float_t aAir[4]={12.0107,14.0067,15.9994,39.948};
+  Float_t zAir[4]={6.,7.,8.,18.};
+  Float_t wAir[4]={0.000124,0.755267,0.231781,0.012827};
+  Float_t dAir = 1.20479E-3 * 960./1014.;
+  Float_t dAir1 = 1.20479E-10;
+  //
+  AliMixture(1,"Vacuum  $",aAir,zAir,dAir1,4,wAir);
+  AliMixture(2,"Air     $",aAir,zAir,dAir,4,wAir);
   AliMaterial(3,"Be      $", 9.01,4 ,1.848   ,35.30,36.70);
   //
-  AliMedium(1,"Vacuum  $",1,0,ISXFLD,SXMGMX,10,1,0.1,0.1,10);
-  AliMedium(2,"Air     $",2,0,ISXFLD,SXMGMX,10,-1,-0.1,0.1 ,-10);
-  AliMedium(3,"Be pipe $",3,0,ISXFLD,SXMGMX,10,0.1,0.1,0.01,0.01);
-}
-//_____________________________________________________________________________
-void AliBODY::DrawModule()
-{
-  //
-  // Draw a view of the Alice outside box
-  //
-  // Set everything unseen
-  gMC->Gsatt("*", "seen", -1);
-  // 
-  // Set ALIC mother visible
-  gMC->Gsatt("ALIC","SEEN",1);
-  //
-  // Set the volumes visible
-  //
-  gMC->Gdopt("hide","off");
-  if(gAlice->GetModule("ZDC")) {
-    //
-    // ZDC is present
-    //
-    gMC->DefaultRange();
-    gMC->Gdraw("alic", 40, 30, 0, 15, 10, .0014, .0014);
-    gMC->Gdhead(1111, "Aice Main body with Zero Degree Calorimeter");
-  } else {
-    //
-    // ZDC is not present
-    //
-    gMC->Gdraw("alic", 40, 30, 0, 10, 9, .0027, .0027);
-    gMC->Gdhead(1111, "Aice Main body");
-  }
-  gMC->Gdman(18, 4, "MAN");
+  AliMedium(1,"Vacuum  $",1,0,isxfld,sxmgmx,10,1,0.1,0.1,10);
+  AliMedium(2,"Air     $",2,0,isxfld,sxmgmx,10,-1,-0.1,0.1 ,-10);
+  AliMedium(3,"Be pipe $",3,0,isxfld,sxmgmx,10,0.1,0.1,0.01,0.01);
 }
  
-