From 31196fb99a59c23168f68b780957613ad523cdc8 Mon Sep 17 00:00:00 2001
From: Jean-Marco Alameddine <jean-marco.alameddine@udo.edu>
Date: Tue, 4 Apr 2023 12:22:20 +0200
Subject: [PATCH] Use proposal-internal mass definition when converting total
 energies to kinetic energies of secondary particles extracted from proposal

---
 corsika/detail/modules/proposal/InteractionModel.inl | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/corsika/detail/modules/proposal/InteractionModel.inl b/corsika/detail/modules/proposal/InteractionModel.inl
index d8198bab5..7a34c1365 100644
--- a/corsika/detail/modules/proposal/InteractionModel.inl
+++ b/corsika/detail/modules/proposal/InteractionModel.inl
@@ -133,7 +133,10 @@ namespace corsika::proposal {
           this->doHadronicPhotonInteraction(view, labCS, photonP4, targetId);
         } else {
           auto sec_code = convert_from_PDG(static_cast<PDGCode>(s.type));
-          view.addSecondary(std::make_tuple(sec_code, E - get_mass(sec_code), dir));
+          // use mass provided by PROPOSAL to ensure correct conversion to kinetic energy
+          auto massProposal =
+              PROPOSAL::ParticleDef::GetParticleDefForType(s.type).mass * 1_MeV;
+          view.addSecondary(std::make_tuple(sec_code, E - massProposal, dir));
         }
       }
     }
-- 
GitLab