protected override double A(double t, double T)
{
double _a = a();
if (_a < Math.Sqrt(Const.QL_Epsilon))
{
return 0.0;
} else {
double sigma2 = sigma()*sigma();
double bt = B(t, T);
return Math.Exp((b() + lambda()*sigma()/_a
- 0.5*sigma2/(_a*_a))*(bt - (T - t))
- 0.25*sigma2*bt*bt/_a);
}
}