15static const double realNaN = std::numeric_limits<double>::quiet_NaN();
23 typedef std::pair<double, double> dd_t;
52 void init(
double,
const ShaperDSP_t&) __attribute__((noinline));
65 void init(
double,
const ShaperDSP_t&) __attribute__((noinline));
131 void Sv123_init(
double t01,
double tb1,
double t02,
double tb2,
double td1,
double ts1);
133 void init(
const double*,
double) __attribute__((noinline));
135 void init(
const double*) __attribute__((noinline));
170 void init(
const std::vector<double>& s,
double u = -1);
188 void fillvector(
double, std::vector<double>&)
const;
190 void fillvector(
double, std::vector<dd_t>&)
const;
196 void fillarray(
double,
int,
double*)
const;
198 void fillarray(
double,
int, dd_t*)
const;
Class include function that calculate electronic response from energy deposit
double _dw0
circular frequency of the first Bessel stage
void fillvector(std::vector< double > &) const
fill vector with response function values and its derivative
dd_t ddSv123(const sv123shift_t &) const
calculate derivative of the Sv123 function
double _cs1
linear coefficient before sin of the second Bessel stage
void init(const double *, double)
calculate some values for Sv123 function
double _dks1
decrement of the second Bessel stage
double _cc0
linear coefficient before cos of the first Bessel stage
double _dt0
coefficient for first exponent factor
void settimeseed(double)
set initial time
double Sv123_filtered(const sv123shift_t &) const
Numerical calculation of the time convolution.
double _cc1
linear coefficient before cos of the second Bessel stage
dd_t ddSv123_filtered(const sv123shift_t &) const
This is derivative of the confolution
shaperdspshift_t _tzero
initial time
shaperdspshift_t _tstride
time step of the grid for response function calculation
double _cs0
linear coefficient before sin of the first Bessel stage
double _w1
weight coefficient at sv123(t+_filterdt) +sv123(t-_filterdt) = a/2
double _dw1
circular frequency of the second Bessel stage
ShaperDSP_t()
class constructor
double _ced
linear coefficient before second part of tail section
void settimestride(double)
set grid step for function calculation
double Sv123(const sv123shift_t &) const
calculate Sv123 function
dd_t ddShaperDSP(const shaperdspshift_t &) const
calculate derivative of the response function
double _ds
inverse scintillation decay time
void nextseed()
substruct toffset to tzero
double _dd
inverse time of the differential stage
double ShaperDSP(const shaperdspshift_t &) const
calculate response function
double _dks0
decrement of the first Bessel stage
double _w0
weight coefficient at sv123(t) = (1-a)
void setseedoffset(double)
set timeoffset
static constexpr double _filterdt
time shift that include in response function for numerical calculation time convolutions.
void fillarray(int, double *) const
fill array for amplitude and time calculation
static const double _defs[]
parameters of the response function that use as default
ShaperDSP_t(const std::vector< double > &s, double u)
class constructor
shaperdspshift_t _toffset
time offset
double operator()(double) const
wrapper of the function
double _ccc
exponent factor for tail part of the signal
double _ces
linear coefficient before first part of tail section
ShaperDSP_t(const std::vector< double > &s)
calculate derivative of the response function
double _dt1
coefficient for second exponent factor
sv123shift_t _tp
_filterdt
void Sv123_init(double t01, double tb1, double t02, double tb2, double td1, double ts1)
calculate some values for Sv123 function
static const double realNaN
constant for double NaN
Abstract base class for different kinds of events.
struct for a shift of the shaper dsp
shaperdspshift_t(double _t, const ShaperDSP_t &_p)
constructor from a ShaperDSP class
shaperdspshift_t operator+(const shaperdspshift_t &) const
addition operator
shaperdspshift_t & operator+=(const shaperdspshift_t &)
increment operator
shaperdspshift_t()
default constructor
double et1
shift parameter 1
void init(double, const ShaperDSP_t &)
initialise
double et0
shift parameter 0
struct to encapsulate the electronic response from energy deposit
double e0
exponent factor for first Bessel stage
double es
first exponent factor for tail part of the signal.
double c0
cos of the first Bessel stage
double s1
sin of the second Bessel stage
double ed
second exponent factor for tail part of the signal.
sv123shift_t operator+(const sv123shift_t &) const
addition operator
bool validshift(const sv123shift_t &x) const
check for a valid shift
double c1
cos of the second Bessel stage
sv123shift_t()
default constructor
double s0
sin of the first Bessel stage
double e1
exponent factor for second Bessel stage
void init(double, const ShaperDSP_t &)
initialise
sv123shift_t & operator+=(const sv123shift_t &)
increment operator
sv123shift_t(double _t, const ShaperDSP_t &_p)
constructor from a ShaperDSP class