4 // See the class description in the header file.
6 #include "AliRunConfiguration.h"
7 #include "AliRunMessenger.h"
8 #include "AliGlobals.h"
10 #include "AliDetConstruction.h"
11 #include "AliEmptyPhysicsList.h"
12 #include "AliPrimaryGeneratorAction.h"
13 #include "AliRunAction.h"
14 #include "AliEventAction.h"
15 #include "AliTrackingAction.h"
16 #include "AliStackingAction.h"
17 #include "AliSteppingAction.h"
19 #include "TG4PhysicsList.h"
21 AliRunConfiguration::AliRunConfiguration(){
23 fRunMessenger = new AliRunMessenger();
25 CreateUserConfiguration();
28 AliRunConfiguration::AliRunConfiguration(const AliRunConfiguration& right)
29 : TG4VRunConfiguration(right)
31 // TG4VRunConfiguration is protected from copying
34 AliRunConfiguration::~AliRunConfiguration() {
38 // all user action data members are deleted
39 // in G4RunManager::~G4RunManager()
45 AliRunConfiguration::operator=(const AliRunConfiguration& right)
47 // check assignement to self
48 if (this == &right) return *this;
50 // base class assignement
51 // TG4VRunConfiguration is protected from assigning
52 TG4VRunConfiguration::operator=(right);
59 void AliRunConfiguration::CreateUserConfiguration()
61 // Creates the mandatory Geant4 classes and
62 // the other user action classes.
65 // create mandatory Geant4 classes
66 fDetectorConstruction = new AliDetConstruction();
67 #ifndef ALICE_EMPTY_PHYSICS_LIST
68 fPhysicsList = new TG4PhysicsList();
70 fPhysicsList = new AliEmptyPhysicsList();
72 fPrimaryGenerator = new AliPrimaryGeneratorAction();
74 // create the other user action classes
75 fRunAction = new AliRunAction();
76 fEventAction = new AliEventAction();
77 fTrackingAction = new AliTrackingAction();
78 fSteppingAction = new AliSteppingAction();
80 fStackingAction = new AliStackingAction();