]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - macros/g4menu.C
ATO-98 1.) distinguish between the refX radius and extrapolation radius 2.) Adding...
[u/mrichter/AliRoot.git] / macros / g4menu.C
index e55f474dd507f6d2ea374096b7f9d475b0d28fbc..5e55d13b89d63d813c8fcf03841886c8fd1df581 100644 (file)
@@ -30,12 +30,20 @@ void g4menu()
     gROOT->LoadMacro("$ALICE/geant4_vmc/examples/macro/g4libs.C");
   gInterpreter->ProcessLine("g4libs()");
 
+  // Load ALICE Geant4 library
+  //cout << "Loading g4alice library ..." << endl;
+  //gSystem->Load("libg4alice");
+
   // Menu
   TControlBar* menu = new TControlBar("vertical","Alice Geant4 menu");
   
   menu->AddButton("Geometry", "MakeGeometry()",  "Generate Root geometry file");
-  menu->AddButton("Run",      "RunSimulation()",  "Process Alice run");
-  menu->AddButton("Init",     "Init()",  "Initialize Alice for simulation");
+  menu->AddButton("Run G4",   "RunG4Simulation()",  "Process Alice run");
+  menu->AddButton("Run G4 batch",   "RunG4Simulation(); >& g4.out",  "Process Alice run");
+  menu->AddButton("Run G3",   "RunG3Simulation()",  "Process Alice run");
+  menu->AddButton("Run G3 batch",   "RunG3Simulation(); >& g3.out",  "Process Alice run");
+  menu->AddButton("Init",     "Init();",  "Initialize Alice for G4 simulation");
+  menu->AddButton("Init batch","Init(); >& g4init.out",  "Initialize Alice for G4 simulation");
   menu->AddButton("Geant4UI", "StartGeant4UI()","Go to Geant4 Interactive session");
   menu->AddButton("AGDD",     "GenerateAGDD()","Generate XML (AGDD) file with geometry description");
   //menu->AddButton("GDML",     "GenerateGDML()","Generate XML (GDML) file with geometry description");
@@ -65,9 +73,14 @@ void g4menu()
 void MakeGeometry()
 {  
   AliCDBManager* man = AliCDBManager::Instance();
-  man->SetDefaultStorage("local://$ALICE_ROOT");
+  man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
   man->SetRun(1);
-  gAlice->Init("$ALICE_ROOT/macros/g4ConfigGeometry.C");
+
+  // MC application initialization
+  TString configFileName = "$ALICE_ROOT/macros/g4ConfigGeometry.C";
+  gROOT->LoadMacro(configFileName.Data());
+  gInterpreter->ProcessLine(gAlice->GetConfigFunction());
+  gAlice->GetMCApp()->Init();
   
   // Generate geometry file
   //
@@ -84,9 +97,16 @@ void MakeGeometry()
 void Init()
 {  
   AliCDBManager* man = AliCDBManager::Instance();
-  man->SetDefaultStorage("local://$ALICE_ROOT");
+  man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
   man->SetRun(0);
-  gAlice->Init("$ALICE_ROOT/macros/g4Config.C");
+  // MC application initialization
+  TString configFileName = "$ALICE_ROOT/macros/g4Config.C";
+  gROOT->LoadMacro(configFileName.Data());
+  gInterpreter->ProcessLine(gAlice->GetConfigFunction());
+  gAlice->GetMCApp()->Init();
+
+  ((TGeant4*)gMC)->ProcessGeantCommand("/mcDet/printMedia");
 
   cout << endl
        << "Only MonteCarlo initialization has been performed. " << endl
@@ -94,13 +114,33 @@ void Init()
 }    
 
 
-void RunSimulation()
+void RunG4Simulation()
 {  
   AliSimulation sim("$ALICE_ROOT/macros/g4Config.C");
+  sim.SetMakeSDigits("");
   sim.SetMakeDigits("");
+  //sim.SetMakeDigitsFromHits("ITS TPC");
+  //sim.SetMakeDigitsFromHits("ITS");
+  sim.SetMakeDigitsFromHits("");
+  sim.SetRunHLT("");
+  sim.SetNumberOfEvents(1000);
+  TStopwatch timer;
+  timer.Start();
+  sim.Run(1);
+  timer.Stop();
+  timer.Print();
+}    
+
+void RunG3Simulation()
+{  
+  AliSimulation sim("$ALICE_ROOT/macros/g3Config.C");
   sim.SetMakeSDigits("");
+  sim.SetMakeDigits("");
+  //sim.SetMakeDigitsFromHits("ITS TPC");
+  //sim.SetMakeDigitsFromHits("ITS");
+  sim.SetMakeDigitsFromHits("");
   sim.SetRunHLT("");
-  sim.SetNumberOfEvents(1);
+  sim.SetNumberOfEvents(1000);
   TStopwatch timer;
   timer.Start();
   sim.Run(1);