diff --git a/v2.5/toolkit/fastnlotoolkit/fastNLOInterpolBase.cc b/v2.5/toolkit/fastnlotoolkit/fastNLOInterpolBase.cc index 88fd0d71a3a494fadd01a6e8ba715f3d4e6f6be2..91ce9b43799a3e6870fa91e57626f30b69c1f3b6 100644 --- a/v2.5/toolkit/fastnlotoolkit/fastNLOInterpolBase.cc +++ b/v2.5/toolkit/fastnlotoolkit/fastNLOInterpolBase.cc @@ -184,7 +184,33 @@ int fastNLOInterpolBase::FindLargestPossibleNode(double x, bool canExtend = fals while ( x < fgrid[1] ) { double newxH = fHgrid[0] - (fHgrid[1] - fHgrid[0]); fHgrid.insert(fHgrid.begin(), newxH); - fgrid.insert(fgrid.begin(), Function_sqrtlog10_inv(newxH)); + + switch (fdm) { + case fastNLOGrid::kLinear: + fgrid.insert(fgrid.begin(), newxH); + break; + case fastNLOGrid::kLogLog025: + fgrid.insert(fgrid.begin(), Function_loglog025_inv(newxH)); + break; + case fastNLOGrid::kLog10: + fgrid.insert(fgrid.begin(), Function_log10_inv(newxH)); + break; + case fastNLOGrid::kSqrtLog10: + fgrid.insert(fgrid.begin(), Function_sqrtlog10_inv(newxH)); + break; + case fastNLOGrid::kLogLog: + fgrid.insert(fgrid.begin(), Function_loglog_inv(newxH)); + break; + case fastNLOGrid::k3rdrtLog10: + fgrid.insert(fgrid.begin(), Function_3rdrtlog10_inv(newxH)); + break; + case fastNLOGrid::k4thrtLog10: + fgrid.insert(fgrid.begin(), Function_4thrtlog10_inv(newxH)); + break; + default: + error["FindLargestPossibleNode"]<<"Unknown grid type."<<endl; + } + debug["FindLargestPossibleNode"]<<"Value is smaller than smallest node. Extending grid. x="<<x<<endl; gridExtended = true; }