Creates a AsymExpPulseFunction
pulse shape.
More...
Classes | |
struct | Config |
Configuration parameters. More... | |
Public Types | |
using | Parameters = art::ToolConfigTable< Config > |
Tool parameter configuration. More... | |
Public Types inherited from icarus::opdet::SinglePhotonPulseFunctionTool | |
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 | |
AsymExpPulseFunctionTool (Parameters const &config) | |
Constructor: sets the configuration. More... | |
Public Member Functions inherited from icarus::opdet::SinglePhotonPulseFunctionTool | |
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 () override |
Returns the function that was created at construction time. More... | |
Static Private Member Functions | |
static std::unique_ptr < PulseFunction_t > | makePulseFunction (Config const &config) |
Creates and returns a pulse function with the specified configuration. More... | |
static float | peakCurrentFromGain (float gain, nanoseconds raiseTau, nanoseconds fallTau) |
Computes the peak current value out of the shape and gain parameters [mA]. More... | |
Private Attributes | |
std::unique_ptr< PulseFunction_t > | fPulseFunction |
Function stored while waiting to be delivered. More... | |
Creates a AsymExpPulseFunction
pulse shape.
This tool creates a icarus::opdet::AsymExpPulseFunction<nanosecond>
function to describe a R5912 PMT pulse.
See icarus::opdet::AsymExpPulseFunction
for the details of the function.
Run lar --print-description AsymExpPulseFunctionTool
(or read Config
data structure) for a short explanation of the meaning of the parameters.
In addition, note that the actual amplitude in ADC counts of the pulse is composed as the product of the amplitude in charge (PeakCharge
) and the charge-to-ADC conversion factor (ADC
). The latter can be considered as the product of the circuitry impedance (transforming the charge into a voltage) and the digitization conversion (full digitizer range divided by the largest output value).
Finally, note that it is also possible to specify the amplitude of the function in terms of PMT gain (Gain
parameter) instead of current (PeakAmplitude
), in which case the peak current will be calculated to have a correct total charge.
Definition at line 66 of file AsymExpPulseFunctionTool_tool.cc.
using icarus::opdet::AsymExpPulseFunctionTool::Parameters = art::ToolConfigTable<Config> |
Tool parameter configuration.
Definition at line 111 of file AsymExpPulseFunctionTool_tool.cc.
|
inline |
Constructor: sets the configuration.
Definition at line 114 of file AsymExpPulseFunctionTool_tool.cc.
|
inlineoverrideprivatevirtual |
Returns the function that was created at construction time.
Implements icarus::opdet::SinglePhotonPulseFunctionTool.
Definition at line 123 of file AsymExpPulseFunctionTool_tool.cc.
|
staticprivate |
Creates and returns a pulse function with the specified configuration.
Definition at line 147 of file AsymExpPulseFunctionTool_tool.cc.
|
staticprivate |
Computes the peak current value out of the shape and gain parameters [mA].
Definition at line 194 of file AsymExpPulseFunctionTool_tool.cc.
|
private |
Function stored while waiting to be delivered.
Definition at line 129 of file AsymExpPulseFunctionTool_tool.cc.