From e3db1b1dbc4fe12fa09079bd82369b34462c59f2 Mon Sep 17 00:00:00 2001 From: Maximilian Reininghaus <maximilian.reininghaus@kit.edu> Date: Mon, 13 May 2019 15:49:00 -0300 Subject: [PATCH] NuclearCompostion: avg. mass number also for non-nuclei (e.g. for p-composition instead of H) --- Environment/NuclearComposition.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Environment/NuclearComposition.h b/Environment/NuclearComposition.h index 491f25a25..d97ba3808 100644 --- a/Environment/NuclearComposition.h +++ b/Environment/NuclearComposition.h @@ -64,9 +64,13 @@ namespace corsika::environment { , fComponents(pComponents) , fAvgMassNumber(std::inner_product( pComponents.cbegin(), pComponents.cend(), pFractions.cbegin(), 0., - [](double x, double y) { return x + y; }, - [](auto const& compID, auto const& fraction) { - return corsika::particles::GetNucleusA(compID) * fraction; + std::plus<double>(), [](auto const compID, auto const fraction) -> double { + if (particles::IsNucleus(compID)) { + return particles::GetNucleusA(compID) * fraction; + } else { + return particles::GetMass(compID) / + units::si::ConvertSIToHEP(units::constants::u) * fraction; + } })) { assert(pComponents.size() == pFractions.size()); auto const sumFractions = -- GitLab