24 : fTint(0), fTdif(0), fTsig(0)
29 : fTint(Tint), fTdif(Tdif), fTsig(Tsig)
36 const double amp,
const double toffset)
const {
45 const double toffset)
const
50 double l_int=1.0/
fTint;
51 double l_dif=1.0/
fTdif;
52 double l_sig=1.0/
fTsig;
54 double term1=
exp(-dt*l_int)*(l_sig-l_dif)*(dt-1/(l_sig-l_int)-1/(l_dif-l_int));
55 double term2=
exp(-dt*l_dif)*(l_sig-l_int)/(l_dif-l_int);
56 double term3=
exp(-dt*l_sig)*(l_dif-l_int)/(l_sig-l_int);
58 return amp/((l_sig-l_dif)*(l_sig-l_int)*(l_dif-l_int))*(term1+term2-term3);
65 const double toffset)
const
70 double l_shaper=1.0/
fTdif;
71 double l_sig=1.0/
fTsig;
73 double dl=l_sig-l_shaper;
75 double term1 = (
exp(-l_shaper*dt)*(dl*dl*dt*dt/2.0 - dl*dt + 1.0 ) -
friend F32vec4 exp(const F32vec4 &a)
virtual double operator()(const double t, const double amp, const double toffset) const
double general_solution(const double t, const double amp, const double toffset) const
double degenerate_solution(const double t, const double amp, const double toffset) const