From 2e4958240540cd70642d8e4b990232a3bd02e1fa Mon Sep 17 00:00:00 2001
From: Maximilian Reininghaus <maximilian.reininghaus@kit.edu>
Date: Wed, 19 Dec 2018 15:48:11 +0100
Subject: [PATCH] constexpr constant for grammage conversion

---
 Framework/Cascade/Cascade.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/Framework/Cascade/Cascade.h b/Framework/Cascade/Cascade.h
index 0edd50502..4f5069468 100644
--- a/Framework/Cascade/Cascade.h
+++ b/Framework/Cascade/Cascade.h
@@ -66,8 +66,9 @@ namespace corsika::cascade {
           fProcessSequence.GetTotalInverseInteractionLength(particle, step);
 
       // sample random exponential step length in grammage
-      std::exponential_distribution expDist((1_m * 1_m / 1_g) / total_inv_lambda);
-      GrammageType const next_interact = (1_g / (1_m * 1_m)) * expDist(fRNG);
+      auto constexpr grammageConversion = 1_g / (1_m * 1_m);
+      std::exponential_distribution expDist(1 / (grammageConversion * total_inv_lambda));
+      GrammageType const next_interact = grammageConversion * expDist(fRNG);
 
       std::cout << "total_inv_lambda=" << total_inv_lambda
                 << ", next_interact=" << next_interact << std::endl;
-- 
GitLab