OMSim
Geant4 for IceCube optical module studies
OMSim Class Reference

Controls the main simulation process. More...

Detailed Description

The OMSim class is the top-level controller for the simulation. It sets up and manages the individual components of the Geant4 simulation, such as the run manager, the visualization manager, and the navigator. It also enables user interaction with the simulation through a command line interface and visualisation tools. This class is used in the main function of all studies as provides the basic flow of control of any Geant4 simulation.

Public Member Functions

void initialiseSimulation (OMSimDetectorConstruction *pDetectorConstruction)
 Initialize the simulation constructing all Geant instances.
 
void configureLogger ()
 
bool handleArguments (int pArgumentCount, char *pArgumentVector[])
 Parses the user arguments into variables that can be accessed in the simulation via OMSimCommandArgsTable. More...
 
void startVisualisation ()
 uiEx session is started for visualisation.
 
G4Navigator * getNavigator ()
 
void extendOptions (po::options_description pNewOptions)
 Adds options from the different simulation modules to the option description list (what is printed in –help).
 

Public Attributes

po::options_description m_generalOptions
 

Private Member Functions

void initialLoggerConfiguration ()
 
int determineNumberOfThreads ()
 
po::variables_map parseArguments (int pArgumentCount, char *pArgumentVector[])
 Parses user terminal arguments to a variables map.
 
void setUserArgumentsToArgTable (po::variables_map pVariablesMap)
 Sets variables from a variables map to the instance of OMSimCommandArgsTable.
 
void setGeneralOptions ()
 

Private Attributes

std::unique_ptr< G4MTRunManager > m_runManager
 
std::unique_ptr< G4VisExecutive > m_visManager
 
std::unique_ptr< G4VUserPhysicsList > m_physics
 
std::unique_ptr< G4TouchableHistory > m_history
 
std::unique_ptr< G4Navigator > m_navigator
 
std::chrono::high_resolution_clock::time_point m_startingTime
 

Member Function Documentation

◆ handleArguments()

bool OMSim::handleArguments ( int  p_argumentCount,
char *  p_argumentVector[] 
)
Returns
true if simulation should continue, if –help is called it will return false and stop the program

The documentation for this class was generated from the following files: