Generate hypothetical particle distributions in the shower plane. More...
#include <ShowerInventor.h>
Classes | |
struct | DiagnosticHistos |
struct | ParticleDistInfo |
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::CoordinateSystemPtr | GetExternalCS () const |
unsigned int | GetNumRequestedParticles () const |
utl::Particle * | GetOneParticle () |
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 &event) |
Run: invoked once per event. More... | |
ResultFlag | RunWithTiming (evt::Event &event) |
ShowerInventor () | |
virtual | ~ShowerInventor () |
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 Types | |
typedef std::vector< double > | RandomCacheContainer |
Private Member Functions | |
void | FillCaches () |
utl::VRandomSampler * | GetSampler (const utl::Branch &b) |
REGISTER_MODULE ("ShowerInventorNEU", ShowerInventor) | |
Private Attributes | |
double | fAzimuth |
double | fCoreAltitude |
double | fCoreEasting |
utl::Point * | fCoreLocation |
double | fCoreNorthing |
unsigned int | fCurrentDistIndex |
evt::Event * | fCurrentEvent |
utl::Particle * | fCurrentParticle |
ParticleDistInfo | fCurrentPDI |
double | fCurrentZenith |
unsigned int | fCurrentZenithIndex |
std::map< int, DiagnosticHistos > | fDiagnosticHistos |
std::string | fDiagnosticsFileName |
bool | fDiagnosticsOn |
ShowerInventorParticleIterator * | fFileIterator |
utl::Plane * | fGroundPlane |
std::vector< ParticleDistInfo > | fParticleDistros |
unsigned int | fRandomCacheMaxSize |
utl::RandomEngine::RandomEngineType * | fRandomEngine |
utl::CoordinateSystemPtr | fShowerCS |
utl::CoordinateSystemPtr | fShowerLocalCS |
TH2 * | fStationPosGroundCS |
unsigned int | fTotalNumRequestedParticles |
std::vector< double > | fZeniths |
Generate hypothetical particle distributions in the shower plane.
Definition at line 46 of file ShowerInventor.h.
|
private |
Definition at line 88 of file ShowerInventor.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 |
ShowerInventor::ShowerInventor | ( | ) |
Definition at line 54 of file ShowerInventor.cc.
|
inlinevirtual |
Definition at line 50 of file ShowerInventor.h.
|
private |
Definition at line 465 of file ShowerInventor.cc.
References ShowerInventorNS::ShowerInventor::ParticleDistInfo::azimuthDistro, ShowerInventorNS::ShowerInventor::ParticleDistInfo::azimuthRandomCache, ShowerInventorNS::ShowerInventor::ParticleDistInfo::cachePosition, fCurrentPDI, fRandomCacheMaxSize, fRandomEngine, ShowerInventorNS::ShowerInventor::ParticleDistInfo::radialDistro, ShowerInventorNS::ShowerInventor::ParticleDistInfo::radiusRandomCache, ShowerInventorNS::ShowerInventor::ParticleDistInfo::timeDistro, ShowerInventorNS::ShowerInventor::ParticleDistInfo::timeRandomCache, ShowerInventorNS::ShowerInventor::ParticleDistInfo::weightDistro, and ShowerInventorNS::ShowerInventor::ParticleDistInfo::weightRandomCache.
Referenced by GetOneParticle().
|
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 309 of file ShowerInventor.cc.
References fwk::VModule::eSuccess, fCoreLocation, fCurrentParticle, fDiagnosticHistos, fDiagnosticsFileName, fDiagnosticsOn, fGroundPlane, fParticleDistros, fStationPosGroundCS, and INFO.
|
inline |
Definition at line 61 of file ShowerInventor.h.
References fShowerLocalCS.
|
inline |
Definition at line 58 of file ShowerInventor.h.
References fTotalNumRequestedParticles.
Particle * ShowerInventor::GetOneParticle | ( | ) |
Definition at line 351 of file ShowerInventor.cc.
References ShowerInventorNS::ShowerInventor::ParticleDistInfo::azimuthRandomCache, ShowerInventorNS::ShowerInventor::ParticleDistInfo::cachePosition, fAzimuth, fCurrentDistIndex, fCurrentEvent, fCurrentParticle, fCurrentPDI, fCurrentZenith, fDiagnosticHistos, fDiagnosticsOn, FillCaches(), fParticleDistros, fRandomCacheMaxSize, fShowerCS, fShowerLocalCS, evt::ShowerSimData::GetLocalCoordinateSystem(), evt::ShowerSimData::GetShowerCoordinateSystem(), evt::Event::GetSimShower(), utl::BasicVector< HepVector >::GetX(), utl::BasicVector< HepVector >::GetY(), utl::GeV, utl::kilometer, utl::nanosecond, ShowerInventorNS::ShowerInventor::ParticleDistInfo::numGeneratedParticles, ShowerInventorNS::ShowerInventor::ParticleDistInfo::numRequestedParticles, ShowerInventorNS::ShowerInventor::ParticleDistInfo::particleType, ShowerInventorNS::ShowerInventor::ParticleDistInfo::radiusRandomCache, ShowerInventorNS::ShowerInventor::ParticleDistInfo::timeRandomCache, and ShowerInventorNS::ShowerInventor::ParticleDistInfo::weightRandomCache.
Referenced by ShowerInventorNS::ShowerInventorParticleIterator::GetOneParticle().
|
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().
|
private |
Definition at line 427 of file ShowerInventor.cc.
References utl::Branch::GetChild(), utl::Branch::GetData(), and max.
Referenced by Init().
|
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 68 of file ShowerInventor.cc.
References ShowerInventorNS::ShowerInventor::ParticleDistInfo::azimuthDistro, ShowerInventorNS::ShowerInventor::ParticleDistInfo::azimuthRandomCache, ShowerInventorNS::ShowerInventor::ParticleDistInfo::cachePosition, fwk::VModule::eSuccess, fAzimuth, fCoreAltitude, fCoreEasting, fCoreNorthing, fCurrentZenithIndex, fDiagnosticHistos, fDiagnosticsFileName, fDiagnosticsOn, fParticleDistros, fRandomCacheMaxSize, fStationPosGroundCS, fTotalNumRequestedParticles, fZeniths, utl::Branch::GetChild(), utl::Branch::GetData(), utl::Branch::GetFirstChild(), utl::Branch::GetNextSibling(), GetSampler(), utl::Branch::GetTopBranch(), INFO, utl::kPi, ShowerInventorNS::ShowerInventor::ParticleDistInfo::numGeneratedParticles, ShowerInventorNS::ShowerInventor::ParticleDistInfo::numRequestedParticles, ShowerInventorNS::ShowerInventor::ParticleDistInfo::particleType, ShowerInventorNS::ShowerInventor::ParticleDistInfo::radialDistro, ShowerInventorNS::ShowerInventor::DiagnosticHistos::radialDistro, ShowerInventorNS::ShowerInventor::ParticleDistInfo::radiusRandomCache, ShowerInventorNS::ShowerInventor::ParticleDistInfo::timeDistro, ShowerInventorNS::ShowerInventor::ParticleDistInfo::timeRandomCache, ShowerInventorNS::ShowerInventor::ParticleDistInfo::weightDistro, and ShowerInventorNS::ShowerInventor::ParticleDistInfo::weightRandomCache.
|
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 201 of file ShowerInventor.cc.
References sdet::SDetector::AllStationsBegin(), sdet::SDetector::AllStationsEnd(), ShowerInventorNS::ShowerInventor::ParticleDistInfo::cachePosition, fwk::VModule::eBreakLoop, fwk::VModule::eSuccess, fAzimuth, fCoreAltitude, fCoreEasting, fCoreLocation, fCoreNorthing, fCurrentDistIndex, fCurrentEvent, fCurrentPDI, fCurrentZenith, fCurrentZenithIndex, fDiagnosticsOn, fFileIterator, fGroundPlane, fParticleDistros, fRandomEngine, fShowerCS, fShowerLocalCS, fStationPosGroundCS, fZeniths, fwk::CoordinateSystemRegistry::Get(), utl::ReferenceEllipsoid::GetECEF(), evt::ShowerSimData::GetGroundParticles(), evt::ShowerSimData::GetLocalCoordinateSystem(), utl::UTMPoint::GetPoint(), evt::ShowerSimData::GetShowerCoordinateSystem(), evt::Event::GetSimShower(), utl::UTCDateTime::GetTimeStamp(), evt::ShowerSimData::HasGeometry(), evt::ShowerSimData::HasGroundParticles(), evt::Event::HasSimShower(), evt::ShowerSimData::HasTimeStamp(), utl::kilometer, evt::ShowerSimData::MakeGeometry(), evt::ShowerSimData::MakeGroundParticles(), evt::Event::MakeSimShower(), evt::ShowerSimData::MakeTimeStamp(), TelescopeSimulatorKG::RTFunctions::Plane(), utl::ShowerParticleList::SetFileInterface(), evt::ShowerSimData::SetGroundParticleCoordinateSystemAzimuth(), evt::ShowerSimData::SetGroundParticleCoordinateSystemZenith(), and evt::ShowerSimData::SetPrimaryParticle().
|
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().
|
private |
Definition at line 72 of file ShowerInventor.h.
Referenced by GetOneParticle(), Init(), and Run().
|
private |
Definition at line 75 of file ShowerInventor.h.
|
private |
Definition at line 74 of file ShowerInventor.h.
|
private |
Definition at line 86 of file ShowerInventor.h.
|
private |
Definition at line 73 of file ShowerInventor.h.
|
private |
Definition at line 128 of file ShowerInventor.h.
Referenced by GetOneParticle(), and Run().
|
private |
Definition at line 139 of file ShowerInventor.h.
Referenced by GetOneParticle(), and Run().
|
private |
Definition at line 80 of file ShowerInventor.h.
Referenced by Finish(), and GetOneParticle().
|
private |
Definition at line 127 of file ShowerInventor.h.
Referenced by FillCaches(), GetOneParticle(), and Run().
|
private |
Definition at line 124 of file ShowerInventor.h.
Referenced by GetOneParticle(), and Run().
|
private |
Definition at line 125 of file ShowerInventor.h.
|
private |
Definition at line 150 of file ShowerInventor.h.
Referenced by Finish(), GetOneParticle(), and Init().
|
private |
Definition at line 135 of file ShowerInventor.h.
|
private |
Definition at line 134 of file ShowerInventor.h.
Referenced by Finish(), GetOneParticle(), Init(), and Run().
|
private |
Definition at line 82 of file ShowerInventor.h.
Referenced by Run().
|
private |
Definition at line 85 of file ShowerInventor.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 122 of file ShowerInventor.h.
Referenced by Finish(), GetOneParticle(), Init(), and Run().
|
private |
Definition at line 130 of file ShowerInventor.h.
Referenced by FillCaches(), GetOneParticle(), and Init().
|
private |
Definition at line 69 of file ShowerInventor.h.
Referenced by FillCaches(), and Run().
|
private |
Definition at line 77 of file ShowerInventor.h.
Referenced by GetOneParticle(), and Run().
|
private |
Definition at line 78 of file ShowerInventor.h.
Referenced by GetExternalCS(), GetOneParticle(), and Run().
|
private |
Definition at line 137 of file ShowerInventor.h.
|
private |
Definition at line 83 of file ShowerInventor.h.
Referenced by GetNumRequestedParticles(), and Init().
|
private |
Definition at line 71 of file ShowerInventor.h.