1 #ifndef _CachedXShowerRegeneratorAG_CachedXShowerRegenerator_h_
2 #define _CachedXShowerRegeneratorAG_CachedXShowerRegenerator_h_
13 #include <fwk/VModule.h>
14 #include <utl/Particle.h>
15 #include <utl/RandomEngine.h>
16 #include <utl/ShadowPtr.h>
17 #include <utl/ShowerParticleIterator.h>
19 #include <utl/TimeDistribution.h>
20 #include <utl/AugerUnits.h>
21 #include <boost/tuple/tuple.hpp>
26 class ShowerParticleIterator;
28 class TabulatedFunction;
31 namespace CachedXShowerRegeneratorAG {
33 class LogXGaussSmearing;
70 VModule::ResultFlag
Init();
72 VModule::ResultFlag
Finish();
81 boost::tuple<unsigned int, double>
utl::ShowerParticleIterator fParticlesEnd
pointer with built-in initialization, deletion, deep copying
Iterator to retrieve particles from utl::VShowerParticlList.
std::map< int, TimeStat > TimeStatMap
void OutputStats(evt::Event &event)
double fAccumulatedWeightLimit
std::map< int, int > StationParticleMap
Class to hold collection (x,y) points and provide interpolation between them.
boost::tuple< unsigned int, double > ParticleNumberAndWeight(const double &, const int &)
(Optional) special handling for particles with very large weights.
utl::TabulatedFunction * fMuToVem
REGISTER_MODULE("CachedXShowerRegeneratorAG", CachedXShowerRegenerator)
StationParticleMap fSideParticles
utl::ShadowPtr< LogXGaussSmearing > fLogXGauss
unsigned int fMaxParticles
VModule::ResultFlag Init()
Initialize: invoked at beginning of run (NOT beginning of event)
std::map< int, WeightStat > WeightStatMap
StationParticleMap fUpwardSideParticles
WeightStatMap fWeightStat
double fHorizontalParticleCut
bool IsParticleEnergyLow(const int, const double) const
ShowerData(const StationPositionMatrix &matrix)
VModule::ResultFlag Finish()
Finish: invoked at end of the run (NOT end of the event)
WeightCounterMap fWeightCounterMap
int fNHorizontalParticles
double fElectronEnergyCut
utl::TabulatedFunction * fEToVem
unsigned int fNOutOfRangeWeight
StationParticleMap fTopParticles
utl::Accumulator::MinMaxAverage< double > WeightStat
VModule::ResultFlag Run(evt::Event &event)
Run: invoked once per event.
utl::ShadowPtr< ShowerData > fShowerData
void InitNewShower(evt::Event &event)
CLHEP::HepRandomEngine RandomEngineType
utl::ShowerParticleIterator fParticleIt
std::map< unsigned int, double > WeightCounterMap
StationPositionMatrix fStationMatrix
utl::RandomEngine::RandomEngineType * fRandomEngine
utl::Accumulator::MinMax< utl::TimeInterval > TimeStat
bool fUseStationPositionMatrix
CachedXShowerRegenerator()
double fLogXGaussSmearingWidth