From ad793f822a1646e059c9b46274c08bf77bbe1334 Mon Sep 17 00:00:00 2001 From: Remy Prechelt <prechelt@hawaii.edu> Date: Tue, 18 May 2021 10:35:50 -1000 Subject: [PATCH] Remove setup from ParticleCut. --- corsika/detail/modules/ParticleCut.inl | 11 ++++++----- corsika/modules/ParticleCut.hpp | 16 ++++++++-------- tests/modules/testParticleCut.cpp | 1 + 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/corsika/detail/modules/ParticleCut.inl b/corsika/detail/modules/ParticleCut.inl index 04aff2d69..9fc69b4a9 100644 --- a/corsika/detail/modules/ParticleCut.inl +++ b/corsika/detail/modules/ParticleCut.inl @@ -8,7 +8,7 @@ #pragma once -#include <corsika/modules/ParticleCut.hpp> +#include <corsika/framework/core/Logging.hpp> namespace corsika { @@ -148,7 +148,8 @@ namespace corsika { return false; // this particle will not be removed/cut } - inline void ParticleCut::doSecondaries(corsika::setup::StackView& vS) { + template <typename TStackView> + inline void ParticleCut::doSecondaries(TStackView& vS) { auto particle = vS.begin(); while (particle != vS.end()) { if (checkCutParticle(particle)) { particle.erase(); } @@ -156,9 +157,9 @@ namespace corsika { } } - inline ProcessReturn ParticleCut::doContinuous( - corsika::setup::Stack::particle_type& particle, corsika::setup::Trajectory const&, - bool const) { + template <typename TParticle, typename TTrajectory> + inline ProcessReturn ParticleCut::doContinuous(TParticle& particle, TTrajectory const&, + bool const) { CORSIKA_LOG_TRACE("ParticleCut::DoContinuous"); if (checkCutParticle(particle)) { CORSIKA_LOG_TRACE("removing during continuous"); diff --git a/corsika/modules/ParticleCut.hpp b/corsika/modules/ParticleCut.hpp index 7857c691f..e9df7a602 100644 --- a/corsika/modules/ParticleCut.hpp +++ b/corsika/modules/ParticleCut.hpp @@ -15,9 +15,6 @@ #include <corsika/framework/process/SecondariesProcess.hpp> #include <corsika/framework/process/ContinuousProcess.hpp> -#include <corsika/setup/SetupStack.hpp> -#include <corsika/setup/SetupTrajectory.hpp> - namespace corsika { /** simple ParticleCut process. Goes through the secondaries of an interaction and @@ -52,13 +49,16 @@ namespace corsika { ParticleCut(std::unordered_map<Code const, HEPEnergyType const> const& eCuts, bool const em, bool const inv); - void doSecondaries(corsika::setup::StackView&); + template <typename TStackView> + void doSecondaries(TStackView&); + + template <typename TParticle, typename TTrajectory> ProcessReturn doContinuous( - corsika::setup::Stack::particle_type& vParticle, - corsika::setup::Trajectory const& vTrajectory, + TParticle& vParticle, TTrajectory const& vTrajectory, const bool limitFlag = false); // this is not used for ParticleCut - LengthType getMaxStepLength(corsika::setup::Stack::particle_type const&, - corsika::setup::Trajectory const&) { + + template <typename TParticle, typename TTrajectory> + LengthType getMaxStepLength(TParticle const&, TTrajectory const&) { return meter * std::numeric_limits<double>::infinity(); } diff --git a/tests/modules/testParticleCut.cpp b/tests/modules/testParticleCut.cpp index 94ec3f27f..ea3a8bbe5 100644 --- a/tests/modules/testParticleCut.cpp +++ b/tests/modules/testParticleCut.cpp @@ -18,6 +18,7 @@ #include <SetupTestStack.hpp> #include <SetupTestTrajectory.hpp> +#include <corsika/setup/SetupTrajectory.hpp> #include <catch2/catch.hpp> -- GitLab