215if (logq2 < logq2s().front()) throw GridError("logQ2 value " + to_str(logq2) + " is lower than lowest-logQ2 grid point at " + to_str(logq2s().front()));
216if (logq2 > logq2s().back()) throw GridError("logQ2 value " + to_str(logq2) + " is higher than highest-logQ2 grid point at " + to_str(logq2s().back()));
217/// Find the closest knot below the requested value
218 size_t i = upper_bound(logq2s().begin(), logq2s().end(), logq2) - logq2s().begin();
219if (i == logq2s().size()) i -= 1; // can't return the last knot index
220 i -= 1; // have to step back to get the knot <= q2 behaviour