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 | |
17 | void 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 | |
48 | // Switch on special cuts process |
49 | geant4->ProcessGeantCommand("/mcPhysics/setSpecialCuts true"); |
50 | |
51 | // ============================= |
52 | // AliRoot setup |
53 | // ============================= |
54 | |
55 | gROOT->LoadMacro("g4ConfigCommon.C"); |
56 | ConfigCommon(false); |
57 | } |