Belle II Software development
ShaperDSP_t Class Reference

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.
 

Detailed Description

Class include function that calculate electronic response from energy deposit

Definition at line 26 of file shaperdsp.h.

Constructor & Destructor Documentation

◆ ShaperDSP_t() [1/3]

ShaperDSP_t ( )
inline

class constructor

Definition at line 155 of file shaperdsp.h.

155{ init(_defs); }
void init(const double *, double)
calculate some values for Sv123 function
Definition: shaperdsp.cc:308
static const double _defs[]
parameters of the response function that use as default
Definition: shaperdsp.h:72

◆ ShaperDSP_t() [2/3]

ShaperDSP_t ( const std::vector< double > &  s)
inlineexplicit

calculate derivative of the response function

Definition at line 157 of file shaperdsp.h.

157{ init(s); }

◆ ShaperDSP_t() [3/3]

ShaperDSP_t ( const std::vector< double > &  s,
double  u 
)
inline

class constructor

Definition at line 159 of file shaperdsp.h.

159{ init(s, u); }

◆ ~ShaperDSP_t()

~ShaperDSP_t ( )
inline

Definition at line 161 of file shaperdsp.h.

161{}

Member Function Documentation

◆ ddShaperDSP()

dd_t ddShaperDSP ( const shaperdspshift_t t0) const
private

calculate derivative of the response function

Definition at line 289 of file shaperdsp.cc.

290{
291 const sv123shift_t& t00 = static_cast<const ShaperDSP_t::sv123shift_t&>(t0);
292 dd_t f = ddSv123_filtered(t00);
293 if (t0.t > 0) {
294 double z = t0.t * _dt1;
295 double z2 = z * z;
296 double odd = 1 + z2 * (1 / 6. + z2 * (1 / 120.));
297 double evn = 1 + z2 * (1 / 2. + z2 * (1 / 24.));
298 double texp = evn + z * odd;
299 double u = t0.et0 * (1 - t0.et1 * texp);
300 f.first -= _ccc * u;
301
302 double up = -_dt0 * u + ((_dt1 * t0.et0) * (t0.et1 * z2)) * ((z2 * z) * (1 / 120.));
303 f.second -= _ccc * up;
304 }
305 return f;
306}
double _dt0
coefficient for first exponent factor
Definition: shaperdsp.h:102
dd_t ddSv123_filtered(const sv123shift_t &) const
This is derivative of the confolution
Definition: shaperdsp.cc:259
double _ccc
exponent factor for tail part of the signal
Definition: shaperdsp.h:114
double _dt1
coefficient for second exponent factor
Definition: shaperdsp.h:104
struct to encapsulate the electronic response from energy deposit
Definition: shaperdsp.h:30

◆ ddSv123()

dd_t ddSv123 ( const sv123shift_t c) const
private

calculate derivative of the Sv123 function

Definition at line 228 of file shaperdsp.cc.

229{
230 double f0 = (_cs0 * c.s0 + _cc0 * c.c0) * c.e0;
231 double f1 = (_cs1 * c.s1 + _cc1 * c.c1) * c.e1;
232 double fs = _ces * c.es;
233 double fd = _ced * c.ed;
234
235 double f0p = (_dw0 * c.e0) * (_cs0 * c.c0 - _cc0 * c.s0) - (_dks0 * f0);
236 double f1p = (_dw1 * c.e1) * (_cs1 * c.c1 - _cc1 * c.s1) - (_dks1 * f1);
237 double fsp = _ds * fs;
238 double fdp = _dd * fd;
239
240 double f = (f0 + f1) + (fd - fs);
241 double fp = (f0p + f1p) - (fdp - fsp);
242 return dd_t(f, fp);
243}
double _dw0
circular frequency of the first Bessel stage
Definition: shaperdsp.h:90
double _cs1
linear coefficient before sin of the second Bessel stage
Definition: shaperdsp.h:82
double _dks1
decrement of the second Bessel stage
Definition: shaperdsp.h:96
double _cc0
linear coefficient before cos of the first Bessel stage
Definition: shaperdsp.h:80
double _cc1
linear coefficient before cos of the second Bessel stage
Definition: shaperdsp.h:84
double _cs0
linear coefficient before sin of the first Bessel stage
Definition: shaperdsp.h:78
double _dw1
circular frequency of the second Bessel stage
Definition: shaperdsp.h:92
double _ced
linear coefficient before second part of tail section
Definition: shaperdsp.h:88
double _ds
inverse scintillation decay time
Definition: shaperdsp.h:98
double _dd
inverse time of the differential stage
Definition: shaperdsp.h:100
double _dks0
decrement of the first Bessel stage
Definition: shaperdsp.h:94
double _ces
linear coefficient before first part of tail section
Definition: shaperdsp.h:86

