From cecc3bb39fa3e24c262975d8af63b828a900497b Mon Sep 17 00:00:00 2001
From: Felix Riehn <felix@matilda>
Date: Fri, 24 Apr 2020 18:50:12 +0100
Subject: [PATCH] fixed GetSibyllMass, do clang

---
 Processes/Sibyll/ParticleConversion.cc | 5 ++++-
 Processes/Sibyll/sibyll2.3c.cc         | 2 +-
 Processes/Sibyll/testSibyll.cc         | 1 -
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/Processes/Sibyll/ParticleConversion.cc b/Processes/Sibyll/ParticleConversion.cc
index 040b35b2c..b342830c0 100644
--- a/Processes/Sibyll/ParticleConversion.cc
+++ b/Processes/Sibyll/ParticleConversion.cc
@@ -20,7 +20,10 @@ corsika::units::si::HEPMassType corsika::process::sibyll::GetSibyllMass(
   if (pCode == corsika::particles::Code::Nucleus)
     throw std::runtime_error("Cannot GetMass() of particle::Nucleus -> unspecified");
   auto sCode = ConvertToSibyllRaw(pCode);
-  return sqrt(get_sibyll_mass2(sCode)) * 1_GeV;
+  if (sCode == 0)
+    return std::numeric_limits<double>::quiet_NaN() * 1_GeV;
+  else
+    return sqrt(get_sibyll_mass2(sCode)) * 1_GeV;
 }
 
 // const std::map<sibyll::PID, ParticleProperties::InternalParticleCode>
diff --git a/Processes/Sibyll/sibyll2.3c.cc b/Processes/Sibyll/sibyll2.3c.cc
index 7cb2c027d..52cfd7c26 100644
--- a/Processes/Sibyll/sibyll2.3c.cc
+++ b/Processes/Sibyll/sibyll2.3c.cc
@@ -14,7 +14,7 @@
 #include <random>
 
 int get_nwounded() { return s_chist_.nwd; }
-double get_sibyll_mass2(int& id) { return s_mass1_.am2[id]; }
+double get_sibyll_mass2(int& id) { return s_mass1_.am2[abs(id) - 1]; }
 
 double s_rndm_(int&) {
   static corsika::random::RNG& rng =
diff --git a/Processes/Sibyll/testSibyll.cc b/Processes/Sibyll/testSibyll.cc
index 2fef7138f..553c980c6 100644
--- a/Processes/Sibyll/testSibyll.cc
+++ b/Processes/Sibyll/testSibyll.cc
@@ -40,7 +40,6 @@ TEST_CASE("Sibyll", "[processes]") {
     REQUIRE(process::sibyll::ConvertToSibyllRaw(particles::Proton::GetCode()) == 13);
     REQUIRE(process::sibyll::ConvertToSibyll(particles::XiStarC0::GetCode()) ==
             process::sibyll::SibyllCode::XiStarC0);
-
   }
 
   SECTION("canInteractInSibyll") {
-- 
GitLab