Describes the waveform from a single photoelectron. More...
#include <AsymGaussPulseFunction.h>
Public Types | |
| using | ADCcount = typename Base_t::ADCcount |
| Type for ADC counts (floating point). More... | |
| using | Time = typename Base_t::Time |
| Type of time being used. More... | |
Public Types inherited from icarus::opdet::PhotoelectronPulseFunction< T > | |
| 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 | |
| AsymGaussPulseFunction (ADCcount amplitude, Time peakTime, Time sigmaLeft, Time sigmaRight) | |
| Constructor: assigns the parameters of the shape. More... | |
Parameter accessors. | |
| Time | leftSigma () const |
| Time | rightSigma () const |
| ADCcount | amplitude () const |
Public Member Functions inherited from icarus::opdet::PhotoelectronPulseFunction< T > | |
| 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 |
Static Public Member Functions | |
| static ADCcount | Gaussian (Time x, Time mean, Time sigma, ADCcount amplitude) |
| Returns the value of normal distribution at specified point. More... | |
Private Types | |
| using | Base_t = icarus::opdet::PhotoelectronPulseFunction< T > |
Private Member Functions | |
| Time | myPeakTime () const |
| Returns the time of the center of the Gaussian. More... | |
| ADCcount | myAmplitude () const |
| Returns the amplitude of the pulse from the baseline, including its sign. More... | |
| virtual ADCcount | doEvaluateAt (Time time) const override |
| Evaluates the pulse at the given time. More... | |
| virtual Time | doPeakTime () const override |
| Returns the time at which the first peak is found. More... | |
| virtual ADCcount | doPeakAmplitude () const override |
| Returns the amplitude of the first peak in ADC counts. More... | |
| virtual void | doDump (std::ostream &out, std::string const &indent, std::string const &firstIndent) const override |
| Prints on stream the parameters of this shape. More... | |
Static Private Member Functions | |
| template<typename V > | |
| static V | sqr (V value) |
| template<typename V > | |
| static V | round (V value) |
Private Attributes | |
| ADCcount | fAmplitude |
| Amplitude at peak (transition). More... | |
| Time | fTransitTime |
| Time of transition between the two forms of shape. More... | |
| Time | fSigmaL |
| RMS parameter of the shape before transition. More... | |
| Time | fSigmaR |
| RMS parameter of the shape after transition. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from icarus::opdet::PhotoelectronPulseFunction< T > | |
| virtual ADCcount | doEvaluateAt (Time time) const =0 |
Implementation of the function evaluation at time. 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... | |
Describes the waveform from a single photoelectron.
| Time | type of time unit to be used |
This functor (class behaving like a function) describes the shape of the response to a single photoelectron as an asymmetric Gaussian shape.
Definition at line 29 of file AsymGaussPulseFunction.h.
| using icarus::opdet::AsymGaussPulseFunction< T >::ADCcount = typename Base_t::ADCcount |
Type for ADC counts (floating point).
Definition at line 48 of file AsymGaussPulseFunction.h.
|
private |
Definition at line 44 of file AsymGaussPulseFunction.h.
| using icarus::opdet::AsymGaussPulseFunction< T >::Time = typename Base_t::Time |
Type of time being used.
Definition at line 50 of file AsymGaussPulseFunction.h.
|
inline |
Constructor: assigns the parameters of the shape.
| amplitude | the maximum amplitudes of the shape (at transition) |
| peakTime | the time of the maximum amplitude of the shape |
| sigmaLeft | the standard deviation of the shape before transition |
| sigmaRight | the standard deviation of the shape after transition |
The time parameters (peakTime, sigmaLeft and sigmaRight) must be measured in same unit. The peakTime defines the position of the shape with respect to time 0.
Definition at line 64 of file AsymGaussPulseFunction.h.
|
inline |
Definition at line 82 of file AsymGaussPulseFunction.h.
|
overrideprivatevirtual |
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 |
Reimplemented from icarus::opdet::PhotoelectronPulseFunction< T >.
Definition at line 164 of file AsymGaussPulseFunction.h.
|
overrideprivatevirtual |
Evaluates the pulse at the given time.
| time | time to evaluate the shape at |
The scale of the time is defined by the transition time passed at construction.
Definition at line 150 of file AsymGaussPulseFunction.h.
|
inlineoverrideprivatevirtual |
Returns the amplitude of the first peak in ADC counts.
Reimplemented from icarus::opdet::PhotoelectronPulseFunction< T >.
Definition at line 117 of file AsymGaussPulseFunction.h.
|
inlineoverrideprivatevirtual |
Returns the time at which the first peak is found.
Implements icarus::opdet::PhotoelectronPulseFunction< T >.
Definition at line 114 of file AsymGaussPulseFunction.h.
|
inlinestatic |
Returns the value of normal distribution at specified point.
Definition at line 87 of file AsymGaussPulseFunction.h.
|
inline |
Definition at line 80 of file AsymGaussPulseFunction.h.
|
inlineprivate |
Returns the amplitude of the pulse from the baseline, including its sign.
Definition at line 100 of file AsymGaussPulseFunction.h.
|
inlineprivate |
Returns the time of the center of the Gaussian.
Definition at line 97 of file AsymGaussPulseFunction.h.
|
inline |
Definition at line 81 of file AsymGaussPulseFunction.h.
|
inlinestaticprivate |
Definition at line 136 of file AsymGaussPulseFunction.h.
|
inlinestaticprivate |
Definition at line 133 of file AsymGaussPulseFunction.h.
|
private |
Amplitude at peak (transition).
Definition at line 91 of file AsymGaussPulseFunction.h.
|
private |
RMS parameter of the shape before transition.
Definition at line 93 of file AsymGaussPulseFunction.h.
|
private |
RMS parameter of the shape after transition.
Definition at line 94 of file AsymGaussPulseFunction.h.
|
private |
Time of transition between the two forms of shape.
Definition at line 92 of file AsymGaussPulseFunction.h.
1.8.5