IAP GITLAB

Skip to content
Snippets Groups Projects
Commit bddf6ba4 authored by Remy Prechelt's avatar Remy Prechelt Committed by ralfulrich
Browse files

Remove Setup from PROPOSAL.

parent cba41ff4
No related branches found
No related tags found
No related merge requests found
......@@ -16,12 +16,6 @@
#include <corsika/framework/utility/COMBoost.hpp>
#include <corsika/framework/core/Logging.hpp>
#include <corsika/setup/SetupEnvironment.hpp>
#include <corsika/setup/SetupStack.hpp>
#include <corsika/setup/SetupTrajectory.hpp>
#include <iostream>
namespace corsika::proposal {
inline void ContinuousProcess::buildCalculator(Code code,
......@@ -54,13 +48,12 @@ namespace corsika::proposal {
calc[std::make_pair(comp.getHash(), code)] = std::move(calculator);
}
template <>
inline ContinuousProcess::ContinuousProcess(setup::Environment const& _env)
template <typename TEnvironment>
inline ContinuousProcess::ContinuousProcess(TEnvironment const& _env)
: ProposalProcessBase(_env) {}
template <>
inline void ContinuousProcess::scatter(setup::Stack::particle_type& vP,
HEPEnergyType const& loss,
template <typename TParticle>
inline void ContinuousProcess::scatter(TParticle& vP, HEPEnergyType const& loss,
GrammageType const& grammage) {
// get or build corresponding calculators
......@@ -91,9 +84,9 @@ namespace corsika::proposal {
vP.setMomentum(MomentumVector(vP_dir.getCoordinateSystem(), vec));
}
template <>
inline ProcessReturn ContinuousProcess::doContinuous(setup::Stack::particle_type& vP,
setup::Trajectory const& vT,
template <typename TParticle, typename TTrajectory>
inline ProcessReturn ContinuousProcess::doContinuous(TParticle& vP,
TTrajectory const& vT,
bool const) {
if (!canInteract(vP.getPID())) return ProcessReturn::Ok;
......@@ -119,9 +112,9 @@ namespace corsika::proposal {
return ProcessReturn::Ok;
}
template <>
inline LengthType ContinuousProcess::getMaxStepLength(
setup::Stack::particle_type const& vP, setup::Trajectory const& vT) {
template <typename TParticle, typename TTrajectory>
inline LengthType ContinuousProcess::getMaxStepLength(TParticle const& vP,
TTrajectory const& vT) {
auto const code = vP.getPID();
if (!canInteract(code)) return meter * std::numeric_limits<double>::infinity();
......
......@@ -12,10 +12,6 @@
#include <corsika/framework/utility/COMBoost.hpp>
#include <corsika/framework/core/PhysicalUnits.hpp>
#include <corsika/setup/SetupEnvironment.hpp>
#include <corsika/setup/SetupStack.hpp>
#include <corsika/setup/SetupTrajectory.hpp>
#include <limits>
#include <memory>
#include <random>
......@@ -23,8 +19,8 @@
namespace corsika::proposal {
template <>
inline Interaction::Interaction(setup::Environment const& _env)
template <typename TEnvironment>
inline Interaction::Interaction(TEnvironment const& _env)
: ProposalProcessBase(_env) {}
inline void Interaction::buildCalculator(Code code, NuclearComposition const& comp) {
......@@ -52,8 +48,8 @@ namespace corsika::proposal {
PROPOSAL::make_interaction(c, true));
}
template <>
inline ProcessReturn Interaction::doInteraction(setup::StackView& view) {
template <typename TStackView>
inline ProcessReturn Interaction::doInteraction(TStackView& view) {
auto const projectile = view.getProjectile();
......@@ -106,9 +102,8 @@ namespace corsika::proposal {
return ProcessReturn::Ok;
}
template <>
inline GrammageType Interaction::getInteractionLength(
setup::Stack::particle_type const& projectile) {
template <typename TParticle>
inline GrammageType Interaction::getInteractionLength(TParticle const& projectile) {
if (canInteract(projectile.getPID())) {
auto c = getCalculator(projectile, calc);
......
......@@ -12,10 +12,6 @@
#include <corsika/framework/core/PhysicalUnits.hpp>
#include <corsika/framework/utility/COMBoost.hpp>
#include <corsika/setup/SetupEnvironment.hpp>
#include <corsika/setup/SetupStack.hpp>
#include <corsika/setup/SetupTrajectory.hpp>
#include <cstdlib>
#include <iostream>
#include <limits>
......@@ -30,7 +26,8 @@ namespace corsika::proposal {
return false;
}
inline ProposalProcessBase::ProposalProcessBase(setup::Environment const& _env)
template <typename TEnvironment>
inline ProposalProcessBase::ProposalProcessBase(TEnvironment const& _env)
: RNG_(RNGManager::getInstance().getRandomStream("proposal")) {
_env.getUniverse()->walk([&](auto& vtn) {
if (vtn.hasModelProperties()) {
......
......@@ -16,12 +16,8 @@
#include <corsika/framework/random/RNGManager.hpp>
#include <corsika/framework/random/UniformRealDistribution.hpp>
#include <corsika/media/Environment.hpp>
#include <corsika/modules/proposal/ProposalProcessBase.hpp>
#include <array>
namespace corsika::proposal {
//!
......
......@@ -13,8 +13,6 @@
#include <corsika/framework/core/ParticleProperties.hpp>
#include <corsika/framework/random/RNGManager.hpp>
#include <corsika/setup/SetupEnvironment.hpp>
#include <array>
namespace corsika::proposal {
......@@ -83,7 +81,8 @@ namespace corsika::proposal {
//! Store cut and nuclear composition of the whole universe in media which are
//! required for creating crosssections by proposal.
//!
ProposalProcessBase(corsika::setup::Environment const& _env);
template <typename TEnvironment>
ProposalProcessBase(TEnvironment const& _env);
//!
//! Checks if a particle can be processed by proposal
......
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