]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/Config_MUON_test.C
Installation scripts for various platforms introduced in the /scripts directory.
[u/mrichter/AliRoot.git] / MUON / Config_MUON_test.C
index e74130054c96218a175ba6f7622faf5476810db5..bfa13eccd7eff52680af405c9031dc4d0e6b1492 100644 (file)
@@ -6,7 +6,7 @@ void Config(char directory[100]="", char option[6]="box")
 {
   //
   // Config file for MUON test
-  // Gines MARITNEZ, Subatech, mai 2003, august 2003
+  // Gines MARTINEZ, Subatech, mai 2003, august 2003
   // 
 
   //=====================================================================
@@ -21,7 +21,7 @@ void Config(char directory[100]="", char option[6]="box")
   cout << ">>> Config_MUON_test.C: Creating Run Loader ..."<<endl;
   AliRunLoader* rl=0x0;
   rl = AliRunLoader::Open(
-       filename, AliConfig::fgkDefaultEventFolderName, "recreate");
+       filename, AliConfig::GetDefaultEventFolderName(), "recreate");
   if (rl == 0x0) {
     gAlice->Fatal("Config_MUON_test.C","Can not instatiate the Run Loader");
     return;
@@ -86,9 +86,9 @@ void Config(char directory[100]="", char option[6]="box")
   //=======================================================================
   if (!strcmp(option,"box")) {
     AliGenBox * gener = new AliGenBox(1);
-    gener->SetMomentumRange(17.,17.1);
-    gener->SetPhiRange(45.,45.01); //(-180., 180.);         
-      gener->SetThetaRange(4.000,4.001); //(2.000,9.000);
+    gener->SetMomentumRange(20.,20.1);
+    gener->SetPhiRange(0., 360.);         
+    gener->SetThetaRange(171.000,178.001);
     gener->SetPart(13);           // Muons
     gener->SetOrigin(0.,0., 0.);  //vertex position
     gener->SetSigma(0.0, 0.0, 0.0);         //Sigma in (X,Y,Z) (cm) on IP position
@@ -104,6 +104,16 @@ void Config(char directory[100]="", char option[6]="box")
     gener->SetOrigin(30,30,1200);//vertex position
     gener->SetPart(13);          //GEANT particle type  13 is muons
   }
+  if (!strcmp(option,"scan")) {
+    AliGenScan *gener = new AliGenScan(-1);
+    gener->SetMomentumRange(10,10);
+    gener->SetPhiRange(0, 0);
+    gener->SetThetaRange(-180, -180);
+    //vertex position
+    //gener->SetSigma(1,1,0);           //Sigma in (X,Y,Z) (cm) on IP position
+    gener->SetPart(kRootino); 
+    gener->SetRange(100, -300., 300., 100, -300., 300., 1, 2000, 2000);
+  }  
   if (!strcmp(option,"param")) {
     //*******************************************************
     // Example for J/psi or Upsilon Production from  Parameterisation *
@@ -111,30 +121,56 @@ void Config(char directory[100]="", char option[6]="box")
     AliGenParam *gener = new AliGenParam(1, AliGenMUONlib::kUpsilon);
     gener->SetMomentumRange(0,999);
     gener->SetPtRange(0,100.);
-    gener->SetPhiRange(-180, 180);
-    gener->SetYRange(2.5,4);
+    gener->SetPhiRange(0., 360.);
     gener->SetCutOnChild(1);
-    gener->SetChildThetaRange(2.0,9);
+    gener->SetChildPhiRange(0.,360.);
+    gener->SetChildThetaRange(171.0,178.0);
     gener->SetOrigin(0,0,0);          //vertex position    gener->SetSigma(0,0,0);           //Sigma in (X,Y,Z) (cm) on IP position
     gener->SetForceDecay(kDiMuon);
     gener->SetTrackingFlag(1);
+    gener->Init();
   }
-     
   //============================================================= 
   // Field (L3 0.4 T)
-  AliMagFMaps* field = new AliMagFMaps("Maps","Maps", 2, 1., 10., AliMagFMaps::k4kG);
-  gAlice->SetField(field);    
+  AliMagFMaps* field = new AliMagFMaps("Maps","Maps", 1, 1., 10., AliMagFMaps::k4kG);
+  gAlice->SetField(field);
 
   //=================== Alice BODY parameters =============================
   AliBODY *BODY = new AliBODY("BODY","Alice envelop");
-
-
+  //=================== ABSO parameters ============================
+  AliABSO *ABSO = new AliABSOv0("ABSO", "Muon Absorber");
+  //=================== DIPO parameters ============================
+  AliDIPO *DIPO = new AliDIPOv2("DIPO", "Dipole version 2");
+  //================== HALL parameters ============================
+  AliHALL *HALL = new AliHALL("HALL", "Alice Hall");
+  //=================== PIPE parameters ============================
+  AliPIPE *PIPE = new AliPIPEv0("PIPE", "Beam Pipe");
+  //=================== SHIL parameters ============================
+  AliSHIL *SHIL = new AliSHILv2("SHIL", "Shielding Version 2");
   //=================== MUON Subsystem ===========================
-  AliMUONv1 *MUON  = new AliMUONv1("MUON","default");
+  cout << ">>> Config_MUON_test.C: Creating AliMUONv1 ..."<<endl;
+  // Old MUONv1 version (renamed to MUONv3)
+  //AliMUONv3 *MUON  = new AliMUONv3("MUON","default"); 
+  
+  // New MUONv1 version (geometry defined via builders)
+  AliMUON *MUON = new AliMUONv1("MUON", "default");
   
+  //MUON->SetAlign(true);
+         // If align = true, the detection elements transformations
+        // are taken from the input files and not from the code
+  
+  //MUON->SetDebug(2);
+        // To check setting of transformations from input files
+       // set align = true, debug level = 2 and run with scan generator
+  
+  //MUON->AddGeometryBuilder(new AliMUONSt1GeometryBuilder(MUON));
+  MUON->AddGeometryBuilder(new AliMUONSt1GeometryBuilderV2(MUON));
+  MUON->AddGeometryBuilder(new AliMUONSt2GeometryBuilder(MUON));
+  MUON->AddGeometryBuilder(new AliMUONSlatGeometryBuilder(MUON));
+  MUON->AddGeometryBuilder(new AliMUONTriggerGeometryBuilder(MUON));
 }
 
-
 Float_t EtaToTheta(Float_t arg){
   return (180./TMath::Pi())*2.*atan(exp(-arg));
 }