◆ ddSv123_filtered()

dd_t ddSv123_filtered ( const sv123shift_t t0) const
private

This is derivative of the confolution

Definition at line 259 of file shaperdsp.cc.

260{
261 if (t0.validshift(_tp)) {
262 dd_t ft0p = ddSv123(t0 + _tp), ft0 = dd_t(0, 0), ft0m = dd_t(0, 0);
263 if (t0.t > 0) {
264 ft0 = ddSv123(t0);
265 if (t0.validshift(_tm))
266 ft0m = ddSv123(t0 + _tm);
267 }
268 return _w0 * ft0 + _w1 * (ft0p + ft0m);
269 }
270 return dd_t(0, 0);
271}
dd_t ddSv123(const sv123shift_t &) const
calculate derivative of the Sv123 function
Definition: shaperdsp.cc:228
double _w1
weight coefficient at sv123(t+_filterdt) +sv123(t-_filterdt) = a/2
Definition: shaperdsp.h:111
double _w0
weight coefficient at sv123(t) = (1-a)
Definition: shaperdsp.h:109
sv123shift_t _tp
_filterdt
Definition: shaperdsp.h:117

◆ fillarray() [1/4]

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.

409{
410 shaperdspshift_t t0 = shaperdspshift_t(t - _toff, *this);
411
412 for (int i = 0; i < n; i++, t0 += _tstride) {
413 s[i] = ddShaperDSP(t0);
414 }
415}
shaperdspshift_t _tstride
time step of the grid for response function calculation
Definition: shaperdsp.h:123
double _toff
time offset
Definition: shaperdsp.h:107
dd_t ddShaperDSP(const shaperdspshift_t &) const
calculate derivative of the response function
Definition: shaperdsp.cc:289

◆ fillarray() [2/4]

void fillarray ( double  t,
int  n,
double *  s 
) const

fill array for amplitude and time calculation

Definition at line 399 of file shaperdsp.cc.

400{
401 shaperdspshift_t t0 = shaperdspshift_t(t - _toff, *this);
402
403 for (int i = 0; i < n; i++, t0 += _tstride) {
404 s[i] = ShaperDSP(t0);
405 }
406}
double ShaperDSP(const shaperdspshift_t &) const
calculate response function
Definition: shaperdsp.cc:273

◆ fillarray() [3/4]

void fillarray ( int  n,
dd_t *  s 
) const

fill array for amplitude and time calculation

Definition at line 390 of file shaperdsp.cc.

391{
392 shaperdspshift_t t0 = _tzero;
393
394 for (int i = 0; i < n; i++, t0 += _tstride) {
395 s[i] = ddShaperDSP(t0);
396 }
397}
shaperdspshift_t _tzero
initial time
Definition: shaperdsp.h:128

◆ fillarray() [4/4]

void fillarray ( int  n,
double *  s 
) const

fill array for amplitude and time calculation

Definition at line 381 of file shaperdsp.cc.

382{
383 shaperdspshift_t t0 = _tzero;
384
385 for (int i = 0; i < n; i++, t0 += _tstride) {
386 s[i] = ShaperDSP(t0);
387 }
388}

◆ fillvector() [1/4]

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.

433{
434 fillarray(t, s.size(), s.data());
435}
void fillarray(int, double *) const
fill array for amplitude and time calculation
Definition: shaperdsp.cc:381

◆ fillvector() [2/4]

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.

428{
429 fillarray(t, s.size(), s.data());
430}

◆ fillvector() [3/4]

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.

423{
424 fillarray(s.size(), s.data());
425}

◆ fillvector() [4/4]

void fillvector ( std::vector< double > &  s) const

fill vector with response function values and its derivative

Definition at line 417 of file shaperdsp.cc.

418{
419 fillarray(s.size(), s.data());
420}

◆ init() [1/3]

void init ( const double *  s)
private

calculate some values for Sv123 function

