All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AlgoCFD.h
Go to the documentation of this file.
1 /**
2  * \file AlgoCFD.h
3  *
4  * \ingroup PulseReco
5  *
6  * \brief Class definition file of AlgoCFD
7  *
8  * @author vic - Nevis 2015
9  */
10 
11 /** \addtogroup PulseReco
12 
13 @{*/
14 
15 #ifndef ALGOCFD_H
16 #define ALGOCFD_H
17 
18 #include "PMTPulseRecoBase.h"
19 
20 namespace fhicl { class ParameterSet; }
21 
23 
24 #include <map>
25 #include <string>
26 #include <vector>
27 
28 namespace pmtana
29 {
30 
31  /**
32  \class AlgoCFD
33  This class implements threshold algorithm to AlgoCFD class.
34  */
35  class AlgoCFD : public PMTPulseRecoBase {
36 
37  public:
38 
39  /// Default constructor
40  AlgoCFD(const std::string name="CFD");
41 
42  /// Alternative ctor
43  AlgoCFD(const fhicl::ParameterSet &pset,
44  std::unique_ptr<pmtana::RiseTimeCalculatorBase> risetimecalculator=nullptr,
45  const std::string name="CFD");
46  //AlgoCFD(const ::fcllite::PSet &pset,const std::string name="CFD");
47 
48  /// Implementation of AlgoCFD::reset() method
49  void Reset();
50 
51  protected:
52 
53  /// Implementation of AlgoCFD::reco() method
54  bool RecoPulse(const pmtana::Waveform_t&,
57 
58 
59  const std::map<unsigned,double> LinearZeroPointX(const std::vector<double>& trace);
60 
61  private:
62  float _F;
63  int _D;
64 
65  //int _number_presample;
66  double _peak_thresh;
67  double _start_thresh;
68  double _end_thresh;
69 
70 
71  };
72 
73 }
74 #endif
75 
76 /** @} */ // end of doxygen group
const std::map< unsigned, double > LinearZeroPointX(const std::vector< double > &trace)
Definition: AlgoCFD.cxx:243
std::vector< double > PedestalSigma_t
void Reset()
Implementation of AlgoCFD::reset() method.
Definition: AlgoCFD.cxx:46
double _end_thresh
Definition: AlgoCFD.h:68
M::value_type trace(const M &m)
double _start_thresh
Definition: AlgoCFD.h:67
AlgoCFD(const std::string name="CFD")
Default constructor.
Definition: AlgoCFD.cxx:17
std::vector< short > Waveform_t
double _peak_thresh
Definition: AlgoCFD.h:66
bool RecoPulse(const pmtana::Waveform_t &, const pmtana::PedestalMean_t &, const pmtana::PedestalSigma_t &)
Implementation of AlgoCFD::reco() method.
Definition: AlgoCFD.cxx:53
then echo fcl name
Class definition file of PMTPulseRecoBase.
std::vector< double > PedestalMean_t