class that handles Geant4 SD simulation More...
#include <G4XTankSimulator.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... | |
G4XTankSimulator () | |
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 | ~G4XTankSimulator () |
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 | ConstructTraces (sevt::Station &station) const |
REGISTER_MODULE ("G4XTankSimulatorAG", G4XTankSimulator) | |
fwk::VModule::ResultFlag | RunFast (evt::Event &theEvent) |
fwk::VModule::ResultFlag | RunFull (evt::Event &theEvent) |
Static Private Member Functions | |
static sevt::StationConstants::SignalComponent | GetComponentId (const sevt::StationSimData::ConstParticleIterator currentParticle) |
retrieve the station signal component from particle type More... | |
static sevt::StationConstants::SignalComponent | GetCurrentComponent () |
static const sdet::Station * | GetCurrentDetectorStation () |
static sevt::SEvent::StationIterator | GetCurrentEventStationIt () |
static sevt::StationSimData::ParticleIterator | GetCurrentParticleIt () |
Private Attributes | |
float | fDepth = 0 |
bool | fDetectorConstructed = false |
std::string | fEventId |
bool | fFastMode = false |
bool | fGeoVisOn = false |
G4XTankConstruction * | fgTankConstruction = nullptr |
G4RunManager * | fRunManager = nullptr |
G4XTankStackingAction * | fStackingAction = nullptr |
G4XTankSteppingAction * | fSteppingAction = nullptr |
bool | fStoreOnGrdPart = false |
bool | fTrajVisOn = false |
G4UImanager * | fUImanager = nullptr |
bool | fUseGlobalPhysicsList = false |
G4VisManager * | fVisManager = nullptr |
Static Private Attributes | |
static const sdet::Station * | fCurrentDetectorStation = nullptr |
static sevt::SEvent::StationIterator | fCurrentEventStationIt |
static sevt::StationSimData::ParticleIterator | fCurrentParticleIt |
static bool | fgMuCapture = false |
static G4XTankPMT * | fgPMTAction = nullptr |
Friends | |
class | G4XTankConstruction |
class | G4XTankFastCerenkov |
class | G4XTankPhysicsList |
class | G4XTankPMT |
class | G4XTankPMTAction |
class | G4XTankPrimaryGenerator |
class that handles Geant4 SD simulation
Definition at line 45 of file G4XTankSimulator.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 |
|
inline |
Definition at line 48 of file G4XTankSimulator.h.
|
inlinevirtual |
Definition at line 49 of file G4XTankSimulator.h.
|
private |
Definition at line 603 of file G4XTankSimulator.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 588 of file G4XTankSimulator.cc.
References io::eSuccess.
|
staticprivate |
retrieve the station signal component from particle type
Definition at line 80 of file G4XTankSimulator.cc.
References sevt::StationConstants::eElectron, sevt::StationConstants::eHadron, sevt::StationConstants::eMuon, sevt::StationConstants::ePhoton, sevt::StationConstants::eTotal, OFFLINE_ELECTRONS, OFFLINE_HADRONS, OFFLINE_MUONS, and OFFLINE_PHOTON.
Referenced by GetCurrentComponent().
|
inlinestaticprivate |
Definition at line 70 of file G4XTankSimulator.h.
References fCurrentParticleIt, and GetComponentId().
|
inlinestaticprivate |
Definition at line 61 of file G4XTankSimulator.h.
References fCurrentDetectorStation.
Referenced by G4XTankSimulatorAG::G4XTankPrimaryGenerator::GeneratePrimaries(), G4XTankSimulatorAG::G4XTankFastCerenkov::GetDataFromConstruction(), and G4XTankSimulatorAG::G4XTankConstruction::SetDetectorParameters().
|
inlinestaticprivate |
Definition at line 64 of file G4XTankSimulator.h.
References fCurrentEventStationIt.
Referenced by G4XTankSimulatorAG::G4XTankPMTAction::ProcessHits().
|
inlinestaticprivate |
Definition at line 67 of file G4XTankSimulator.h.
References fCurrentParticleIt.
Referenced by G4XTankSimulatorAG::G4XTankPrimaryGenerator::GeneratePrimaries(), and G4XTankSimulatorAG::G4XTankPMTAction::ProcessHits().
|
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 98 of file G4XTankSimulator.cc.
References ERROR, io::eSuccess, sdet::Station::ExistsAssociatedCounter(), utl::Branch::GetChild(), mdet::MDetector::GetCounter(), utl::Branch::GetData(), sdet::Station::GetId(), det::MPositionable< Config >::GetLocalCoordinateSystem(), det::MPositionable< Config >::GetPosition(), utl::Branch::GetTopBranch(), utl::BasicVector< HepVector >::GetZ(), INFO, utl::m, mdet::Counter::ModulesBegin(), tls::Geant4Customization::SetEventAction(), tls::Geant4Customization::SetPrimaryGenerator(), tls::Geant4Customization::SetRunAction(), tls::Geant4Customization::SetStackingAction(), tls::Geant4Customization::SetSteppingAction(), tls::Geant4Customization::SetTrackingAction(), sdet::SDetector::StationsBegin(), and sdet::SDetector::StationsEnd().
|
inlineinherited |
Definition at line 95 of file VModule.h.
References fwk::VModule::fStopwatch, and utl::Stopwatch::Reset().
|
inlinestatic |
Definition at line 55 of file G4XTankSimulator.h.
References fgMuCapture.
Referenced by G4XTankSimulatorAG::G4XTankPhysicsListCustomization::ActivateCustomProcesses(), and G4XTankSimulatorAG::G4XTankPhysicsList::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 236 of file G4XTankSimulator.cc.
References ERROR, fwk::CoordinateSystemRegistry::Get(), sevt::SEvent::GetNumberOfStations(), evt::Event::HasSEvent(), INFO, sevt::SEvent::StationsBegin(), and sevt::SEvent::StationsEnd().
|
private |
Definition at line 427 of file G4XTankSimulator.cc.
References mevt::CounterSimData::AddGrdParticle(), mevt::CounterSimData::AddUGrdParticle(), utl::Particle::eAntiMuon, utl::Particle::eMuon, utl::Particle::eShower, io::eSuccess, mevt::MEvent::GetCounter(), sdet::Station::GetLocalCoordinateSystem(), mevt::Counter::GetSimData(), sdet::SDetector::GetStation(), mevt::MEvent::HasCounter(), evt::Event::HasMEvent(), mevt::Counter::HasSimData(), INFO, G4XTankSimulatorAG::PartData::KinE, utl::m, mevt::MEvent::MakeCounter(), evt::Event::MakeMEvent(), mevt::Counter::MakeSimData(), utl::MeV, ns, utl::ns, sevt::StationSimData::ParticlesBegin(), sevt::StationSimData::ParticlesEnd(), G4XTankSimulatorAG::PartData::PDGCode, G4XTankSimulatorAG::PartData::PParent, G4XTankSimulatorAG::PartData::px, G4XTankSimulatorAG::PartData::py, G4XTankSimulatorAG::PartData::pz, utl::Particle::SetParent(), sevt::StationSimData::SetSimulatorSignature(), sevt::SEvent::StationsBegin(), sevt::SEvent::StationsEnd(), G4XTankSimulatorAG::PartData::Time, G4XTankSimulatorAG::PartData::x, G4XTankSimulatorAG::PartData::y, and G4XTankSimulatorAG::PartData::z.
|
private |
Definition at line 296 of file G4XTankSimulator.cc.
References mevt::CounterSimData::AddGrdParticle(), mevt::CounterSimData::AddUGrdParticle(), utl::Particle::eAntiMuon, utl::Particle::eMuon, ERROR, utl::Particle::eShower, io::eSuccess, mevt::MEvent::GetCounter(), mevt::Counter::GetSimData(), sdet::SDetector::GetStation(), mevt::MEvent::HasCounter(), evt::Event::HasMEvent(), mevt::Counter::HasSimData(), G4XTankSimulatorAG::PartData::KinE, utl::m, mevt::MEvent::MakeCounter(), evt::Event::MakeMEvent(), mevt::Counter::MakeSimData(), utl::MeV, ns, utl::ns, sevt::StationSimData::ParticlesBegin(), sevt::StationSimData::ParticlesEnd(), G4XTankSimulatorAG::PartData::PDGCode, G4XTankSimulatorAG::PartData::PParent, G4XTankSimulatorAG::PartData::px, G4XTankSimulatorAG::PartData::py, G4XTankSimulatorAG::PartData::pz, utl::Particle::SetParent(), sevt::StationSimData::SetSimulatorSignature(), sevt::SEvent::StationsBegin(), sevt::SEvent::StationsEnd(), G4XTankSimulatorAG::PartData::Time, G4XTankSimulatorAG::PartData::x, G4XTankSimulatorAG::PartData::y, and G4XTankSimulatorAG::PartData::z.
|
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 109 of file G4XTankSimulator.h.
|
friend |
Definition at line 108 of file G4XTankSimulator.h.
|
friend |
Definition at line 112 of file G4XTankSimulator.h.
|
friend |
Definition at line 111 of file G4XTankSimulator.h.
|
friend |
Definition at line 110 of file G4XTankSimulator.h.
|
friend |
Definition at line 107 of file G4XTankSimulator.h.
|
staticprivate |
Definition at line 80 of file G4XTankSimulator.h.
Referenced by GetCurrentDetectorStation().
|
staticprivate |
Definition at line 81 of file G4XTankSimulator.h.
Referenced by GetCurrentEventStationIt().
|
staticprivate |
Definition at line 82 of file G4XTankSimulator.h.
Referenced by GetCurrentComponent(), and GetCurrentParticleIt().
|
private |
Definition at line 105 of file G4XTankSimulator.h.
|
private |
Definition at line 94 of file G4XTankSimulator.h.
|
private |
Definition at line 103 of file G4XTankSimulator.h.
|
private |
Definition at line 95 of file G4XTankSimulator.h.
|
private |
Definition at line 90 of file G4XTankSimulator.h.
|
staticprivate |
Definition at line 96 of file G4XTankSimulator.h.
Referenced by MuCaptureOn().
|
staticprivate |
Definition at line 98 of file G4XTankSimulator.h.
Referenced by G4XTankSimulatorAG::G4XTankFastCerenkov::PropogateInInterface(), and G4XTankSimulatorAG::G4XTankFastCerenkov::TrackPhotonInTank().
|
private |
Definition at line 99 of file G4XTankSimulator.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 |
Definition at line 84 of file G4XTankSimulator.h.
|
private |
Definition at line 87 of file G4XTankSimulator.h.
|
private |
Definition at line 88 of file G4XTankSimulator.h.
|
private |
Definition at line 101 of file G4XTankSimulator.h.
|
private |
Definition at line 91 of file G4XTankSimulator.h.
|
private |
Definition at line 85 of file G4XTankSimulator.h.
|
private |
Definition at line 92 of file G4XTankSimulator.h.
|
private |
Definition at line 86 of file G4XTankSimulator.h.