From 492fe8b7b3f29e6bf0e1a16b03e4b7fa8e0a7fb7 Mon Sep 17 00:00:00 2001
From: JohannesGaessler <johannesg@5d6.de>
Date: Wed, 21 Jun 2023 19:10:02 +0200
Subject: [PATCH] Fixed bin density for transfer func != sqrtlog10

---
 .../fastnlotoolkit/fastNLOInterpolBase.cc     | 26 ++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/v2.5/toolkit/fastnlotoolkit/fastNLOInterpolBase.cc b/v2.5/toolkit/fastnlotoolkit/fastNLOInterpolBase.cc
index 2e8608f6..afaf4460 100644
--- a/v2.5/toolkit/fastnlotoolkit/fastNLOInterpolBase.cc
+++ b/v2.5/toolkit/fastnlotoolkit/fastNLOInterpolBase.cc
@@ -177,7 +177,31 @@ 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["MakeGridFromHGrid"]<<"Unknown grid type."<<endl;
+         }
          debug["FindLargestPossibleNode"]<<"Value is smaller than smallest node. Extending grid. x="<<x<<endl;
          gridExtended = true;
       }
-- 
GitLab