1243{
1245
1246 double amp =
pvec[0];
1248 double tau1 =
pvec[2];
1249 double tau2 =
pvec[3];
1251
1252 double refldelay =
pvec[5];
1253 double reflFrac =
pvec[6];
1254 double reflwidth =
pvec[7];
1255 double delta =
pvec[8];
1256
1257 double tauRatio = tau2 / tau1;
1258 double tauRatioMinunsOne = tauRatio - 1;
1259
1260 double norm = std::pow(1. / tauRatioMinunsOne, 1. / (1 + tauRatio)) /
1261 ( 1 + std::pow(1. / tauRatioMinunsOne, 1. / (1 + 1 / tauRatio))) ;
1262
1263 double deltaT =
t -
t0;
1264 if (deltaT < 0) deltaT = 0;
1265
1266
1267
1268
1269 double expTerm = delta + std::exp(-deltaT / tau2);
1270 double fermiTerm = 1. / (1. + std::exp(-(t -
t0) / tau1));
1271
1272 double deltaTRefl = deltaT - refldelay;
1273 double reflTerm = -reflFrac*amp*std::exp(-0.5*deltaTRefl*deltaTRefl/reflwidth/reflwidth);
1274
1275 return amp * expTerm * fermiTerm /
norm +
C + reflTerm;
1276}