G4 main simulator class. More...
#include <MdGroundPropagator.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... | |
utl::Stopwatch & | GetStopwatch () |
const utl::Stopwatch & | GetStopwatch () const |
std::string | GetVersionInfo (const VersionInfoType v) const |
Retrieve different sorts of module version info. More... | |
GroundPropagator () | |
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 | ~GroundPropagator () |
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 | |
REGISTER_MODULE ("GroundPropagatorAG", GroundPropagator) | |
Static Private Member Functions | |
static const mdet::Counter * | GetCurrentDetectorCounter () |
static mevt::MEvent::CounterIterator | GetCurrentEventCounterIt () |
static mevt::CounterSimData::GrdParticleIterator | GetCurrentParticleIt () |
Private Attributes | |
std::string | fEventId |
Private members. More... | |
bool | fGeomVisOn |
G4double | fGrammage |
G4RunManager * | fRunManager |
Private G4 members. More... | |
std::ofstream | fStatFile |
std::ofstream | fStatUFile |
SteppingAction * | fSteppingAction |
bool | fTrajVisOn |
G4UImanager * | fUImanager |
bool | fUseGlobalPhysicsList |
G4VisManager * | fVisManager |
Static Private Attributes | |
static const mdet::Counter * | fCurrentDetectorCounter = 0 |
static mevt::MEvent::CounterIterator | fCurrentEventCounterIt |
static mevt::CounterSimData::GrdParticleIterator | fCurrentParticleIt |
Friends | |
class | PrimaryGenerator |
G4 main simulator class.
class that handles Geant4 underground propagation for AMIGA muon Counters
Definition at line 29 of file MdGroundPropagator.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 |
GroundPropagator::GroundPropagator | ( | ) |
Definition at line 57 of file MdGroundPropagator.cc.
References fGeomVisOn, fTrajVisOn, and fUseGlobalPhysicsList.
|
virtual |
Definition at line 69 of file MdGroundPropagator.cc.
|
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 317 of file MdGroundPropagator.cc.
References fwk::VModule::eSuccess, fRunManager, fStatFile, fStatUFile, and fUseGlobalPhysicsList.
|
inlinestaticprivate |
Definition at line 36 of file MdGroundPropagator.h.
References fCurrentDetectorCounter.
Referenced by GroundPropagatorAG::PrimaryGenerator::GeneratePrimaries().
|
inlinestaticprivate |
Definition at line 39 of file MdGroundPropagator.h.
References fCurrentEventCounterIt.
|
inlinestaticprivate |
Definition at line 42 of file MdGroundPropagator.h.
References fCurrentParticleIt.
Referenced by GroundPropagatorAG::PrimaryGenerator::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 72 of file MdGroundPropagator.cc.
References utl::cm2, fwk::VModule::eFailure, fwk::VModule::eSuccess, fGeomVisOn, fGrammage, filename, fRunManager, fStatFile, fStatUFile, fSteppingAction, fTrajVisOn, fUImanager, fUseGlobalPhysicsList, fVisManager, utl::g, utl::Branch::GetChild(), utl::Branch::GetData(), GroundPropagatorAG::SoilConstruction::GetDepth(), utl::Branch::GetTopBranch(), INFO, out, PrimaryGenerator, tls::Geant4Customization::SetPrimaryGenerator(), and tls::Geant4Customization::SetSteppingAction().
|
inlineinherited |
Definition at line 95 of file VModule.h.
References fwk::VModule::fStopwatch, and utl::Stopwatch::Reset().
|
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 206 of file MdGroundPropagator.cc.
References mevt::CounterSimData::AddUGrdParticle(), mevt::MEvent::CountersBegin(), mevt::MEvent::CountersEnd(), fwk::VModule::eFailure, ERROR, utl::Particle::eShower, fwk::VModule::eSuccess, fCurrentDetectorCounter, fCurrentEventCounterIt, fCurrentParticleIt, GroundPropagatorAG::SteppingAction::fPartColl, fRunManager, fStatUFile, fSteppingAction, fUseGlobalPhysicsList, mdet::MDetector::GetCounter(), det::MPositionable< Config >::GetLocalCoordinateSystem(), mevt::MEvent::GetNumberOfCounters(), mevt::CounterSimData::GetNumberOfGrdParticles(), mevt::CounterSimData::GrdParticlesBegin(), mevt::CounterSimData::GrdParticlesEnd(), evt::Event::HasMEvent(), INFO, GroundPropagatorAG::PartData::KinE, utl::m, utl::MeV, ns, utl::ns, GroundPropagatorAG::PartData::PDGCode, GroundPropagatorAG::PartData::Pname, GroundPropagatorAG::PartData::PParent, GroundPropagatorAG::PartData::px, GroundPropagatorAG::PartData::py, GroundPropagatorAG::PartData::pz, GroundPropagatorAG::SteppingAction::SetImpingingParticle(), utl::Particle::SetParent(), GroundPropagatorAG::PartData::Time, GroundPropagatorAG::PartData::TrackID, GroundPropagatorAG::PartData::x, GroundPropagatorAG::PartData::y, and GroundPropagatorAG::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 70 of file MdGroundPropagator.h.
Referenced by Init().
|
staticprivate |
Definition at line 45 of file MdGroundPropagator.h.
Referenced by GetCurrentDetectorCounter(), and Run().
|
staticprivate |
Definition at line 46 of file MdGroundPropagator.h.
Referenced by GetCurrentEventCounterIt(), and Run().
|
staticprivate |
Definition at line 47 of file MdGroundPropagator.h.
Referenced by GetCurrentParticleIt(), and Run().
|
private |
Private members.
Definition at line 33 of file MdGroundPropagator.h.
|
private |
Definition at line 64 of file MdGroundPropagator.h.
Referenced by GroundPropagator(), and Init().
|
private |
Definition at line 34 of file MdGroundPropagator.h.
Referenced by Init().
|
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 G4 members.
Definition at line 59 of file MdGroundPropagator.h.
|
private |
Definition at line 67 of file MdGroundPropagator.h.
|
private |
Definition at line 68 of file MdGroundPropagator.h.
|
private |
Definition at line 62 of file MdGroundPropagator.h.
|
private |
Definition at line 65 of file MdGroundPropagator.h.
Referenced by GroundPropagator(), and Init().
|
private |
Definition at line 60 of file MdGroundPropagator.h.
Referenced by Init().
|
private |
Definition at line 66 of file MdGroundPropagator.h.
Referenced by Finish(), GroundPropagator(), Init(), and Run().
|
private |
Definition at line 61 of file MdGroundPropagator.h.
Referenced by Init().