16 #include "lcdd/core/LCDDParser.hh"
17 #include "lcdd/core/LCDDProcessor.hh"
20 #include "G4StateManager.hh"
21 #include "G4UImanager.hh"
26 Module(
"RunManager", false), m_abortRun(false) {
37 G4RunManager::GetRunManager()->SetUserInitialization(list);
40 G4RunManager::Initialize();
59 SetUserAction(genAction);
60 SetUserAction(runAction);
61 SetUserAction(eventAction);
62 SetUserAction(trackingAction);
63 SetUserAction(steppingAction);
64 SetUserAction(stackingAction);
81 G4RunManager::InitializePhysics();
84 LCDDProcessor* lcdd = LCDDProcessor::instance();
86 if (lcdd->getLimitSetsBegin() != lcdd->getLimitSetsEnd()) {
87 std::cout <<
"enabling phys limits" <<
std::endl;
93 std::cout <<
"setting up user limits processes" <<
std::endl;
103 if (!LCDDParser::instance()->isValidSetup()) {
109 G4RunManager::InitializeGeometry();
119 if (G4StateManager::GetStateManager()->GetCurrentState() != G4State_Idle) {
134 G4RunManager::BeamOn(n_event, macroFile, n_select);
static PhysicsListManager * instance()
Implementation of G4UserEventAction.
This singleton is responsible for managing physics event sources.
int getNumEventsGenerated()
void printNumEventsGenerated()
Base class for slic code modules that provides common functionality, such as logging to an output str...
Provides management of user physics lists.
void setupUserLimitsProcesses()
void enableLimits(bool enableLimits)
void setPluginManager(PluginManager *pluginManager)
Manages user sim plugins.
Messenger class for loading and destroying user sim plugins using macro commands.
Implementation of G4VUserPrimaryGeneratorAction.
Implementation of G4UserRunAction.
void InitializeGeometry()
PluginManager * m_pluginManager
void BeamOn(G4int nevent, const char *macroFile=0, G4int nselect=-1)
int m_numberOfEventsToRun
int getNumberOfEventsToRun()
Implemention of Geant4's G4UserStackingAction.
Implementation of G4UserSteppingAction.
Implementation of G4UserTrackingAction.