PulseRecoManager.h
Go to the documentation of this file.
1 /**
2  * \file PulseRecoManager.h
3  *
4  * \ingroup PulseReco
5  *
6  * \brief Class definition file of PulseRecoManager
7  *
8  * @author Kazu - Nevis 2013
9  */
10 
11 /** \addtogroup PulseReco
12 
13 @{*/
14 
15 #ifndef PULSERECOMANAGER_H
16 #define PULSERECOMANAGER_H
17 
19 
20 #include <vector>
21 
22 namespace pmtana
23 {
24 
25  class PMTPedestalBase;
26  class PMTPulseRecoBase;
27 
28  /**
29  \class PulseRecoManager
30  A manager class of pulse reconstruction which acts as an analysis unit (inherits from ana_base).
31  This class executes various pulse reconstruction algorithm which inherits from PMTPulseRecoBase
32  Refer to analyze() function implementation to check how a pulse reconstruction algorithm is called.
33  */
35 
36  public:
37 
38  /// Default constructor
40 
41  /// Implementation of ana_base::analyze method
42  bool Reconstruct(const pmtana::Waveform_t&) const;
43 
44  /// A method to set pulse reconstruction algorithm
45  void AddRecoAlgo (pmtana::PMTPulseRecoBase* algo, PMTPedestalBase* ped_algo=nullptr);
46 
47  /// A method to set a choice of pedestal estimation method
49 
50  private:
51 
52  /// pulse reconstruction algorithm pointer
53  std::vector<std::pair<pmtana::PMTPulseRecoBase*,pmtana::PMTPedestalBase*> > _reco_algo_v;
54 
55  /// ped_estimator object
57 
58  };
59 }
60 #endif
61 
62 /** @} */ // end of doxygen group
void AddRecoAlgo(pmtana::PMTPulseRecoBase *algo, PMTPedestalBase *ped_algo=nullptr)
A method to set pulse reconstruction algorithm.
bool Reconstruct(const pmtana::Waveform_t &) const
Implementation of ana_base::analyze method.
std::vector< short > Waveform_t
PMTPedestalBase * _ped_algo
ped_estimator object
void SetDefaultPedAlgo(pmtana::PMTPedestalBase *algo)
A method to set a choice of pedestal estimation method.
PulseRecoManager()
Default constructor.
std::vector< std::pair< pmtana::PMTPulseRecoBase *, pmtana::PMTPedestalBase * > > _reco_algo_v
pulse reconstruction algorithm pointer