Definition at line 337 of file shaperdsp.cc.

338{
339 init(s, -1);
340}

◆ init() [2/3]

void init ( const double *  s,
double  unitscale 
)
private

calculate some values for Sv123 function

Definition at line 308 of file shaperdsp.cc.

309{
310 double t01 = s[2];
311 double tb1 = s[3];
312 double t02 = s[7];
313 double tb2 = s[8];
314 double td1 = s[1];
315 double ts1 = s[4];
316 Sv123_init(t01, tb1, t02, tb2, td1, ts1);
317 _dt0 = 1 / s[6];
318 _dt1 = 1 / s[2];
319
320 _toff = s[0];
321 _w0 = 1.0 - s[9];
322 _w1 = 0.5 * s[9];
323 _ccc = s[5];
324
325 _ccc *= unitscale;
326 _cs0 *= unitscale;
327 _cc0 *= unitscale;
328 _cs1 *= unitscale;
329 _cc1 *= unitscale;
330 _ces *= unitscale;
331 _ced *= unitscale;
332
333 _tp.init(_filterdt, *this);
334 _tm.init(-_filterdt, *this);
335}
static constexpr double _filterdt
time shift that include in response function for numerical calculation time convolutions.
Definition: shaperdsp.h:75
void Sv123_init(double t01, double tb1, double t02, double tb2, double td1, double ts1)
calculate some values for Sv123 function
Definition: shaperdsp.cc:124
void init(double, const ShaperDSP_t &)
initialise
Definition: shaperdsp.cc:30

◆ init() [3/3]

void init ( const std::vector< double > &  s,
double  u = -1 
)

Initialization of the parameters response function.

Parameters
svector 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.

343{
344 if (s.size() == 10)
345 init(s.data(), unitscale);
346 else
347 init(_defs, unitscale);
348}

◆ nextseed()

void nextseed ( )

substruct toffset to tzero

Definition at line 376 of file shaperdsp.cc.

377{
378 _tzero += _toffset;
379}
shaperdspshift_t _toffset
time offset
Definition: shaperdsp.h:126

◆ operator()() [1/2]

double operator() ( double *  x,
double *   
)

TF1 ROOT interface.

Definition at line 356 of file shaperdsp.cc.

357{
358 return (*this)(x[0]);
359}

◆ operator()() [2/2]

double operator() ( double  t) const

wrapper of the function

Definition at line 350 of file shaperdsp.cc.

351{
352 shaperdspshift_t t0 = shaperdspshift_t(t - _toff, *this);
353 return ShaperDSP(t0);
354}

◆ setseedoffset()

void setseedoffset ( double  dt)

set timeoffset

Definition at line 366 of file shaperdsp.cc.

367{
368 _toffset.init(dt, *this);
369}
void init(double, const ShaperDSP_t &)
initialise
Definition: shaperdsp.cc:79

◆ settimeseed()

void settimeseed ( double  t0)

set initial time

Definition at line 371 of file shaperdsp.cc.

372{
373 _tzero.init(t0 - _toff, *this);
374}

◆ settimestride()

void settimestride ( double  dt)

set grid step for function calculation

Definition at line 361 of file shaperdsp.cc.

362{
363 _tstride.init(dt, *this);
364}

◆ ShaperDSP()

double ShaperDSP ( const shaperdspshift_t t0) const
private

calculate response function

Definition at line 273 of file shaperdsp.cc.

274{
275 const sv123shift_t& t00 = static_cast<const ShaperDSP_t::sv123shift_t&>(t0);
276 double f = Sv123_filtered(t00);
277 if (t0.t > 0) {
278 double z = t0.t * _dt1;
279 double z2 = z * z;
280 double odd = 1 + z2 * (1 / 6. + z2 * (1 / 120.));
281 double evn = 1 + z2 * (1 / 2. + z2 * (1 / 24.));
282 double texp = evn + z * odd;
283 double df = _ccc * t0.et0 * (1 - t0.et1 * texp);
284 f -= df;
285 }
286 return f;
287}
double Sv123_filtered(const sv123shift_t &) const
Numerical calculation of the time convolution.
Definition: shaperdsp.cc:245

◆ Sv123()

double Sv123 ( const sv123shift_t c) const
private

calculate Sv123 function

Definition at line 218 of file shaperdsp.cc.

