#include <PMTPulseRecoBase.h>
Public Member Functions | |
| PMTPulseRecoBase (const std::string name="noname") | |
| Default constructor with fhicl parameters. More... | |
| virtual | ~PMTPulseRecoBase ()=default |
| Default destructor. More... | |
| const std::string & | Name () const |
| Name getter. More... | |
| bool | Status () const |
| Status getter. More... | |
| virtual void | Reset () |
| A method to be called event-wise to reset parameters. More... | |
| bool | Reconstruct (const pmtana::Waveform_t &, const pmtana::PedestalMean_t &, const pmtana::PedestalSigma_t &) |
| const pulse_param & | GetPulse (size_t index=0) const |
| const pulse_param_array & | GetPulses () const |
| A getter for the whole array of pulse_param struct object. More... | |
| size_t | GetNPulse () const |
| A getter for the number of reconstructed pulses from the input waveform. More... | |
Protected Member Functions | |
| virtual bool | RecoPulse (const pmtana::Waveform_t &, const pmtana::PedestalMean_t &, const pmtana::PedestalSigma_t &)=0 |
| bool | Integral (const std::vector< short > &wf, double &result, size_t begin=0, size_t end=0) const |
| bool | Derivative (const std::vector< short > &wf, std::vector< int32_t > &diff, size_t begin=0, size_t end=0) const |
| size_t | Max (const std::vector< short > &wf, double &result, size_t begin=0, size_t end=0) const |
| size_t | Min (const std::vector< short > &wf, double &result, size_t begin=0, size_t end=0) const |
Protected Attributes | |
| pulse_param_array | _pulse_v |
| A container array of pulse_param struct objects to store (possibly multiple) reconstructed pulse(s). More... | |
| pulse_param | _pulse |
| A subject pulse_param object to be filled with the last reconstructed pulse parameters. More... | |
Private Attributes | |
| std::string | _name |
| Unique name. More... | |
| bool | _status |
| Status after pulse reconstruction. More... | |
The base class of pulse reconstruction algorithms. All algorithms should inherit from this calss to be executed by a manager class, pulse_reco. Note that this class does not depend on the rest of the framework except for the use of constants. In order to reconstruct a pulse, all it requires is a std::vector<short> type object (i.e. raw waveform), waveform pedestal, and its standard deviation. All of these are to be provided by an executer. Reconstructed pulse parameters are stored in the pulse_param struct object.
All methods specified as "virtual" should be implemented by the inherit children class.
This class provides some basic std::vector calculation algorithms such as integral, derivative, max and min algorithms. Inherit children classes are encouraged to use these provided methods when possible.
Definition at line 66 of file PMTPulseRecoBase.h.
| pmtana::PMTPulseRecoBase::PMTPulseRecoBase | ( | const std::string | name = "noname" | ) |
Default constructor with fhicl parameters.
Definition at line 15 of file PMTPulseRecoBase.cxx.
|
virtualdefault |
Default destructor.
|
protected |
A method to compute derivative, which is a simple subtraction of previous ADC sample from each sample. The result is stored in the input "diff" reference vector which is int32_t type as a derivative could be negative.
Definition at line 117 of file PMTPulseRecoBase.cxx.
|
inline |
A getter for the number of reconstructed pulses from the input waveform.
Definition at line 102 of file PMTPulseRecoBase.h.
| const pulse_param & pmtana::PMTPulseRecoBase::GetPulse | ( | size_t | index = 0 | ) | const |
A getter for the pulse_param struct object. Reconstruction algorithm may have more than one pulse reconstructed from an input waveform. Note you must, accordingly, provide an index key to specify which pulse_param object to be retrieved.
Definition at line 68 of file PMTPulseRecoBase.cxx.
| const pulse_param_array & pmtana::PMTPulseRecoBase::GetPulses | ( | ) | const |
A getter for the whole array of pulse_param struct object.
Definition at line 87 of file PMTPulseRecoBase.cxx.
|
protected |
A method to integrate an waveform from index "begin" to the "end". The result is filled in "result" reference. If the "end" is default (=0), then "end" is set to the last index of the waveform.
Definition at line 94 of file PMTPulseRecoBase.cxx.
|
protected |
A method to return the maximum value of ADC sample within the index from "begin" to "end". If the "end" is default (=0), then "end" is set to the last index of the waveform.
Definition at line 141 of file PMTPulseRecoBase.cxx.
|
protected |
A method to return the minimum value of ADC sample within the index from "begin" to "end". If the "end" is default (=0), then "end" is set to the last index of the waveform.
Definition at line 165 of file PMTPulseRecoBase.cxx.
| const std::string & pmtana::PMTPulseRecoBase::Name | ( | void | ) | const |
| bool pmtana::PMTPulseRecoBase::Reconstruct | ( | const pmtana::Waveform_t & | wf, |
| const pmtana::PedestalMean_t & | mean_v, | ||
| const pmtana::PedestalSigma_t & | sigma_v | ||
| ) |
A core method: this executes the algorithm and stores reconstructed parameters in the pulse_param struct object.
Definition at line 31 of file PMTPulseRecoBase.cxx.
|
protectedpure virtual |
|
virtual |
A method to be called event-wise to reset parameters.
Reimplemented in pmtana::AlgoFixedWindow, pmtana::AlgoThreshold, pmtana::AlgoCFD, pmtana::AlgoSlidingWindow, pmtana::AlgoSSPLeadingEdge, and pmtana::AlgoSiPM.
Definition at line 57 of file PMTPulseRecoBase.cxx.
| bool pmtana::PMTPulseRecoBase::Status | ( | void | ) | const |
Status getter.
Definition at line 26 of file PMTPulseRecoBase.cxx.
|
private |
Unique name.
Definition at line 102 of file PMTPulseRecoBase.h.
|
protected |
A subject pulse_param object to be filled with the last reconstructed pulse parameters.
Definition at line 122 of file PMTPulseRecoBase.h.
|
protected |
A container array of pulse_param struct objects to store (possibly multiple) reconstructed pulse(s).
Definition at line 119 of file PMTPulseRecoBase.h.
|
private |
Status after pulse reconstruction.
Definition at line 110 of file PMTPulseRecoBase.h.
1.8.11