class that handles Geant4 SD Station simulation adopted from G4TankSimulator More...
#include <G4StationSimulator.h>
Classes | |
class | Current |
class | Setup |
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 () override |
Finish: invoked at end of the run (NOT end of the event) More... | |
G4StationSimulator ()=default | |
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 () override |
Initialize: invoked at beginning of run (NOT beginning of event) More... | |
void | InitTiming () |
fwk::VModule::ResultFlag | Run (evt::Event &event) override |
Run: invoked once per event. More... | |
ResultFlag | RunWithTiming (evt::Event &event) |
virtual | ~G4StationSimulator ()=default |
Static Public Member Functions | |
static std::string | GetResultFlagByName (const ResultFlag flag) |
Protected Types | |
enum | InfoLevel { eInfoNone = 0, eInfoFinal = 1, eInfoIntermediate = 2, eInfoDebug = 3 } |
Protected Attributes | |
int | fInfoLevel = 0 |
Private Member Functions | |
void | AddInjectedParticle (const size_t modId, const size_t pixId, const utl::Particle &injectedParticle) const |
void | AddPhoton (const int nPMT, const double peTime) const |
peTime in Auger units! More... | |
void | AddUMDPhoton (const size_t modId, const size_t pixId, const double peTime) const |
void | ConstructTraces (sevt::Station &station) const |
void | FillRPCSimData (cevt::StationSimData &simData) const |
bool | IsMARTAEnabled () const |
bool | IsUMDEnabled () const |
bool | OnlyMuonsInUMD () const |
REGISTER_MODULE ("G4StationSimulatorOG", G4StationSimulator) | |
fwk::VModule::ResultFlag | RunFast (evt::Event &event) |
fwk::VModule::ResultFlag | RunFull (evt::Event &event) |
Static Private Attributes | |
static Current | fgCurrent |
static bool | fgMuCapture = false |
Friends | |
class | G4ScintillatorAction |
class | G4SoilAction |
class | G4StationConstruction |
class | G4StationEventAction |
class | G4StationFastCerenkov |
class | G4StationPhysicsList |
class | G4StationPrimaryGenerator |
class | G4StationStackingAction |
class | G4StationSteppingAction |
class | G4TankPMTAction |
class | G4UMDScintStripAction |
class that handles Geant4 SD Station simulation adopted from G4TankSimulator
Definition at line 65 of file G4StationSimulator.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 |
|
default |
|
virtualdefault |
|
private |
Definition at line 505 of file G4StationSimulator.cc.
References mevt::ScintillatorSimData::AddParticle(), utl::Particle::eAntiMuon, utl::Particle::eCornerClipping, utl::Particle::eElectron, utl::Particle::eMuon, utl::Particle::ePositron, mevt::Module::GetScintillator(), mevt::Scintillator::GetSimData(), utl::Particle::GetSource(), utl::Particle::GetType(), mevt::Module::HasScintillator(), mevt::Scintillator::HasSimData(), mevt::ScintillatorSimData::IncrementNumberOfCornerClippingMuons(), mevt::ScintillatorSimData::IncrementNumberOfElectrons(), mevt::ScintillatorSimData::IncrementNumberOfInjectedMuons(), mevt::Module::MakeScintillator(), and mevt::Scintillator::MakeSimData().
Referenced by G4StationSimulatorOG::G4UMDScintStripAction::ProcessHits().
|
private |
peTime in Auger units!
Definition at line 574 of file G4StationSimulator.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, cdet::CDetectorConstants::eStandard, sevt::StationConstants::eTotal, G4StationSimulatorOG::eUniversality, exit, sevt::PMTSimData::GetPETimeDistribution(), sevt::PMTSimData::HasPETimeDistribution(), sevt::PMTSimData::MakePETimeDistribution(), OFFLINE_ELECTRONS, OFFLINE_HADRONS, OFFLINE_MUONS, OFFLINE_PHOTON, and WARNING.
Referenced by G4StationSimulatorOG::G4ScintillatorAction::ProcessHits(), G4StationSimulatorOG::G4TankPMTAction::ProcessHits(), G4StationSimulatorOG::G4TankFastCerenkov::PropagateInInterface(), G4StationSimulatorOG::G4StationFastCerenkov::PropagateInInterface(), G4StationSimulatorOG::G4TankFastCerenkov::TrackPhotonInTank(), and G4StationSimulatorOG::G4StationFastCerenkov::TrackPhotonInTank().
|
private |
Definition at line 545 of file G4StationSimulator.cc.
References mevt::ScintillatorSimData::AddPhotonTime(), mevt::Module::GetScintillator(), mevt::Scintillator::GetSimData(), mevt::Module::HasScintillator(), mevt::Scintillator::HasSimData(), mevt::Module::MakeScintillator(), and mevt::Scintillator::MakeSimData().
Referenced by G4StationSimulatorOG::G4UMDScintStripAction::ProcessHits(), and G4StationSimulatorOG::G4StationEventAction::ProcessUMD().
|
private |
Definition at line 489 of file G4StationSimulator.cc.
References sdet::PMTConstants::eAnyType, sevt::StationSimData::GetNParticles(), and sevt::Station::GetSimData().
|
private |
Definition at line 666 of file G4StationSimulator.cc.
References cevt::StationSimData::AddParticle(), and G4StationSimulatorOG::p.
|
overridevirtual |
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 479 of file G4StationSimulator.cc.
References io::eSuccess.
|
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().
|
overridevirtual |
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 73 of file G4StationSimulator.cc.
References utl::cm, cdet::CDetectorConstants::eStandard, io::eSuccess, G4StationSimulatorOG::eUniversality, galactic::eV, utl::eV, utl::Branch::Get(), utl::Branch::GetChild(), utl::Branch::GetData(), fwk::CentralConfig::GetInstance(), utl::Branch::GetTopBranch(), INFO, utl::keV, and utl::m.
|
inlineinherited |
Definition at line 95 of file VModule.h.
References fwk::VModule::fStopwatch, and utl::Stopwatch::Reset().
|
inlineprivate |
Definition at line 155 of file G4StationSimulator.h.
References fMARTAEnabled.
|
inlineprivate |
Definition at line 153 of file G4StationSimulator.h.
References fUMDEnabled.
|
inlineprivate |
Definition at line 154 of file G4StationSimulator.h.
References fUMDOnlyMuons.
Referenced by G4StationSimulatorOG::G4UMDScintStripAction::ProcessHits().
|
private |
|
overridevirtual |
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 207 of file G4StationSimulator.cc.
References fwk::RandomEngineRegistry::eDetector, ERROR, fwk::CoordinateSystemRegistry::Get(), sevt::SEvent::GetNumberOfStations(), evt::Event::HasCEvent(), evt::Event::HasSEvent(), INFO, sevt::SEvent::StationsBegin(), and sevt::SEvent::StationsEnd().
|
private |
Definition at line 366 of file G4StationSimulator.cc.
References io::eSuccess, mevt::MEvent::GetCounter(), mdet::MDetector::GetCounter(), sevt::StationSimData::GetNParticles(), cevt::Station::GetSimData(), cevt::CEvent::GetStation(), sdet::SDetector::GetStation(), sevt::StationSimData::GetTotalSimParticleCount(), mevt::MEvent::HasCounter(), evt::Event::HasMEvent(), cevt::CEvent::HasStation(), INFO, mevt::MEvent::MakeCounter(), evt::Event::MakeMEvent(), cevt::Station::MakeSimData(), cevt::CEvent::MakeStation(), particle, utl::s, G4StationSimulatorOG::G4StationSimulator::Setup::Set(), sevt::StationSimData::SetSimulatorSignature(), and sevt::StationSimData::SetTotalSimParticleCount().
|
private |
Definition at line 268 of file G4StationSimulator.cc.
References ERROR, io::eSuccess, mevt::MEvent::GetCounter(), mdet::MDetector::GetCounter(), cevt::Station::GetSimData(), cevt::CEvent::GetStation(), sdet::SDetector::GetStation(), sevt::StationSimData::GetTotalSimParticleCount(), mevt::MEvent::HasCounter(), evt::Event::HasMEvent(), cevt::CEvent::HasStation(), INFO, mevt::MEvent::MakeCounter(), evt::Event::MakeMEvent(), cevt::Station::MakeSimData(), cevt::CEvent::MakeStation(), particle, sevt::StationSimData::ParticlesBegin(), sevt::StationSimData::ParticlesEnd(), G4StationSimulatorOG::G4StationSimulator::Setup::Set(), sevt::StationSimData::SetSimulatorSignature(), and sevt::StationSimData::SetTotalSimParticleCount().
|
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 214 of file G4StationSimulator.h.
|
friend |
Definition at line 218 of file G4StationSimulator.h.
|
friend |
Definition at line 211 of file G4StationSimulator.h.
|
friend |
Definition at line 216 of file G4StationSimulator.h.
|
friend |
Definition at line 210 of file G4StationSimulator.h.
|
friend |
Definition at line 215 of file G4StationSimulator.h.
|
friend |
Definition at line 209 of file G4StationSimulator.h.
|
friend |
Definition at line 213 of file G4StationSimulator.h.
|
friend |
Definition at line 219 of file G4StationSimulator.h.
|
friend |
Definition at line 212 of file G4StationSimulator.h.
|
friend |
Definition at line 217 of file G4StationSimulator.h.
|
private |
Definition at line 175 of file G4StationSimulator.h.
|
private |
Definition at line 205 of file G4StationSimulator.h.
|
private |
Definition at line 176 of file G4StationSimulator.h.
|
staticprivate |
Definition at line 158 of file G4StationSimulator.h.
Referenced by G4StationSimulatorOG::G4StationConstruction::AssembleStation(), G4StationSimulatorOG::G4StationConstruction::AssembleUMD(), G4StationSimulatorOG::G4StationSimulator::Setup::Clear(), G4StationSimulatorOG::G4StationConstruction::CreatePrimitives(), G4StationSimulatorOG::G4StationEventAction::EndOfEventAction(), G4StationSimulatorOG::G4StationConstruction::G4StationConstruction(), G4StationSimulatorOG::G4StationPrimaryGenerator::GeneratePrimaries(), G4StationSimulatorOG::G4StationFastCerenkov::GetDataFromConstruction(), G4StationSimulatorOG::G4TankFastCerenkov::GetDataFromConstruction(), G4StationSimulatorOG::G4UMDScintStripAction::ProcessHits(), G4StationSimulatorOG::G4ScintillatorAction::ProcessHits(), G4StationSimulatorOG::G4TankPMTAction::ProcessHits(), G4StationSimulatorOG::G4StationSimulator::Setup::Set(), G4StationSimulatorOG::G4StationConstruction::SetDetectorParameters(), G4StationSimulatorOG::G4StationConstruction::SetMARTAParameters(), and G4StationSimulatorOG::G4StationConstruction::SetUMDParameters().
|
private |
Definition at line 169 of file G4StationSimulator.h.
Referenced by G4StationSimulatorOG::G4StationConstruction::AssembleUMD().
|
staticprivate |
Definition at line 160 of file G4StationSimulator.h.
Referenced by G4StationSimulatorOG::G4StationPhysicsList::ConstructProcess().
|
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 192 of file G4StationSimulator.h.
Referenced by IsMARTAEnabled().
|
private |
Definition at line 195 of file G4StationSimulator.h.
Referenced by G4StationSimulatorOG::G4StationPhysicsList::SetCuts().
|
private |
Definition at line 197 of file G4StationSimulator.h.
Referenced by G4StationSimulatorOG::G4StationPhysicsList::SetCuts().
|
private |
Definition at line 196 of file G4StationSimulator.h.
Referenced by G4StationSimulatorOG::G4StationPhysicsList::SetCuts().
|
private |
Definition at line 200 of file G4StationSimulator.h.
Referenced by G4StationSimulatorOG::G4StationPhysicsList::SetCuts().
|
private |
Definition at line 199 of file G4StationSimulator.h.
Referenced by G4StationSimulatorOG::G4StationPhysicsList::SetCuts().
|
private |
Definition at line 201 of file G4StationSimulator.h.
Referenced by G4StationSimulatorOG::G4StationPhysicsList::SetCuts().
|
private |
Definition at line 198 of file G4StationSimulator.h.
Referenced by G4StationSimulatorOG::G4StationPhysicsList::SetCuts().
|
private |
Definition at line 172 of file G4StationSimulator.h.
|
private |
Definition at line 164 of file G4StationSimulator.h.
|
private |
Definition at line 191 of file G4StationSimulator.h.
|
private |
Definition at line 173 of file G4StationSimulator.h.
|
private |
Definition at line 189 of file G4StationSimulator.h.
|
private |
Definition at line 207 of file G4StationSimulator.h.
|
private |
Definition at line 167 of file G4StationSimulator.h.
|
private |
Definition at line 203 of file G4StationSimulator.h.
|
private |
Definition at line 188 of file G4StationSimulator.h.
|
private |
Definition at line 170 of file G4StationSimulator.h.
Referenced by G4StationSimulatorOG::G4StationConstruction::AssembleUMD().
|
private |
Definition at line 165 of file G4StationSimulator.h.
|
private |
Definition at line 184 of file G4StationSimulator.h.
Referenced by G4StationSimulatorOG::G4SoilAction::ProcessHits().
|
private |
Definition at line 190 of file G4StationSimulator.h.
Referenced by IsUMDEnabled().
|
private |
Definition at line 177 of file G4StationSimulator.h.
Referenced by G4StationSimulatorOG::G4StationConstruction::AssembleUMD(), G4StationSimulatorOG::G4StationEventAction::BeginOfEventAction(), G4StationSimulatorOG::G4StationConstruction::CreateScintillator(), and G4StationSimulatorOG::G4UMDScintStripAction::ProcessHits().
|
private |
Definition at line 178 of file G4StationSimulator.h.
Referenced by G4StationSimulatorOG::G4SoilAction::ProcessHits().
|
private |
Definition at line 185 of file G4StationSimulator.h.
Referenced by G4StationSimulatorOG::G4SoilAction::ProcessHits().
|
private |
Definition at line 183 of file G4StationSimulator.h.
Referenced by G4StationSimulatorOG::G4SoilAction::ProcessHits().
|
private |
Definition at line 181 of file G4StationSimulator.h.
Referenced by OnlyMuonsInUMD().
|
private |
Definition at line 186 of file G4StationSimulator.h.
Referenced by G4StationSimulatorOG::G4SoilAction::ProcessHits().
|
private |
Definition at line 171 of file G4StationSimulator.h.
Referenced by G4StationSimulatorOG::G4StationConstruction::CreateHall().
|
private |
Definition at line 166 of file G4StationSimulator.h.