219{
220 double f0 = (_cs0 * c.s0 + _cc0 * c.c0) * c.e0;
221 double f1 = (_cs1 * c.s1 + _cc1 * c.c1) * c.e1;
222 double fs = _ces * c.es;
223 double fd = _ced * c.ed;
224
225 return (f0 + f1) + (fd - fs);
226}

◆ Sv123_filtered()

double Sv123_filtered ( const sv123shift_t t0) const
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.

246{
247 if (t0.validshift(_tp)) {
248 double ft0p = Sv123(t0 + _tp), ft0 = 0, ft0m = 0;
249 if (t0.t > 0) {
250 ft0 = Sv123(t0);
251 if (t0.validshift(_tm))
252 ft0m = Sv123(t0 + _tm);
253 }
254 return _w0 * ft0 + _w1 * (ft0p + ft0m);
255 }
256 return 0;
257}
double Sv123(const sv123shift_t &) const
calculate Sv123 function
Definition: shaperdsp.cc:218

◆ Sv123_init()

void Sv123_init ( double  t01,
double  tb1,
double  t02,
double  tb2,
double  td1,
double  ts1 
)
private

calculate some values for Sv123 function

Definition at line 124 of file shaperdsp.cc.

125{
126 double dks0, dks1, dksm,
127 dw0, dw1, dwp, dwm, das1, dac1, das0, dac0, dzna, dksm2, ds, dd,
128 dcs0, dsn0, dzn0, td, ts, dr,
129 dcs0s, dsn0s, dcs0d, dsn0d, dcs1s, dsn1s, dcs1d, dsn1d;
130
131 dr = (ts1 - td1) / td1;
132 if (std::abs(dr) >= 0.0000001) {
133 td = td1;
134 ts = ts1;
135 } else {
136 td = td1;
137 if (ts1 > td1) {
138 ts = td1 * 1.00001;
139 } else {
140 ts = td1 * 0.99999;
141 }
142 }
143
144 dr = ((t01 - t02) * (t01 - t02) + (tb1 - tb2) * (tb1 - tb2)) / (t01 * t01 + tb1 * tb1);
145 dks0 = 1 / t01;
146 dks1 = 1 / t02;
147 if (dr < 0.0000000001) {
148 if (dks0 > dks1) {
149 dks0 = dks1 * 1.00001;
150 } else {
151 dks0 = dks1 * 0.99999;
152 }
153 }
154
155 dksm = dks1 - dks0;
156
157 ds = 1 / ts;
158 dd = 1 / td;
159
160 dw0 = 1 / tb1;
161 dw1 = 1 / tb2;
162 dwp = dw0 + dw1;
163 dwm = dw1 - dw0;
164
165 dksm2 = dksm * dksm;
166
167 dzna = (dksm2 + dwm * dwm) * (dksm2 + dwp * dwp);
168
169 das0 = dw1 * (dksm2 + dwp * dwm);
170 dac0 = -2 * dksm * dw0 * dw1;
171 das1 = dw0 * (dksm2 - dwp * dwm);
172 dac1 = -dac0;
173
174 dsn0 = (ds - dks0);
175 dcs0 = -dw0;
176 dzn0 = dcs0 * dcs0 + dsn0 * dsn0;
177
178 dsn0s = (dsn0 * das0 - dcs0 * dac0) / dzn0;
179 dcs0s = (dcs0 * das0 + dsn0 * dac0) / dzn0;
180
181 dsn0 = (ds - dks1);
182 dcs0 = -dw1;
183 dzn0 = dcs0 * dcs0 + dsn0 * dsn0;
184
185 dsn1s = (dsn0 * das1 - dcs0 * dac1) / dzn0;
186 dcs1s = (dcs0 * das1 + dsn0 * dac1) / dzn0;
187
188 dsn0 = (dd - dks0);
189 dcs0 = -dw0;
190 dzn0 = dcs0 * dcs0 + dsn0 * dsn0;
191
192 dsn0d = (dsn0 * das0 - dcs0 * dac0) / dzn0;
193 dcs0d = (dcs0 * das0 + dsn0 * dac0) / dzn0;
194
195 dsn0 = (dd - dks1);
196 dcs0 = -dw1;
197 dzn0 = dcs0 * dcs0 + dsn0 * dsn0;
198
199 dsn1d = (dsn0 * das1 - dcs0 * dac1) / dzn0;
200 dcs1d = (dcs0 * das1 + dsn0 * dac1) / dzn0;
201
202 _dw0 = dw0;
203 _dw1 = dw1;
204 _dks0 = dks0;
205 _dks1 = dks1;
206 _ds = ds;
207 _dd = dd;
208
209 double sc = 1 / (dzna * (ts - td));
210 _cs0 = sc * (dsn0s - dsn0d);
211 _cc0 = sc * (dcs0s - dcs0d);
212 _cs1 = sc * (dsn1s - dsn1d);
213 _cc1 = sc * (dcs1s - dcs1d);
214 _ces = sc * (dcs0s + dcs1s);
215 _ced = sc * (dcs0d + dcs1d);
216}

