SLIC  6.1.1
Simulation for the Linear Collider (SLIC) - Geant4 simulation application
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | List of all members
Module Class Reference

Base class for slic code modules that provides common functionality, such as logging to an output stream. More...

#include <Module.hh>

Inheritance diagram for Module:
CommandLineProcessor CommandQueue EventAction EventSource EventSourceManager FieldManager G4MagIntegratorStepperFactory HepPDTManager LcioFileNamer LcioHitsCollectionBuilder LcioManager MCParticleManager ModuleRegistry PhysicsListManager PrimaryGeneratorAction RunAction RunManager SlicApplication SlicMain SteppingAction TrackManager

Public Types

enum  ModuleStatus { eOkay = 0 , eNotInitialized = 1 , eBadState = 2 , eFatalError = 3 }
 

Public Member Functions

virtual ~Module ()
 
virtual void beginEvent (const G4Event *)
 
virtual void beginRun (const G4Run *)
 
virtual void cleanup ()
 
bool deleteOnExit ()
 
virtual void endEvent (const G4Event *)
 
virtual void endRun (const G4Run *)
 
const std::string & getName () const
 
ModuleStatus getStatus () const
 
virtual void initialize ()
 
LogStream & log ()
 
virtual void postTracking (const G4Track *)
 
virtual void preTracking (const G4Track *)
 
virtual void reset ()
 
virtual void stepping (const G4Step *)
 

Public Attributes

bool m_deleteOnExit
 
LogStream * m_log
 
std::string m_name
 
ModuleStatus m_status
 

Protected Member Functions

 Module (const std::string &name, bool deleteOnExit=true, bool autoRegister=true)
 

Detailed Description

Base class for slic code modules that provides common functionality, such as logging to an output stream.

Definition at line 25 of file Module.hh.

Member Enumeration Documentation

◆ ModuleStatus

Enumerator
eOkay 
eNotInitialized 
eBadState 
eFatalError 

Definition at line 27 of file Module.hh.

Constructor & Destructor Documentation

◆ Module()

Module ( const std::string &  name,
bool  deleteOnExit = true,
bool  autoRegister = true 
)
protected

Class constructor. Only subclasses can access this.

Parameters
[in]nameThe name of the Module.
[in]deleteOnExitWhether to call delete on this Module.
[in]autoRegisterWhether to automatically register this Module with the ModuleRegistry.

Definition at line 7 of file Module.cc.

References Module::getName(), Singleton< LogManager >::instance(), Singleton< ModuleRegistry >::instance(), Module::log(), Module::m_log, Module::m_name, LOG::name, LOG::okay, and LogStream::verbose().

◆ ~Module()

~Module ( )
virtual

Member Function Documentation

◆ beginEvent()

virtual void beginEvent ( const G4Event *  )
inlinevirtual

Begin of event hook.

Parameters
[in]eventThe G4Event.

Reimplemented in EventSourceWithInputFile, EventSourceManager, EventSource, StdHepEventSource, LHEEventSource, and LcioEventSource.

Definition at line 107 of file Module.hh.

◆ beginRun()

virtual void beginRun ( const G4Run *  )
inlinevirtual

Begin of run hook.

Parameters
[in]runThe G4Run.

Reimplemented in LcioManager, EventSourceWithInputFile, EventSourceManager, EventSource, StdHepEventSource, LHEEventSource, and LcioEventSource.

Definition at line 121 of file Module.hh.

◆ cleanup()

virtual void cleanup ( )
inlinevirtual

Cleaup the module before deletion.

Definition at line 83 of file Module.hh.

◆ deleteOnExit()

bool deleteOnExit ( )
inline

Get whether to delete the module.

Returns
Return true if the module should be deleted; false if not.

Definition at line 91 of file Module.hh.

References Module::m_deleteOnExit.

◆ endEvent()

virtual void endEvent ( const G4Event *  )
inlinevirtual

End of event hook.

Parameters
[in]eventThe G4Event.

Reimplemented in EventSourceManager, EventSource, and LcioManager.

Definition at line 114 of file Module.hh.

◆ endRun()

virtual void endRun ( const G4Run *  )
inlinevirtual

End run hook.

Parameters
[in]runThe G4Run.

Reimplemented in LcioManager, EventSourceManager, and EventSource.

Definition at line 128 of file Module.hh.

◆ getName()

const std::string& getName ( ) const
inline

Get the name of the module.

Returns
The name of the module.

Definition at line 54 of file Module.hh.

References Module::m_name.

Referenced by Module::Module(), Module::~Module(), ModuleRegistry::deregisterModule(), and ModuleRegistry::registerModule().

◆ getStatus()

