diff --git a/Documentation/Examples/particle_list_example.cc b/Documentation/Examples/particle_list_example.cc index 51cd31c9b716fba5f66530563980789119b0e92c..0801e0cb7dc6b2d2b3ce949e185e9d47e48e4761 100644 --- a/Documentation/Examples/particle_list_example.cc +++ b/Documentation/Examples/particle_list_example.cc @@ -17,6 +17,7 @@ #include <iomanip> #include <iostream> +#include <string> using namespace corsika::units; using namespace corsika::units::si; using namespace corsika::particles; @@ -38,14 +39,19 @@ int main() { << " | " << endl; cout << std::setw(104) << std::setfill('-') << "-" << endl; for (auto p : corsika::particles::detail::all_particles) { - if (p != Code::Unknown && !IsNucleus(p)) + if (p != Code::Unknown && !IsNucleus(p)) { + auto const sib_id = static_cast<int>(corsika::process::sibyll::ConvertToSibyll(p)); + auto const sib_mass = corsika::process::sibyll::GetSibyllMass(p) / 1_GeV; + auto const qgs_id = + static_cast<int>(corsika::process::qgsjetII::ConvertToQgsjetII(p)); cout << std::setw(20) << std::setfill(' ') << p << " | " << std::setw(10) << static_cast<int>(GetPDG(p)) << " | " << std::setw(10) - << static_cast<int>(corsika::process::sibyll::ConvertToSibyll(p)) << " | " - << std::setw(10) - << static_cast<int>(corsika::process::qgsjetII::ConvertToQgsjetII(p)) << " | " - << std::setw(18) << GetMass(p) / 1_GeV << " | " << std::setw(18) - << corsika::process::sibyll::GetSibyllMass(p) / 1_GeV << " | " << endl; + << (sib_id != 0 ? to_string(sib_id) : "--") << " | " << std::setw(10) + << (qgs_id != 0 ? to_string(qgs_id) : "--") << " | " << std::setw(18) + << std::setprecision(5) << GetMass(p) / 1_GeV << " | " << std::setw(18) + << std::setprecision(5) << (sib_mass != -1 ? to_string(sib_mass) : "--") + << " | " << endl; + } } cout << std::setw(104) << std::setfill('-') << "-" << endl; } diff --git a/Processes/Sibyll/ParticleConversion.cc b/Processes/Sibyll/ParticleConversion.cc index b342830c0760ae0c3a1c437e2b1500c08799f7f4..991420ff40d149788c51aa46ed5389311e3c70b4 100644 --- a/Processes/Sibyll/ParticleConversion.cc +++ b/Processes/Sibyll/ParticleConversion.cc @@ -21,7 +21,7 @@ corsika::units::si::HEPMassType corsika::process::sibyll::GetSibyllMass( throw std::runtime_error("Cannot GetMass() of particle::Nucleus -> unspecified"); auto sCode = ConvertToSibyllRaw(pCode); if (sCode == 0) - return std::numeric_limits<double>::quiet_NaN() * 1_GeV; + return -1_GeV; else return sqrt(get_sibyll_mass2(sCode)) * 1_GeV; }