IAP GITLAB

Skip to content
Snippets Groups Projects
Commit 413d06ad authored by ralfulrich's avatar ralfulrich
Browse files

fixed bug in sibyll2corsika

parent 65fce36a
No related branches found
No related tags found
No related merge requests found
...@@ -30,6 +30,7 @@ using namespace corsika::units; ...@@ -30,6 +30,7 @@ using namespace corsika::units;
using namespace corsika::particles; using namespace corsika::particles;
using namespace corsika::random; using namespace corsika::random;
#include <typeinfo>
#include <iostream> #include <iostream>
using namespace std; using namespace std;
...@@ -42,11 +43,14 @@ public: ...@@ -42,11 +43,14 @@ public:
template <typename Particle> template <typename Particle>
double MinStepLength(Particle& p) const { double MinStepLength(Particle& p) const {
// beam particles for sibyll : 1, 2, 3 for p, pi, k // beam particles for sibyll : 1, 2, 3 for p, pi, k
Code c_id = p.GetPID(); corsika::particles::Code c_id = p.GetPID();
//sibyll::SibyllCodeIntType s_id = process::sibyll::ConvertToSibyll( p.GetPID() ); corsika::process::sibyll::Code s_id = process::sibyll::ConvertToSibyll( p.GetPID() );
corsika::particles::Code p_id_2 = process::sibyll::ConvertFromSibyll( corsika::process::sibyll::Code::Proton );
cout << p_id_2 << endl;
std::cout << "MinStepLength: particle input " << "corsika id: " << c_id << std::endl; std::cout << "MinStepLength: particle input " << "corsika id: " << c_id << std::endl;
//std::cout << "MinStepLength: particle input " << "sibyll id: " << s_id << std::endl; auto test = static_cast<corsika::process::sibyll::SibyllCodeIntType>(s_id);
// std::cout << "MinStepLength: particle input " << "sibyll id: " << process::sibyll::ConvertToSibyll( p.GetPID() ) << std::endl; std::cout << "MinStepLength: particle input " << "sibyll id: |" << (int)test << "|" <<std::endl;
// std::cout << "MinStepLength: particle input " << "sibyll id: " << process::sibyll::ConvertToSibyll( p.GetPID() ) << std::endl;
int kBeam = 1; int kBeam = 1;
/* /*
......
...@@ -37,7 +37,7 @@ namespace corsika::process::sibyll { ...@@ -37,7 +37,7 @@ namespace corsika::process::sibyll {
corsika::particles::Code constexpr ConvertFromSibyll(Code pCode) { corsika::particles::Code constexpr ConvertFromSibyll(Code pCode) {
return sibyll2corsika[static_cast<SibyllCodeIntType>(pCode) - minSibyll]; return sibyll2corsika[static_cast<SibyllCodeIntType>(pCode) - minSibyll];
} }
} // namespace corsika::process::sibyll } // namespace corsika::process::sibyll
#endif #endif
...@@ -60,12 +60,15 @@ def generate_corsika2sibyll(pythia_db): ...@@ -60,12 +60,15 @@ def generate_corsika2sibyll(pythia_db):
# generates the look-up table to convert sibyll codes to corsika codes # generates the look-up table to convert sibyll codes to corsika codes
def generate_sibyll2corsika(pythia_db) : def generate_sibyll2corsika(pythia_db) :
minID = 0
for identifier, pData in pythia_db.items() :
if 'sibyll_code' in pData:
minID = min(minID, pData['sibyll_code'])
pDict = {} pDict = {}
for identifier, pData in pythia_db.items() : for identifier, pData in pythia_db.items() :
if 'sibyll_code' in pData: if 'sibyll_code' in pData:
sib_code = pData['sibyll_code'] sib_code = pData['sibyll_code'] - minID
# corsika_code = pData['ngc_code']
#d[sib_code] = (corsika_code, identifier)
pDict[sib_code] = identifier pDict[sib_code] = identifier
nPart = max(pDict.keys()) - min(pDict.keys()) + 1 nPart = max(pDict.keys()) - min(pDict.keys()) + 1
...@@ -79,7 +82,7 @@ def generate_sibyll2corsika(pythia_db) : ...@@ -79,7 +82,7 @@ def generate_sibyll2corsika(pythia_db) :
string += " corsika::particles::Code::{:s}, \n".format(identifier) string += " corsika::particles::Code::{:s}, \n".format(identifier)
string += "};\n" string += "};\n"
string += "SibyllCodeIntType constexpr minSibyll = {:d};\n".format(min(pDict.keys())) string += "SibyllCodeIntType constexpr minSibyll = {:d};\n".format(minID)
return string return string
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment