4 // See the class description in the header file.
6 #include "AliRunConfiguration.h"
7 #include "AliRunMessenger.h"
8 #include "AliDetConstruction.h"
9 #include "AliPrimaryGeneratorAction.h"
10 #include "AliRunAction.h"
11 #include "AliEventAction.h"
12 #include "AliTrackingAction.h"
13 #include "AliStackingAction.h"
16 #include "TG4ModularPhysicsList.h"
17 #include "TG4SteppingAction.h"
19 AliRunConfiguration::AliRunConfiguration(){
21 fRunMessenger = new AliRunMessenger();
22 fFiles = new AliFiles();
24 CreateUserConfiguration();
27 AliRunConfiguration::AliRunConfiguration(const AliRunConfiguration& right)
28 : TG4VRunConfiguration(right)
30 // TG4VRunConfiguration is protected from copying
33 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 fPhysicsList = new TG4ModularPhysicsList();
68 fPrimaryGenerator = new AliPrimaryGeneratorAction();
70 // create the other user action classes
71 fRunAction = new AliRunAction();
72 fEventAction = new AliEventAction();
73 fTrackingAction = new AliTrackingAction();
74 fSteppingAction = new TG4SteppingAction();
75 fStackingAction = new AliStackingAction();
80 void AliRunConfiguration::SetConfigName(const char* name)
82 // Sets the configuration macro name
84 fFiles->SetMacroName(name);
87 void AliRunConfiguration::SetG3CallsName(const char* name)
89 // Sets the configuration macro name
91 fFiles->SetG3CallsName(name);