IAP GITLAB

Skip to content
Snippets Groups Projects
Commit 0de8f965 authored by Maximilian Sackel's avatar Maximilian Sackel Committed by Ralf Ulrich
Browse files

change unneccessary particle map to array

parent 051e5d5b
No related branches found
No related tags found
1 merge request!245Include proposal process rebase
...@@ -18,18 +18,10 @@ namespace corsika::process::proposal { ...@@ -18,18 +18,10 @@ namespace corsika::process::proposal {
using namespace corsika::environment; using namespace corsika::environment;
using namespace corsika::units::si; using namespace corsika::units::si;
unordered_map<particles::Code, PROPOSAL::ParticleDef> ContinuousProcess::particles{
{particles::Code::Gamma, PROPOSAL::GammaDef()},
{particles::Code::Electron, PROPOSAL::EMinusDef()},
{particles::Code::Positron, PROPOSAL::EPlusDef()},
{particles::Code::MuMinus, PROPOSAL::MuMinusDef()},
{particles::Code::MuPlus, PROPOSAL::MuPlusDef()},
{particles::Code::TauPlus, PROPOSAL::TauPlusDef()},
{particles::Code::TauMinus, PROPOSAL::TauMinusDef()},
};
bool ContinuousProcess::CanInteract(particles::Code pcode) const noexcept { bool ContinuousProcess::CanInteract(particles::Code pcode) const noexcept {
if (particles.find(pcode) != particles.end()) return true; if (std::find(tracked_particles.begin(), tracked_particles.end(), pcode) !=
tracked_particles.end())
return true;
return false; return false;
} }
......
...@@ -34,7 +34,11 @@ namespace corsika::process::proposal { ...@@ -34,7 +34,11 @@ namespace corsika::process::proposal {
: public corsika::process::ContinuousProcess<ContinuousProcess> { : public corsika::process::ContinuousProcess<ContinuousProcess> {
CORSIKA_ParticleCut& cut; CORSIKA_ParticleCut& cut;
corsika::random::RNG& fRNG; corsika::random::RNG& fRNG;
static unordered_map<particles::Code, PROPOSAL::ParticleDef> particles; static constexpr std::array<particles::Code, 7> tracked_particles{
particles::Code::Gamma, particles::Code::Electron, particles::Code::Positron,
particles::Code::MuMinus, particles::Code::MuPlus, particles::Code::TauPlus,
particles::Code::TauMinus,
};
unordered_map<const NuclearComposition*, PROPOSAL::Medium> media; unordered_map<const NuclearComposition*, PROPOSAL::Medium> media;
bool CanInteract(particles::Code pcode) const noexcept; bool CanInteract(particles::Code pcode) const noexcept;
......
...@@ -19,18 +19,10 @@ namespace corsika::process::proposal { ...@@ -19,18 +19,10 @@ namespace corsika::process::proposal {
using namespace corsika::environment; using namespace corsika::environment;
using namespace corsika::units::si; using namespace corsika::units::si;
std::unordered_map<particles::Code, PROPOSAL::ParticleDef> Interaction::particles{
{particles::Code::Gamma, PROPOSAL::GammaDef()},
{particles::Code::Electron, PROPOSAL::EMinusDef()},
{particles::Code::Positron, PROPOSAL::EPlusDef()},
{particles::Code::MuMinus, PROPOSAL::MuMinusDef()},
{particles::Code::MuPlus, PROPOSAL::MuPlusDef()},
{particles::Code::TauPlus, PROPOSAL::TauPlusDef()},
{particles::Code::TauMinus, PROPOSAL::TauMinusDef()},
};
bool Interaction::CanInteract(particles::Code pcode) const noexcept { bool Interaction::CanInteract(particles::Code pcode) const noexcept {
if (particles.find(pcode) != particles.end()) return true; if (std::find(tracked_particles.begin(), tracked_particles.end(), pcode) !=
tracked_particles.end())
return true;
return false; return false;
} }
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
#include <corsika/process/particle_cut/ParticleCut.h> #include <corsika/process/particle_cut/ParticleCut.h>
#include <corsika/random/RNGManager.h> #include <corsika/random/RNGManager.h>
#include <corsika/random/UniformRealDistribution.h> #include <corsika/random/UniformRealDistribution.h>
#include <unordered_map> #include <array>
#include "PROPOSAL/PROPOSAL.h" #include "PROPOSAL/PROPOSAL.h"
using namespace corsika::environment; using namespace corsika::environment;
...@@ -32,7 +32,11 @@ namespace corsika::process::proposal { ...@@ -32,7 +32,11 @@ namespace corsika::process::proposal {
class Interaction : public corsika::process::InteractionProcess<Interaction> { class Interaction : public corsika::process::InteractionProcess<Interaction> {
CORSIKA_ParticleCut& cut; CORSIKA_ParticleCut& cut;
corsika::random::RNG& fRNG; corsika::random::RNG& fRNG;
static std::unordered_map<particles::Code, PROPOSAL::ParticleDef> particles; static constexpr std::array<particles::Code, 7> tracked_particles{
particles::Code::Gamma, particles::Code::Electron, particles::Code::Positron,
particles::Code::MuMinus, particles::Code::MuPlus, particles::Code::TauPlus,
particles::Code::TauMinus,
};
std::unordered_map<const NuclearComposition*, PROPOSAL::Medium> media; std::unordered_map<const NuclearComposition*, PROPOSAL::Medium> media;
bool CanInteract(particles::Code pcode) const noexcept; bool CanInteract(particles::Code pcode) const noexcept;
......
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