From e183d94579080c2eee05e3763f75b3a97f17f002 Mon Sep 17 00:00:00 2001 From: Maximilian Sackel <maximilian.sackel@tu-dortmund.de> Date: Thu, 1 Oct 2020 09:28:38 +0000 Subject: [PATCH] Now stores interpolation tables in /home/maximilian/.local/opt/corsika/Data/PROPOSAL. PROPOSAL dir still have to be added to data submodule --- Documentation/Examples/em_shower.cc | 3 --- Documentation/Examples/vertical_EAS.cc | 3 --- Processes/Proposal/ProposalProcessBase.cc | 7 +++++++ 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Documentation/Examples/em_shower.cc b/Documentation/Examples/em_shower.cc index d83cdacf5..5bc85b48c 100644 --- a/Documentation/Examples/em_shower.cc +++ b/Documentation/Examples/em_shower.cc @@ -130,9 +130,6 @@ int main(int argc, char** argv) { // setup processes, decays and interactions // PROPOSAL processs proposal{...}; - PROPOSAL::InterpolationDef::path_to_tables = "~/.local/share/PROPOSAL/tables/"; - PROPOSAL::InterpolationDef::path_to_tables_readonly = "~/.local/share/PROPOSAL/tables/"; - process::particle_cut::ParticleCut cut(10_GeV, false, true); process::proposal::Interaction proposal(env, cut); process::proposal::ContinuousProcess em_continuous(env, cut); diff --git a/Documentation/Examples/vertical_EAS.cc b/Documentation/Examples/vertical_EAS.cc index 738bd73e4..057db325a 100644 --- a/Documentation/Examples/vertical_EAS.cc +++ b/Documentation/Examples/vertical_EAS.cc @@ -185,9 +185,6 @@ int main(int argc, char** argv) { decaySibyll.PrintDecayConfig(); // PROPOSAL processs proposal{...}; - PROPOSAL::InterpolationDef::path_to_tables = "~/.local/share/PROPOSAL/tables/"; - PROPOSAL::InterpolationDef::path_to_tables_readonly = "~/.local/share/PROPOSAL/tables/"; - process::particle_cut::ParticleCut cut{60_GeV, false, true}; process::proposal::Interaction proposal(env, cut); process::proposal::ContinuousProcess em_continuous(env, cut); diff --git a/Processes/Proposal/ProposalProcessBase.cc b/Processes/Proposal/ProposalProcessBase.cc index 815f032b5..d2ab2a220 100644 --- a/Processes/Proposal/ProposalProcessBase.cc +++ b/Processes/Proposal/ProposalProcessBase.cc @@ -18,6 +18,7 @@ #include <memory> #include <random> #include <tuple> +#include <cstdlib> namespace corsika::process::proposal { bool ProposalProcessBase::CanInteract(particles::Code pcode) const { @@ -50,6 +51,12 @@ namespace corsika::process::proposal { PROPOSAL::InterpolationDef::order_of_interpolation = 2; PROPOSAL::InterpolationDef::nodes_cross_section = 100; PROPOSAL::InterpolationDef::nodes_propagate = 1000; + + //! If corsika data exist store interpolation tables to the corresponding + //! path, otherwise interpolation tables would only stored in main memory if + //! no explicit intrpolation def is specified. + if(auto data_path = std::getenv("CORSIKA_DATA")) + PROPOSAL::InterpolationDef::path_to_tables = std::string(data_path) + "/PROPOSAL"; } size_t ProposalProcessBase::hash::operator()(const calc_key_t& p) const noexcept { -- GitLab