]> git.uio.no Git - u/mrichter/AliRoot.git/blame - macros/g4Config.C
Coding conventions (Annalisa)
[u/mrichter/AliRoot.git] / macros / g4Config.C
CommitLineData
1fccbbe0 1// $Id$
2//
3// Configuration macro for running aliroot with Geant4.
4// All AliRoot specifics are defined in g4ConfigCommon.C
5//
6// In order to run aliroot with Geant4, you have to Initialize
7// AliRun with this g4Config.C
8//
9// aliroot
10// root [0] gAlice->Init("g4Config.C");
11// root [1] gAlice->Run();
12//
13// You can also start from a mini GUI - g4menu.C.
14// See description in this macro.
15
16
17void Config()
18{
19 // =============================
20 // Geant4
21 // =============================
22
23 // Load Geant4 + Geant4 VMC libraries
24 //
25 if (gClassTable->GetID("TGeant4") == -1) {
26 // Load Geant4 libraries
27 if (!gInterpreter->IsLoaded("$ALICE/geant4_vmc/examples/macro/g4libs.C")) {
28 gROOT->LoadMacro("$ALICE/geant4_vmc/examples/macro/g4libs.C");
29 gInterpreter->ProcessLine("g4libs()");
30 }
31 }
32
33 // Create Geant4 VMC
34 //
35 if (!gMC) {
36
37 TG4RunConfiguration* runConfiguration
38 = new TG4RunConfiguration(true);
39
40 TGeant4* geant4
41 = new TGeant4("TGeant4", "The Geant4 Monte Carlo", runConfiguration);
42
43 cout << "Geant4 has been created." << endl;
44 }
45 else
46 cout << "Monte Carlo has been already created." << endl;
47
7354fb71 48 // Switch on hadron physics
49 geant4->ProcessGeantCommand("/mcPhysics/setHadron true");
50
1fccbbe0 51 // Switch on special cuts process
52 geant4->ProcessGeantCommand("/mcPhysics/setSpecialCuts true");
9cc36300 53 geant4->ProcessGeantCommand("/run/particle/applyCuts");
1fccbbe0 54
55 // =============================
56 // AliRoot setup
57 // =============================
58
59 gROOT->LoadMacro("g4ConfigCommon.C");
60 ConfigCommon(false);
61}