Deprecated/UpgradeASCIITests/CachedShowerRegeneratorASCII/CachedShowerRegenerator.h
Go to the documentation of this file.
1 #ifndef _CachedShowerRegeneratorASCII_CachedShowerRegenerator_h_
2 #define _CachedShowerRegeneratorASCII_CachedShowerRegenerator_h_
3 
11 #include <map>
12 
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>
18 #include <utl/Accumulator.h>
19 #include <utl/TimeDistribution.h>
20 #include <utl/AugerUnits.h>
21 #include <boost/tuple/tuple.hpp>
22 #include "StationPositionMatrix.h"
23 #include "LogGaussSmearing.h"
24 
25 
26 namespace utl {
27  class ShowerParticleIterator;
28  class TimeInterval;
29  class TabulatedFunction;
30 }
31 
32 namespace CachedShowerRegeneratorASCII {
33 
34  class LogGaussSmearing;
35 
36  class ShowerData {
37  public:
38 
40  fStationMatrix(matrix),
42  fMinR2(0) {}
43 
44  typedef std::map<int, int> StationParticleMap;
46  typedef std::map<int, TimeStat> TimeStatMap;
48  typedef std::map<int, WeightStat> WeightStatMap;
49  typedef std::map<unsigned int, double> WeightCounterMap;
50 
60  double fMinR2;
63 
64  };
65 
66 
68  public:
70 
71  VModule::ResultFlag Init();
72  VModule::ResultFlag Run(evt::Event& event);
73  VModule::ResultFlag Finish();
74 
75  private:
76  bool IsParticleEnergyLow(const int, const double) const;
77 
78  void InitNewShower(evt::Event& event);
79 
80  void OutputStats(evt::Event& event);
81 
82  boost::tuple<unsigned int, double>
83  ParticleNumberAndWeight(const double&, const int&);
84 
85  // Parameters taken from xml file
87 
88  unsigned int fMaxParticles;
89 
92 
98 
99  double fDeltaROverR;
100  double fDeltaPhi;
106 
111 
113 
117 
119 
121  unsigned int fNOutOfRangeWeight;
122  double fWeightLimit;
123 
125 
126  int unityWeightCtr; // TEMP
127  int largeWeightCtr; // TEMP
128 
129  REGISTER_MODULE("CachedShowerRegeneratorASCII", CachedShowerRegenerator);
130  };
131 
132 }
133 
134 #endif
135 
136 
137 // Configure (x)emacs for this file ...
138 // Local Variables:
139 // mode: c++
140 // compile-command: "make -C .. -k"
141 // End:
pointer with built-in initialization, deletion, deep copying
Definition: ShadowPtr.h:163
Iterator to retrieve particles from utl::VShowerParticlList.
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.
Module interface.
Definition: VModule.h:53
REGISTER_MODULE("CachedShowerRegeneratorASCII", CachedShowerRegenerator)
VModule::ResultFlag Init()
Initialize: invoked at beginning of run (NOT beginning of event)
CLHEP::HepRandomEngine RandomEngineType
Definition: RandomEngine.h:30

, generated on Tue Sep 26 2023.