Member Data Documentation

◆ _cc0

double _cc0 = realNaN
private

linear coefficient before cos of the first Bessel stage

Definition at line 80 of file shaperdsp.h.

◆ _cc1

double _cc1 = realNaN
private

linear coefficient before cos of the second Bessel stage

Definition at line 84 of file shaperdsp.h.

◆ _ccc

double _ccc = realNaN
private

exponent factor for tail part of the signal

Definition at line 114 of file shaperdsp.h.

◆ _ced

double _ced = realNaN
private

linear coefficient before second part of tail section

Definition at line 88 of file shaperdsp.h.

◆ _ces

double _ces = realNaN
private

linear coefficient before first part of tail section

Definition at line 86 of file shaperdsp.h.

◆ _cs0

double _cs0 = realNaN
private

linear coefficient before sin of the first Bessel stage

Definition at line 78 of file shaperdsp.h.

◆ _cs1

double _cs1 = realNaN
private

linear coefficient before sin of the second Bessel stage

Definition at line 82 of file shaperdsp.h.

◆ _dd

double _dd = realNaN
private

inverse time of the differential stage

Definition at line 100 of file shaperdsp.h.

◆ _defs

const double _defs = {0.5, 0.6483, 0.4017, 0.3741, 0.8494, 0.00144547, 4.7071, 0.8156, 0.5556, 0.2752}
staticprivate

parameters of the response function that use as default

Definition at line 72 of file shaperdsp.h.

◆ _dks0

double _dks0 = realNaN
private

decrement of the first Bessel stage

Definition at line 94 of file shaperdsp.h.

◆ _dks1

double _dks1 = realNaN
private

decrement of the second Bessel stage

Definition at line 96 of file shaperdsp.h.

◆ _ds

double _ds = realNaN
private

inverse scintillation decay time

Definition at line 98 of file shaperdsp.h.

◆ _dt0

double _dt0 = realNaN
private

coefficient for first exponent factor

Definition at line 102 of file shaperdsp.h.

◆ _dt1

double _dt1 = realNaN
private

coefficient for second exponent factor

Definition at line 104 of file shaperdsp.h.

◆ _dw0

double _dw0 = realNaN
private

circular frequency of the first Bessel stage

Definition at line 90 of file shaperdsp.h.

◆ _dw1

double _dw1 = realNaN
private

circular frequency of the second Bessel stage

Definition at line 92 of file shaperdsp.h.

◆ _filterdt

constexpr double _filterdt = 0.2
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.

◆ _tm

sv123shift_t _tm
private
  • _filterdt

Definition at line 120 of file shaperdsp.h.

◆ _toff

double _toff = realNaN
private

time offset

Definition at line 107 of file shaperdsp.h.

◆ _toffset

shaperdspshift_t _toffset
private

time offset

Definition at line 126 of file shaperdsp.h.

◆ _tp

sv123shift_t _tp
private

_filterdt

Definition at line 117 of file shaperdsp.h.

◆ _tstride

shaperdspshift_t _tstride
private

time step of the grid for response function calculation

Definition at line 123 of file shaperdsp.h.

◆ _tzero

shaperdspshift_t _tzero
private

initial time

Definition at line 128 of file shaperdsp.h.

◆ _w0

double _w0 = realNaN
private

weight coefficient at sv123(t) = (1-a)

Definition at line 109 of file shaperdsp.h.

◆ _w1

double _w1 = realNaN
private

weight coefficient at sv123(t+_filterdt) +sv123(t-_filterdt) = a/2

Definition at line 111 of file shaperdsp.h.


The documentation for this class was generated from the following files: