Belle II Software development
|
Class include function that calculate electronic response from energy deposit
More...
#include <shaperdsp.h>
Classes | |
struct | shaperdspshift_t |
struct for a shift of the shaper dsp More... | |
struct | sv123shift_t |
struct to encapsulate the electronic response from energy deposit More... | |
Public Member Functions | |
ShaperDSP_t () | |
class constructor | |
ShaperDSP_t (const std::vector< double > &s) | |
calculate derivative of the response function | |
ShaperDSP_t (const std::vector< double > &s, double u) | |
class constructor | |
void | init (const std::vector< double > &s, double u=-1) |
Initialization of the parameters response function. | |
double | operator() (double) const |
wrapper of the function | |
double | operator() (double *, double *) |
TF1 ROOT interface. | |
void | settimestride (double) |
set grid step for function calculation | |
void | setseedoffset (double) |
set timeoffset | |
void | settimeseed (double) |
set initial time | |
void | nextseed () |
substruct toffset to tzero | |
void | fillvector (std::vector< double > &) const |
fill vector with response function values and its derivative | |
void | fillvector (std::vector< dd_t > &) const |
fill vector with response function values and its derivative | |
void | fillvector (double, std::vector< double > &) const |
fill vector with response function values and its derivative | |
void | fillvector (double, std::vector< dd_t > &) const |
fill vector with response function values and its derivative | |
void | fillarray (int, double *) const |
fill array for amplitude and time calculation | |
void | fillarray (int, dd_t *) const |
fill array for amplitude and time calculation | |
void | fillarray (double, int, double *) const |
fill array for amplitude and time calculation | |
void | fillarray (double, int, dd_t *) const |
fill array for amplitude and time calculation | |
Private Member Functions | |
void | Sv123_init (double t01, double tb1, double t02, double tb2, double td1, double ts1) |
calculate some values for Sv123 function | |
void | init (const double *, double) |
calculate some values for Sv123 function | |
void | init (const double *) |
calculate some values for Sv123 function | |
double | Sv123 (const sv123shift_t &) const |
calculate Sv123 function | |
dd_t | ddSv123 (const sv123shift_t &) const |
calculate derivative of the Sv123 function | |
double | Sv123_filtered (const sv123shift_t &) const |
Numerical calculation of the time convolution. | |
dd_t | ddSv123_filtered (const sv123shift_t &) const |
This is derivative of the confolution | |
double | ShaperDSP (const shaperdspshift_t &) const |
calculate response function | |
dd_t | ddShaperDSP (const shaperdspshift_t &) const |
calculate derivative of the response function | |
Private Attributes | |
double | _cs0 = realNaN |
linear coefficient before sin of the first Bessel stage | |
double | _cc0 = realNaN |
linear coefficient before cos of the first Bessel stage | |
double | _cs1 = realNaN |
linear coefficient before sin of the second Bessel stage | |
double | _cc1 = realNaN |
linear coefficient before cos of the second Bessel stage | |
double | _ces = realNaN |
linear coefficient before first part of tail section | |
double | _ced = realNaN |
linear coefficient before second part of tail section | |
double | _dw0 = realNaN |
circular frequency of the first Bessel stage | |
double | _dw1 = realNaN |
circular frequency of the second Bessel stage | |
double | _dks0 = realNaN |
decrement of the first Bessel stage | |
double | _dks1 = realNaN |
decrement of the second Bessel stage | |
double | _ds = realNaN |
inverse scintillation decay time | |
double | _dd = realNaN |
inverse time of the differential stage | |
double | _dt0 = realNaN |
coefficient for first exponent factor | |
double | _dt1 = realNaN |
coefficient for second exponent factor | |
double | _toff = realNaN |
time offset | |
double | _w0 = realNaN |
weight coefficient at sv123(t) = (1-a) | |
double | _w1 = realNaN |
weight coefficient at sv123(t+_filterdt) +sv123(t-_filterdt) = a/2 | |
double | _ccc = realNaN |
exponent factor for tail part of the signal | |
sv123shift_t | _tp |
_filterdt | |
sv123shift_t | _tm |
shaperdspshift_t | _tstride |
time step of the grid for response function calculation | |
shaperdspshift_t | _toffset |
time offset | |
shaperdspshift_t | _tzero |
initial time | |
Static Private Attributes | |
static const double | _defs [] = {0.5, 0.6483, 0.4017, 0.3741, 0.8494, 0.00144547, 4.7071, 0.8156, 0.5556, 0.2752} |
parameters of the response function that use as default | |
static constexpr double | _filterdt = 0.2 |
time shift that include in response function for numerical calculation time convolutions. | |
Class include function that calculate electronic response from energy deposit
Definition at line 26 of file shaperdsp.h.
|
inline |
class constructor
Definition at line 155 of file shaperdsp.h.
|
inlineexplicit |
calculate derivative of the response function
Definition at line 157 of file shaperdsp.h.
|
inline |
|
inline |
Definition at line 161 of file shaperdsp.h.
|
private |
calculate derivative of the response function
Definition at line 289 of file shaperdsp.cc.
|
private |
calculate derivative of the Sv123 function
Definition at line 228 of file shaperdsp.cc.
|
private |
This is derivative of the confolution
Definition at line 259 of file shaperdsp.cc.
void fillarray | ( | double | t, |
int | n, | ||
dd_t * | s | ||
) | const |
fill array for amplitude and time calculation
Definition at line 408 of file shaperdsp.cc.
void fillarray | ( | double | t, |
int | n, | ||
double * | s | ||
) | const |
fill array for amplitude and time calculation
Definition at line 399 of file shaperdsp.cc.
void fillarray | ( | int | n, |
dd_t * | s | ||
) | const |
fill array for amplitude and time calculation
Definition at line 390 of file shaperdsp.cc.
void fillarray | ( | int | n, |
double * | s | ||
) | const |
fill array for amplitude and time calculation
Definition at line 381 of file shaperdsp.cc.
void fillvector | ( | double | t, |
std::vector< dd_t > & | s | ||
) | const |
fill vector with response function values and its derivative
Definition at line 432 of file shaperdsp.cc.
void fillvector | ( | double | t, |
std::vector< double > & | s | ||
) | const |
fill vector with response function values and its derivative
Definition at line 427 of file shaperdsp.cc.
void fillvector | ( | std::vector< dd_t > & | s | ) | const |
fill vector with response function values and its derivative
Definition at line 422 of file shaperdsp.cc.
void fillvector | ( | std::vector< double > & | s | ) | const |
fill vector with response function values and its derivative
Definition at line 417 of file shaperdsp.cc.
|
private |
calculate some values for Sv123 function
Definition at line 337 of file shaperdsp.cc.
|
private |
calculate some values for Sv123 function
Definition at line 308 of file shaperdsp.cc.
void init | ( | const std::vector< double > & | s, |
double | u = -1 |
||
) |
Initialization of the parameters response function.
s | vector of shape parameters |
u | 'unitscale' of the waveform template This sets the normalization for the template amplitude to be unity. If the waveform templates are modified this needs to be adjusted as well. If unitscale is set to negative value, it is calculated dynamically based on shape parameters. |
Definition at line 342 of file shaperdsp.cc.
void nextseed | ( | ) |
double operator() | ( | double * | x, |
double * | |||
) |
TF1 ROOT interface.
Definition at line 356 of file shaperdsp.cc.
double operator() | ( | double | t | ) | const |
wrapper of the function
Definition at line 350 of file shaperdsp.cc.
void setseedoffset | ( | double | dt | ) |
set timeoffset
Definition at line 366 of file shaperdsp.cc.
void settimeseed | ( | double | t0 | ) |
set initial time
Definition at line 371 of file shaperdsp.cc.
void settimestride | ( | double | dt | ) |
set grid step for function calculation
Definition at line 361 of file shaperdsp.cc.
|
private |
calculate response function
Definition at line 273 of file shaperdsp.cc.
|
private |
|
private |
Numerical calculation of the time convolution.
Integration with histogram is used. Int g(s-t)f(t)dt=g(s)+a*(g(s+_filterdt)-g(s-_filterdt))/2
Definition at line 245 of file shaperdsp.cc.
|
private |
calculate some values for Sv123 function
Definition at line 124 of file shaperdsp.cc.
|
private |
linear coefficient before cos of the first Bessel stage
Definition at line 80 of file shaperdsp.h.
|
private |
linear coefficient before cos of the second Bessel stage
Definition at line 84 of file shaperdsp.h.
|
private |
exponent factor for tail part of the signal
Definition at line 114 of file shaperdsp.h.
|
private |
linear coefficient before second part of tail section
Definition at line 88 of file shaperdsp.h.
|
private |
linear coefficient before first part of tail section
Definition at line 86 of file shaperdsp.h.
|
private |
linear coefficient before sin of the first Bessel stage
Definition at line 78 of file shaperdsp.h.
|
private |
linear coefficient before sin of the second Bessel stage
Definition at line 82 of file shaperdsp.h.
|
private |
inverse time of the differential stage
Definition at line 100 of file shaperdsp.h.
|
staticprivate |
parameters of the response function that use as default
Definition at line 72 of file shaperdsp.h.
|
private |
decrement of the first Bessel stage
Definition at line 94 of file shaperdsp.h.
|
private |
decrement of the second Bessel stage
Definition at line 96 of file shaperdsp.h.
|
private |
inverse scintillation decay time
Definition at line 98 of file shaperdsp.h.
|
private |
coefficient for first exponent factor
Definition at line 102 of file shaperdsp.h.
|
private |
coefficient for second exponent factor
Definition at line 104 of file shaperdsp.h.
|
private |
circular frequency of the first Bessel stage
Definition at line 90 of file shaperdsp.h.
|
private |
circular frequency of the second Bessel stage
Definition at line 92 of file shaperdsp.h.
|
staticconstexprprivate |
time shift that include in response function for numerical calculation time convolutions.
Integration with histogram is used. Int g(s-t)f(t)dt=g(s)+a*(g(s+_filterdt)-g(s-_filterdt))/2
Definition at line 75 of file shaperdsp.h.
|
private |
Definition at line 120 of file shaperdsp.h.
|
private |
time offset
Definition at line 107 of file shaperdsp.h.
|
private |
time offset
Definition at line 126 of file shaperdsp.h.
|
private |
_filterdt
Definition at line 117 of file shaperdsp.h.
|
private |
time step of the grid for response function calculation
Definition at line 123 of file shaperdsp.h.
|
private |
initial time
Definition at line 128 of file shaperdsp.h.
|
private |
weight coefficient at sv123(t) = (1-a)
Definition at line 109 of file shaperdsp.h.
|
private |
weight coefficient at sv123(t+_filterdt) +sv123(t-_filterdt) = a/2
Definition at line 111 of file shaperdsp.h.