All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AlgoFixedWindow.h
Go to the documentation of this file.
1 /**
2  * \file AlgoFixedWindow.h
3  *
4  * \ingroup PulseReco
5  *
6  * \brief Class definition file of AlgoFixedWindow
7  *
8  * @author Kazu - Nevis 2013
9  */
10 
11 /** \addtogroup PulseReco
12 
13 @{*/
14 
15 #ifndef ALGOFIXEDWINDOW_H
16 #define ALGOFIXEDWINDOW_H
17 
18 #include "PMTPulseRecoBase.h"
19 
20 namespace fhicl { class ParameterSet; }
21 
23 
24 #include <string>
25 
26 namespace pmtana
27 {
28 
29  /**
30  \class AlgoFixedWindow
31  This class implements fixed_window algorithm to AlgoFixedWindow class.
32  The algorithm defines a pulse in user-specified time window.
33  A typical usage is to set the beginning of the window to be 0 (= start of the waveform)
34  and integrate over the time of interest. By default, the ending is set to index=0, in
35  which case it uses the ending index of the input waveform (i.e. full integration).
36  */
38 
39  public:
40 
41  /// Default ctor
42  AlgoFixedWindow(const std::string name="FixedWindow");
43 
44  /// Alternative ctor
45  AlgoFixedWindow(const fhicl::ParameterSet &pset,
46  std::unique_ptr<pmtana::RiseTimeCalculatorBase> risetimecalculator=nullptr,
47  const std::string name="FixedWindow");
48  //AlgoFixedWindow(const ::fcllite::PSet &pset,const std::string name="FixedWindow");
49 
50  /// Implementation of AlgoFixedWindow::reset() method
51  void Reset();
52 
53  protected:
54 
55  /// Implementation of AlgoFixedWindow::reco() method
56  bool RecoPulse(const pmtana::Waveform_t&,
59 
60  size_t _index_start; ///< index marker for the beginning of the pulse time window
61  size_t _index_end; ///< index marker for the end of pulse time window
62 
63  };
64 
65 }
66 #endif
67 
68 /** @} */ // end of doxygen group
std::vector< double > PedestalSigma_t
size_t _index_end
index marker for the end of pulse time window
size_t _index_start
index marker for the beginning of the pulse time window
bool RecoPulse(const pmtana::Waveform_t &, const pmtana::PedestalMean_t &, const pmtana::PedestalSigma_t &)
Implementation of AlgoFixedWindow::reco() method.
std::vector< short > Waveform_t
then echo fcl name
Class definition file of PMTPulseRecoBase.
AlgoFixedWindow(const std::string name="FixedWindow")
Default ctor.
std::vector< double > PedestalMean_t
void Reset()
Implementation of AlgoFixedWindow::reset() method.