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