From 28331cdfcb82f0a4d1d67760dd36ff94ab1062b6 Mon Sep 17 00:00:00 2001
From: Maximilian Reininghaus <maximilian.reininghaus@kit.edu>
Date: Thu, 9 Mar 2023 15:45:05 +0100
Subject: [PATCH] convert_from_PDG() for nuclei

---
 corsika/detail/framework/core/ParticleProperties.inl | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/corsika/detail/framework/core/ParticleProperties.inl b/corsika/detail/framework/core/ParticleProperties.inl
index 06bca17cf..b5b4410aa 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);
     }
   }
-- 
GitLab