From bf16a02acba8f8b120c3ad85faaf0800bf43a861 Mon Sep 17 00:00:00 2001
From: Jean-Marco Alameddine <jean-marco.alameddine@tu-dortmund.de>
Date: Mon, 26 Feb 2024 10:31:28 +0100
Subject: [PATCH] Set energy_production_threshold for PROPOSAL in mars and
 water cascade_examples

---
 examples/cascade_examples/mars.cpp  | 9 +++++++++
 examples/cascade_examples/water.cpp | 9 +++++++++
 2 files changed, 18 insertions(+)

diff --git a/examples/cascade_examples/mars.cpp b/examples/cascade_examples/mars.cpp
index 26029b804..d41b6f562 100644
--- a/examples/cascade_examples/mars.cpp
+++ b/examples/cascade_examples/mars.cpp
@@ -312,6 +312,15 @@ int main(int argc, char** argv) {
   HEPEnergyType const hadcut = 1_GeV;
   ParticleCut<SubWriter<decltype(dEdX)>> cut(emcut, emcut, hadcut, hadcut, true, dEdX);
 
+  // tell proposal that we are interested in all energy losses above the particle cut
+  set_energy_production_threshold(Code::Electron, std::min({emcut, hadcut}));
+  set_energy_production_threshold(Code::Positron, std::min({emcut, hadcut}));
+  set_energy_production_threshold(Code::Photon, std::min({emcut, hadcut}));
+  set_energy_production_threshold(Code::MuMinus, std::min({emcut, hadcut}));
+  set_energy_production_threshold(Code::MuPlus, std::min({emcut, hadcut}));
+  set_energy_production_threshold(Code::TauMinus, std::min({emcut, hadcut}));
+  set_energy_production_threshold(Code::TauPlus, std::min({emcut, hadcut}));
+
   /* === START: SETUP PROCESS LIST === */
   corsika::sibyll::Interaction sibyll{env};
   InteractionCounter sibyllCounted(sibyll);
diff --git a/examples/cascade_examples/water.cpp b/examples/cascade_examples/water.cpp
index 9943b634e..add92b35a 100644
--- a/examples/cascade_examples/water.cpp
+++ b/examples/cascade_examples/water.cpp
@@ -212,6 +212,15 @@ int main(int argc, char** argv) {
   HEPEnergyType const hadCut = eCut;
   ParticleCut<SubWriter<decltype(dEdX)>> cut(emCut, emCut, hadCut, hadCut, true, dEdX);
 
+  // tell proposal that we are interested in all energy losses above the particle cut
+  set_energy_production_threshold(Code::Electron, std::min({emcut, hadcut}));
+  set_energy_production_threshold(Code::Positron, std::min({emcut, hadcut}));
+  set_energy_production_threshold(Code::Photon, std::min({emcut, hadcut}));
+  set_energy_production_threshold(Code::MuMinus, std::min({emcut, hadcut}));
+  set_energy_production_threshold(Code::MuPlus, std::min({emcut, hadcut}));
+  set_energy_production_threshold(Code::TauMinus, std::min({emcut, hadcut}));
+  set_energy_production_threshold(Code::TauPlus, std::min({emcut, hadcut}));
+
   // hadronic interactions
   HEPEnergyType heHadronModelThreshold = std::pow(10, 1.9) * 1_GeV;
   corsika::sibyll::Interaction sibyll(env);
-- 
GitLab