class that handles Geant4 SD simulation More...
#include <G4TankSimulator.h>
Public Types | |
enum | ResultFlag { eSuccess, eFailure, eBreakLoop, eContinueLoop } |
Flag returned by module methods to the RunController. More... | |
enum | VersionInfoType { eFilename = 1, eRevisionNumber = 2, eDate = 3, eTime = 4, eLastEditor = 5 } |
Different types of version info that can be retrieved from GetVersionInfo. More... | |
Public Member Functions | |
fwk::VModule::ResultFlag | Finish () |
Finish: invoked at end of the run (NOT end of the event) More... | |
G4TankSimulator () | |
utl::Stopwatch & | GetStopwatch () |
const utl::Stopwatch & | GetStopwatch () const |
std::string | GetVersionInfo (const VersionInfoType v) const |
Retrieve different sorts of module version info. More... | |
fwk::VModule::ResultFlag | Init () |
Initialize: invoked at beginning of run (NOT beginning of event) More... | |
void | InitTiming () |
fwk::VModule::ResultFlag | Run (evt::Event &theEvent) |
Run: invoked once per event. More... | |
ResultFlag | RunWithTiming (evt::Event &event) |
virtual | ~G4TankSimulator () |
Static Public Member Functions | |
static std::string | GetResultFlagByName (const ResultFlag flag) |
static bool | MuCaptureOn () |
Protected Types | |
enum | InfoLevel { eInfoNone = 0, eInfoFinal = 1, eInfoIntermediate = 2, eInfoDebug = 3 } |
Protected Attributes | |
int | fInfoLevel = 0 |
Private Member Functions | |
void | AddPhoton (const int nPMT, const double peTime) const |
void | ConstructTraces (sevt::Station &station) const |
REGISTER_MODULE ("G4TankSimulatorOG", G4TankSimulator) | |
fwk::VModule::ResultFlag | RunFast (evt::Event &theEvent) |
fwk::VModule::ResultFlag | RunFull (evt::Event &theEvent) |
Static Private Member Functions | |
static const sdet::Station * | GetCurrentDetectorStation () |
static sevt::SEvent::StationIterator | GetCurrentEventStationIt () |
static sevt::StationSimData::ParticleIterator | GetCurrentParticleIt () |
Private Attributes | |
bool | fDetectorConstructed |
std::string | fEventId |
bool | fFastMode |
bool | fGeoVisOn |
G4TankConstruction * | fgTankConstruction |
G4RunManager * | fRunManager |
SignalSeparationMode | fSignalSeparationMode |
G4TankStackingAction * | fStackingAction |
bool | fTrajVisOn |
G4UImanager * | fUImanager |
bool | fUseGlobalPhysicsList |
G4VisManager * | fVisManager |
Static Private Attributes | |
static const sdet::Station * | fCurrentDetectorStation = 0 |
static sevt::SEvent::StationIterator | fCurrentEventStationIt |
static sevt::StationSimData::ParticleIterator | fCurrentParticleIt |
static bool | fgMuCapture |
Friends | |
class | G4TankConstruction |
class | G4TankFastCerenkov |
class | G4TankPhysicsList |
class | G4TankPMTAction |
class | G4TankPrimaryGenerator |
class that handles Geant4 SD simulation
Definition at line 45 of file G4TankSimulatorOG/G4TankSimulator.h.
|
protectedinherited |
|
inherited |
Flag returned by module methods to the RunController.
Enumerator | |
---|---|
eSuccess |
Report success to RunController. |
eFailure |
Report failure to RunController, causing RunController to terminate execution. |
eBreakLoop |
Break current loop. It works for nested loops too! |
eContinueLoop |
Skip remaining modules in the current loop and continue with next iteration of the loop. |
|
inherited |
G4TankSimulator::G4TankSimulator | ( | ) |
Definition at line 69 of file G4TankSimulatorOG/G4TankSimulator.cc.
|
virtual |
Definition at line 83 of file G4TankSimulatorOG/G4TankSimulator.cc.
|
private |
Definition at line 417 of file G4TankSimulatorOG/G4TankSimulator.cc.
References utl::TimeDistribution< T >::AddTime(), sevt::StationConstants::eElectron, sevt::StationConstants::eHadron, sevt::StationConstants::eMuon, sevt::StationConstants::ePhoton, utl::Particle::eShowerFromLocalHadron, utl::Particle::eShowerFromMuonDecay, sevt::StationConstants::eShowerLocalHadronElectron, sevt::StationConstants::eShowerLocalHadronPhoton, sevt::StationConstants::eShowerMuonDecayElectron, sevt::StationConstants::eShowerMuonDecayPhoton, G4TankSimulatorOG::eStandard, sevt::StationConstants::eTotal, G4TankSimulatorOG::eUniversality, exit, fCurrentEventStationIt, fCurrentParticleIt, fSignalSeparationMode, sevt::PMTSimData::GetPETimeDistribution(), sevt::PMTSimData::HasPETimeDistribution(), sevt::PMTSimData::MakePETimeDistribution(), OFFLINE_ELECTRONS, OFFLINE_HADRONS, OFFLINE_MUONS, and OFFLINE_PHOTON.
Referenced by G4TankSimulatorOG::G4TankPMTAction::ProcessHits(), G4TankSimulatorOG::G4TankFastCerenkov::PropagateInInterface(), and G4TankSimulatorOG::G4TankFastCerenkov::TrackPhotonInTank().
|
private |
Definition at line 400 of file G4TankSimulatorOG/G4TankSimulator.cc.
References sevt::Station::GetSimData(), sevt::StationSimData::ParticlesBegin(), sevt::StationSimData::ParticlesEnd(), sevt::Station::PMTsBegin(), and sevt::Station::PMTsEnd().
|
virtual |
Finish: invoked at end of the run (NOT end of the event)
This method is for things that should be done at the end of the run (for example, closing files or writing out histograms) {You must override this method in your concrete module}
Implements fwk::VModule.
Definition at line 387 of file G4TankSimulatorOG/G4TankSimulator.cc.
References fwk::VModule::eSuccess, fRunManager, and fUseGlobalPhysicsList.
|
inlinestaticprivate |
Definition at line 62 of file G4TankSimulatorOG/G4TankSimulator.h.
References fCurrentDetectorStation.
Referenced by G4TankSimulatorOG::G4TankPrimaryGenerator::GeneratePrimaries(), G4TankSimulatorOG::G4TankFastCerenkov::GetDataFromConstruction(), and G4TankSimulatorOG::G4TankConstruction::SetDetectorParameters().
|
inlinestaticprivate |
Definition at line 65 of file G4TankSimulatorOG/G4TankSimulator.h.
References fCurrentEventStationIt.
|
inlinestaticprivate |
Definition at line 68 of file G4TankSimulatorOG/G4TankSimulator.h.
References fCurrentParticleIt.
Referenced by G4TankSimulatorOG::G4TankPrimaryGenerator::GeneratePrimaries().
|
staticinherited |
Definition at line 8 of file VModule.cc.
References fwk::VModule::eBreakLoop, fwk::VModule::eContinueLoop, fwk::VModule::eFailure, and fwk::VModule::eSuccess.
Referenced by fwk::RunController::DoNextInSequence(), fwk::RunController::FinishBranch(), and fwk::RunController::InitBranch().
|
inlineinherited |
Definition at line 106 of file VModule.h.
References fwk::VModule::fStopwatch.
|
inlineinherited |
Definition at line 107 of file VModule.h.
References fwk::VModule::fStopwatch.
|
inherited |
Retrieve different sorts of module version info.
Definition at line 26 of file VModule.cc.
Referenced by fwk::CentralConfig::GetConfig(), ThresholdCalculatorKG::ThresholdCalculator::Init(), fdDoubleBumpFinder::FdDoubleBumpFinder::Init(), LaserGeneratorNA::LaserGenerator::Init(), LaserLightSimulatorNA::LaserLightSimulator::Init(), FdElectronicsSimulatorOG::FdElectronicsSimulator::Init(), TelescopeSimulatorKG::TelescopeSimulator::Init(), TelescopeSimulatorKG2::TelescopeSimulator::Init(), SdSimpleSimKG::SdSimpleSim::Init(), ShowerPhotonGeneratorOG::ShowerPhotonGenerator::Init(), and testRunController::testModuleVersionInfo().
|
virtual |
Initialize: invoked at beginning of run (NOT beginning of event)
This method is for things that should be done once at the beginning of a run (for example, booking histograms, performing calculations that need to be done only once, initializing parameters) {You must override this method in your concrete module}
Implements fwk::VModule.
Definition at line 88 of file G4TankSimulatorOG/G4TankSimulator.cc.
References sdet::SDetector::AllStationsBegin(), G4TankSimulatorOG::eStandard, fwk::VModule::eSuccess, G4TankSimulatorOG::eUniversality, fCurrentDetectorStation, fDetectorConstructed, fFastMode, fGeoVisOn, fgMuCapture, fgTankConstruction, fRunManager, fSignalSeparationMode, fStackingAction, fTrajVisOn, fUImanager, fUseGlobalPhysicsList, fVisManager, G4TankConstruction, G4TankPhysicsList, utl::Branch::GetChild(), utl::Branch::GetData(), utl::Branch::GetTopBranch(), INFO, tls::Geant4Customization::SetEventAction(), tls::Geant4Customization::SetPrimaryGenerator(), tls::Geant4Customization::SetRunAction(), tls::Geant4Customization::SetStackingAction(), tls::Geant4Customization::SetSteppingAction(), and tls::Geant4Customization::SetTrackingAction().
|
inlineinherited |
Definition at line 95 of file VModule.h.
References fwk::VModule::fStopwatch, and utl::Stopwatch::Reset().
|
inlinestatic |
Definition at line 55 of file G4TankSimulatorOG/G4TankSimulator.h.
References fgMuCapture.
Referenced by G4TankSimulatorOG::G4TankPhysicsListCustomization::ActivateCustomProcesses(), and G4TankSimulatorOG::G4TankPhysicsList::ConstructEM().
|
private |
|
virtual |
Run: invoked once per event.
This method is for things that should be done once per event {You must override this method in your concrete module}
Implements fwk::VModule.
Definition at line 177 of file G4TankSimulatorOG/G4TankSimulator.cc.
References fwk::VModule::eFailure, ERROR, fCurrentDetectorStation, fDetectorConstructed, fFastMode, fGeoVisOn, fRunManager, fTrajVisOn, fUImanager, fUseGlobalPhysicsList, fVisManager, fwk::CoordinateSystemRegistry::Get(), sevt::SEvent::GetNumberOfStations(), sdet::SDetector::GetStation(), evt::Event::HasSEvent(), INFO, RunFast(), RunFull(), sevt::SEvent::StationsBegin(), and sevt::SEvent::StationsEnd().
|
private |
Definition at line 305 of file G4TankSimulatorOG/G4TankSimulator.cc.
References ConstructTraces(), fwk::VModule::eContinueLoop, fwk::VModule::eSuccess, fCurrentDetectorStation, fCurrentEventStationIt, fCurrentParticleIt, fDetectorConstructed, fgTankConstruction, fRunManager, G4TankConstruction, G4TankSimulatorOG::G4TankFastCerenkov::GetDataFromConstruction(), sdet::SDetector::GetStation(), sevt::StationSimData::GetTotalSimParticleCount(), INFO, sevt::StationSimData::ParticlesBegin(), sevt::StationSimData::ParticlesEnd(), sevt::StationSimData::SetSimulatorSignature(), sevt::StationSimData::SetTotalSimParticleCount(), sevt::SEvent::StationsBegin(), and sevt::SEvent::StationsEnd().
Referenced by Run().
|
private |
Definition at line 238 of file G4TankSimulatorOG/G4TankSimulator.cc.
References ConstructTraces(), fwk::VModule::eFailure, ERROR, fwk::VModule::eSuccess, fCurrentDetectorStation, fCurrentEventStationIt, fCurrentParticleIt, fDetectorConstructed, fRunManager, fStackingAction, sdet::SDetector::GetStation(), sevt::StationSimData::GetTotalSimParticleCount(), sevt::StationSimData::ParticlesBegin(), sevt::StationSimData::ParticlesEnd(), sevt::StationSimData::SetSimulatorSignature(), G4TankSimulatorOG::G4TankStackingAction::SetStation(), sevt::StationSimData::SetTotalSimParticleCount(), sevt::SEvent::StationsBegin(), and sevt::SEvent::StationsEnd().
Referenced by Run().
|
inlineinherited |
Definition at line 98 of file VModule.h.
References fwk::VModule::fStopwatch, fwk::VModule::Run(), utl::Stopwatch::Start(), and utl::Stopwatch::Stop().
Referenced by fwk::RunController::DoNextInSequence().
|
friend |
Definition at line 98 of file G4TankSimulatorOG/G4TankSimulator.h.
|
friend |
Definition at line 97 of file G4TankSimulatorOG/G4TankSimulator.h.
|
friend |
Definition at line 100 of file G4TankSimulatorOG/G4TankSimulator.h.
Referenced by Init().
|
friend |
Definition at line 99 of file G4TankSimulatorOG/G4TankSimulator.h.
|
friend |
Definition at line 96 of file G4TankSimulatorOG/G4TankSimulator.h.
|
staticprivate |
Definition at line 74 of file G4TankSimulatorOG/G4TankSimulator.h.
Referenced by GetCurrentDetectorStation(), Init(), Run(), RunFast(), and RunFull().
|
staticprivate |
Definition at line 75 of file G4TankSimulatorOG/G4TankSimulator.h.
Referenced by AddPhoton(), GetCurrentEventStationIt(), RunFast(), and RunFull().
|
staticprivate |
Definition at line 76 of file G4TankSimulatorOG/G4TankSimulator.h.
Referenced by AddPhoton(), GetCurrentParticleIt(), RunFast(), and RunFull().
|
private |
|
private |
Definition at line 94 of file G4TankSimulatorOG/G4TankSimulator.h.
|
private |
Definition at line 89 of file G4TankSimulatorOG/G4TankSimulator.h.
|
private |
Definition at line 83 of file G4TankSimulatorOG/G4TankSimulator.h.
|
staticprivate |
Definition at line 90 of file G4TankSimulatorOG/G4TankSimulator.h.
Referenced by Init(), and MuCaptureOn().
|
private |
Definition at line 92 of file G4TankSimulatorOG/G4TankSimulator.h.
|
protectedinherited |
Definition at line 123 of file VModule.h.
Referenced by RdChannelASCIINoiseImporterRD::RdChannelASCIINoiseImporterRD::Init(), Rd2dLDFFitter::Rd2dLDFFitter::Init(), RdChannelNoiseImporter_AERA::RdChannelNoiseImporter_AERA::Init(), and Rd2dLDFFitter::Rd2dLDFFitter::Run().
|
private |
|
private |
Definition at line 86 of file G4TankSimulatorOG/G4TankSimulator.h.
Referenced by AddPhoton(), and Init().
|
private |
Definition at line 81 of file G4TankSimulatorOG/G4TankSimulator.h.
|
private |
Definition at line 84 of file G4TankSimulatorOG/G4TankSimulator.h.
|
private |
Definition at line 79 of file G4TankSimulatorOG/G4TankSimulator.h.
|
private |
Definition at line 85 of file G4TankSimulatorOG/G4TankSimulator.h.
|
private |
Definition at line 80 of file G4TankSimulatorOG/G4TankSimulator.h.