Interface for a function describing a pulse from a photoelectron. More...
#include <PhotoelectronPulseFunction.h>
Public Types | |
using | ADCcount = util::quantities::counts_f |
Type for ADC counts (floating point). More... | |
using | Time = T |
Type of time being used. More... | |
Public Member Functions | |
virtual | ~PhotoelectronPulseFunction ()=default |
ADCcount | evaluateAt (Time time) const |
Evaluates the pulse at the given time. More... | |
ADCcount | operator() (Time time) const |
Alias of evaluateAt() . More... | |
Time | peakTime () const |
Returns the time at which the first peak is found. More... | |
ADCcount | peakAmplitude () const |
Returns the amplitude of the first peak in ADC counts. More... | |
ADCcount | baseline () const |
Returns the baseline of the pulse in ADC counts. More... | |
int | polarity () const |
Returns the polarity of the pulse (+1 : positive, or -1 : negative). More... | |
void | dump (std::ostream &out, std::string const &indent, std::string const &firstIndent) const |
Prints on stream the parameters of this shape. More... | |
void | dump (std::ostream &&out, std::string const &indent="") const |
std::string | toString (std::string const &indent, std::string const &firstIndent) const |
Returns the parameters of this shape as a descriptive string. More... | |
std::string | toString (std::string const &indent="") const |
Protected Member Functions | |
Mandatory customization | |
virtual ADCcount | doEvaluateAt (Time time) const =0 |
Implementation of the function evaluation at time . More... | |
virtual Time | doPeakTime () const =0 |
Returns the time at which the first peak is found. More... | |
Optional customization | |
virtual ADCcount | doPeakAmplitude () const |
Returns the amplitude of the first peak in ADC counts. More... | |
virtual ADCcount | doBaseline () const |
Returns the baseline of the pulse. More... | |
virtual int | doPolarity () const |
Returns the polarity of the pulse (+1 or -1). More... | |
virtual void | doDump (std::ostream &out, std::string const &indent, std::string const &firstIndent) const |
Prints into the stream the parameters of this shape. More... | |
Interface for a function describing a pulse from a photoelectron.
T | type used to represent time |
A function implementing this interface expresses a sampled value in ADC counts (ADCcount
type) as function of time (Time
type).
The time types in LArSoft quantities library can be used as Time
(T
): e.g., PhotoelectronPulseFunction<util::quantities::nanosecond>
.
Definition at line 26 of file PhotoelectronPulseFunction.h.
using icarus::opdet::PhotoelectronPulseFunction< T >::ADCcount = util::quantities::counts_f |
Type for ADC counts (floating point).
Definition at line 49 of file PhotoelectronPulseFunction.h.
using icarus::opdet::PhotoelectronPulseFunction< T >::Time = T |
Type of time being used.
Definition at line 51 of file PhotoelectronPulseFunction.h.
|
virtualdefault |
|
inline |
Returns the baseline of the pulse in ADC counts.
Definition at line 73 of file PhotoelectronPulseFunction.h.
|
inlineprotectedvirtual |
Returns the baseline of the pulse.
Definition at line 134 of file PhotoelectronPulseFunction.h.
|
inlineprotectedvirtual |
Prints into the stream the parameters of this shape.
out | the C++ output stream to write into |
indent | indentation string, prepended to all lines except first |
indentFirst | indentation string prepended to the first line |
Reimplemented in icarus::opdet::CustomPulseFunction< T >, icarus::opdet::AsymExpPulseFunction< T >, icarus::opdet::SampledWaveformFunction< T >, and icarus::opdet::AsymGaussPulseFunction< T >.
Definition at line 147 of file PhotoelectronPulseFunction.h.
|
protectedpure virtual |
Implementation of the function evaluation at time
.
|
inlineprotectedvirtual |
Returns the amplitude of the first peak in ADC counts.
Reimplemented in icarus::opdet::CustomPulseFunction< T >, icarus::opdet::AsymExpPulseFunction< T >, icarus::opdet::SampledWaveformFunction< T >, and icarus::opdet::AsymGaussPulseFunction< T >.
Definition at line 131 of file PhotoelectronPulseFunction.h.
|
protectedpure virtual |
Returns the time at which the first peak is found.
Implemented in icarus::opdet::CustomPulseFunction< T >, icarus::opdet::AsymExpPulseFunction< T >, icarus::opdet::SampledWaveformFunction< T >, and icarus::opdet::AsymGaussPulseFunction< T >.
|
inlineprotectedvirtual |
Returns the polarity of the pulse (+1 or -1).
Definition at line 137 of file PhotoelectronPulseFunction.h.
|
inline |
Prints on stream the parameters of this shape.
out | the stream to write into |
indent | indentation string, prepended to all lines except first |
indentFirst | indentation string prepended to the first line |
Definition at line 86 of file PhotoelectronPulseFunction.h.
|
inline |
Definition at line 91 of file PhotoelectronPulseFunction.h.
|
inline |
Evaluates the pulse at the given time.
time | time to evaluate the shape at |
Definition at line 61 of file PhotoelectronPulseFunction.h.
|
inline |
Alias of evaluateAt()
.
Definition at line 64 of file PhotoelectronPulseFunction.h.
|
inline |
Returns the amplitude of the first peak in ADC counts.
Definition at line 70 of file PhotoelectronPulseFunction.h.
|
inline |
Returns the time at which the first peak is found.
Definition at line 67 of file PhotoelectronPulseFunction.h.
|
inline |
Returns the polarity of the pulse (+1
: positive, or -1
: negative).
Definition at line 76 of file PhotoelectronPulseFunction.h.
std::string icarus::opdet::PhotoelectronPulseFunction< T >::toString | ( | std::string const & | indent, |
std::string const & | firstIndent | ||
) | const |
Returns the parameters of this shape as a descriptive string.
indent | indentation string, prepended to all lines except first |
indentFirst | indentation string prepended to the first line |
Definition at line 164 of file PhotoelectronPulseFunction.h.
|
inline |
Definition at line 105 of file PhotoelectronPulseFunction.h.