diff --git a/corsika/detail/modules/proposal/InteractionModel.inl b/corsika/detail/modules/proposal/InteractionModel.inl index d8198bab5d088bab0d2e910a400a85afa1a142cf..7a34c1365dc66f5bd3aa019ebf1ed732c5ff772f 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)); } } }