diff --git a/corsika/detail/framework/core/ParticleProperties.inl b/corsika/detail/framework/core/ParticleProperties.inl index 06bca17cf981b5f8b96300660c3aad713c7b0dc1..b5b4410aa60c1a0c5e8aed7ad4b4b0a8f159ef11 100644 --- a/corsika/detail/framework/core/ParticleProperties.inl +++ b/corsika/detail/framework/core/ParticleProperties.inl @@ -132,6 +132,11 @@ namespace corsika { if (std::abs(k) <= maxPDG) { return particle::detail::conversionArray[k + maxPDG]; } else { + if (1000000000 <= k && k <= 1009999990) { // nucleus (no L or I) + int const Z = (k - 1000000000) / 10000; + int const A = (k - 1000000000 - 10000 * Z) / 10; + return get_nucleus_code(A, Z); + } return particle::detail::conversionMap.at(p); } }