ModuleStatus getStatus ( ) const
inline

Get the status of the module as a ModuleStatus enum.

Returns
The module's status.

Definition at line 62 of file Module.hh.

References Module::m_status.

◆ initialize()

virtual void initialize ( )
inlinevirtual

Perform initialization.

Reimplemented in SlicApplication.

Definition at line 69 of file Module.hh.

◆ log()

LogStream& log ( )
inline

Get the LogStream for this Module.

Returns
The Module's LogStream.

Definition at line 99 of file Module.hh.

References Module::m_log.

Referenced by EventSourceManager::EventSourceManager(), G4MagIntegratorStepperFactory::G4MagIntegratorStepperFactory(), HepPDTManager::HepPDTManager(), Module::Module(), SlicApplication::SlicApplication(), Module::~Module(), SlicApplication::~SlicApplication(), RunManager::abortRun(), LcioHitsCollectionBuilder::addParticleContributions(), RunManager::BeamOn(), EventSourceManager::beginRun(), EventSourceWithInputFile::beginRun(), SteppingAction::checkKillTrack(), EventSourceManager::createEventSource(), G4MagIntegratorStepperFactory::createG4MagIntegratorStepper(), LcioHitsCollectionBuilder::createHit(), PhysicsListManager::createPhysicsList(), MCParticleManager::createPrimary(), MCParticleManager::createVertex(), EventSourceManager::generate(), MCParticleManager::generateEvent(), PrimaryGeneratorAction::GeneratePrimaries(), SlicApplication::getErrorCodeString(), LcioFileNamer::getFieldValue(), EventSourceManager::getSourceTypeFromFileExtension(), SlicApplication::initialize(), HepPDTManager::loadParticleData(), SlicMain::main(), LcioManager::makeAutoname(), LcioManager::openLcioFile(), ModuleRegistry::print(), PhysicsListManager::printAvailablePhysicsLists(), GPSEventSource::printCurrentEvent(), ParticleGunEventSource::printCurrentEvent(), EventSourceManager::printNumEventsGenerated(), CommandLineProcessor::printOptions(), CommandQueue::printOut(), HepPDTManager::printParticleData(), SlicApplication::printSplashScreen(), CommandLineProcessor::printUsage(), CommandLineProcessor::printVersion(), CommandLineProcessor::process(), ModuleRegistry::registerModule(), SlicApplication::run(), TrackManager::saveTrackSummaries(), LcioManager::setDetectorName(), LcioManager::setFileExistsAction(), EventSourceWithInputFile::setFilename(), LcioManager::setFilename(), LcioHitsCollectionBuilder::setLongFlag(), EventSourceManager::setLorentzTransformationAngle(), PhysicsMessenger::SetNewValue(), SlicApplicationMessenger::SetNewValue(), FieldMessenger::SetNewValue(), GeneratorMessenger::SetNewValue(), LcioManager::setPath(), LcioHitsCollectionBuilder::setPDGFlag(), LcioManager::setRunNumber(), EventSourceManager::setupEventSource(), EventAction::startEventTimer(), RunAction::startRunTimer(), EventAction::stopEventTimer(), and RunAction::stopRunTimer().

◆ postTracking()

virtual void postTracking ( const G4Track *  )
inlinevirtual

Post-tracking hook called before G4Track deletion.

Parameters
[in]trackThe G4Track.

Definition at line 142 of file Module.hh.

◆ preTracking()

virtual void preTracking ( const G4Track *  )
inlinevirtual

Pre-tracking hook called for new G4Track objects.

Parameters
[in]trackThe G4Track.

Definition at line 135 of file Module.hh.

◆ reset()

virtual void reset ( )
inlinevirtual

Reset the state of the module.

Reimplemented in TrackManager, MCParticleManager, EventSourceWithInputFile, and EventSource.

Definition at line 76 of file Module.hh.

◆ stepping()

virtual void stepping ( const G4Step *  )
inlinevirtual

Stepping hook called before a G4Step is executed.

Parameters
[in]stepThe G4Step.

Definition at line 149 of file Module.hh.

Member Data Documentation

◆ m_deleteOnExit

bool m_deleteOnExit

Definition at line 156 of file Module.hh.

Referenced by Module::deleteOnExit().

◆ m_log

LogStream* m_log

Definition at line 155 of file Module.hh.

Referenced by Module::Module(), Module::~Module(), and Module::log().

◆ m_name

std::string m_name

Definition at line 154 of file Module.hh.

Referenced by Module::Module(), and Module::getName().

◆ m_status

ModuleStatus m_status

Definition at line 153 of file Module.hh.

Referenced by Module::getStatus().


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