Creates a PhotoelectronPulseFunction
pulse shape.
More...
#include <SinglePhotonPulseFunctionTool.h>
Public Types | |
using | nanoseconds = util::quantities::nanosecond |
Convenience definition for time stored in nanoseconds. More... | |
using | PulseFunction_t = icarus::opdet::PhotoelectronPulseFunction< nanoseconds > |
Type of function returned. More... | |
Public Member Functions | |
virtual | ~SinglePhotonPulseFunctionTool ()=default |
std::unique_ptr< PulseFunction_t > | getPulseFunction () |
Returns an instance of the pulse function. More... | |
Private Member Functions | |
virtual std::unique_ptr < PulseFunction_t > | doGetPulseFunction ()=0 |
Returns an instance of the pulse function. More... | |
Creates a PhotoelectronPulseFunction
pulse shape.
Implementations of this tool create a function representing the single photon response of a PMT, as an object derived from icarus::opdet::PhotoelectronPulseFunction<nanosecond>
.
The envisioned usage of this tool is from a temporary, one-time-only call:
where pset
is the FHiCL parameter set configuration for the tool (the type of pulse
can be safely declared auto
). The tool object itself is useless after the first use, and should be disposed of.
The configuration of the tool is implementation-dependent.
Definition at line 52 of file SinglePhotonPulseFunctionTool.h.
Convenience definition for time stored in nanoseconds.
Definition at line 55 of file SinglePhotonPulseFunctionTool.h.
using icarus::opdet::SinglePhotonPulseFunctionTool::PulseFunction_t = icarus::opdet::PhotoelectronPulseFunction<nanoseconds> |
Type of function returned.
Definition at line 59 of file SinglePhotonPulseFunctionTool.h.
|
virtualdefault |
|
privatepure virtual |
Returns an instance of the pulse function.
Only the first call is guaranteed to return a non-null pointer.
Implemented in icarus::opdet::SampledWaveformFunctionTool, icarus::opdet::AsymExpPulseFunctionTool, icarus::opdet::CustomPulseFunctionTool, and icarus::opdet::AsymGaussPulseFunctionTool.
|
inline |
Returns an instance of the pulse function.
This function is guaranteed to return a valid pulse function only once. The return value on following calls is undefined, but it is considered an error to return a null pointer.
See the description of the class for an usage example.
Definition at line 98 of file SinglePhotonPulseFunctionTool.h.