1 #ifndef _CachedShowerRegeneratorASCII_CachedShowerRegenerator_h_
2 #define _CachedShowerRegeneratorASCII_CachedShowerRegenerator_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>
27 class ShowerParticleIterator;
29 class TabulatedFunction;
32 namespace CachedShowerRegeneratorASCII {
34 class LogGaussSmearing;
71 VModule::ResultFlag
Init();
73 VModule::ResultFlag
Finish();
82 boost::tuple<unsigned int, double>
StationParticleMap fUpwardSideParticles
CachedShowerRegenerator()
pointer with built-in initialization, deletion, deep copying
StationParticleMap fTopParticles
Iterator to retrieve particles from utl::VShowerParticlList.
unsigned int fNOutOfRangeWeight
WeightCounterMap fWeightCounterMap
utl::TabulatedFunction * fEToVem
void OutputStats(evt::Event &event)
boost::tuple< unsigned int, double > ParticleNumberAndWeight(const double &, const int &)
(Optional) special handling for particles with very large weights.
Class to hold collection (x,y) points and provide interpolation between them.
bool IsParticleEnergyLow(const int, const double) const
double fElectronEnergyCut
VModule::ResultFlag Run(evt::Event &event)
Run: invoked once per event.
VModule::ResultFlag Finish()
Finish: invoked at end of the run (NOT end of the event)
utl::Accumulator::MinMaxAverage< double > WeightStat
std::map< int, TimeStat > TimeStatMap
std::map< int, WeightStat > WeightStatMap
utl::RandomEngine::RandomEngineType * fRandomEngine
unsigned int fMaxParticles
double fLogGaussSmearingWidth
double fAccumulatedWeightLimit
std::map< int, int > StationParticleMap
std::map< unsigned int, double > WeightCounterMap
ShowerData(const StationPositionMatrix &matrix)
utl::ShowerParticleIterator fParticlesEnd
bool fUseStationPositionMatrix
utl::Accumulator::MinMax< utl::TimeInterval > TimeStat
StationParticleMap fSideParticles
WeightStatMap fWeightStat
REGISTER_MODULE("CachedShowerRegeneratorASCII", CachedShowerRegenerator)
int fNHorizontalParticles
void InitNewShower(evt::Event &event)
utl::ShowerParticleIterator fParticleIt
utl::ShadowPtr< LogGaussSmearing > fLogGauss
StationPositionMatrix fStationMatrix
VModule::ResultFlag Init()
Initialize: invoked at beginning of run (NOT beginning of event)
CLHEP::HepRandomEngine RandomEngineType
double fHorizontalParticleCut
utl::ShadowPtr< ShowerData > fShowerData
utl::TabulatedFunction * fMuToVem