LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
EveIdCalculator.h
Go to the documentation of this file.
1 
11 
13 
15 
19 
30 
35 
39 
45 
48 
51 
55 
63 
67 
72 
73 #ifndef SIM_EveIdCalculator_H
74 #define SIM_EveIdCalculator_H
75 
76 #include <map>
77 
78 namespace sim {
79 
80  // Forward declaration
81  class ParticleList;
82 
84  {
85  public:
86 
89  virtual ~EveIdCalculator();
90 
92  void Init( const sim::ParticleList* list );
93 
96  const sim::ParticleList* ParticleList() const { return m_particleList; }
97 
102 
110  int CalculateEveId( const int trackID );
111 
112  protected:
116  virtual int DoCalculateEveId( const int trackID );
117 
119 
120  private:
122  typedef std::map< int, int > m_previousList_t;
124  m_previousList_t m_previousList;
125  };
126 
127 } // namespace sim
128 
129 #endif // SIM_EveIdCalculator_H
const sim::ParticleList * m_particleList
const sim::ParticleList * ParticleList() const
m_previousList_t::const_iterator m_previousList_ptr
virtual int DoCalculateEveId(const int trackID)
intermediate_table::const_iterator const_iterator
m_previousList_t m_previousList
int CalculateEveId(const int trackID)
Monte Carlo Simulation.
void Init(const sim::ParticleList *list)
Initialize this calculator for a particular ParticleList.
EveIdCalculator()
Constructor and destructor.
std::map< int, int > m_previousList_t
The ParticleList associated with the eve ID calculation.