From 9792864385b048c7c3b2d7517f2bbb6f2ca7b501 Mon Sep 17 00:00:00 2001 From: ralfulrich <ralf.ulrich@kit.edu> Date: Thu, 8 Oct 2020 00:34:36 +0200 Subject: [PATCH] improved/simplified interface to LayeredSp...Atm..Builder --- Documentation/Examples/hybrid_MC.cc | 41 +++++++++++-------- .../CONEXSourceCut/testCONEXSourceCut.cc | 41 +++++++++++-------- 2 files changed, 49 insertions(+), 33 deletions(-) diff --git a/Documentation/Examples/hybrid_MC.cc b/Documentation/Examples/hybrid_MC.cc index 036de755a..515d9ac95 100644 --- a/Documentation/Examples/hybrid_MC.cc +++ b/Documentation/Examples/hybrid_MC.cc @@ -72,9 +72,6 @@ void registerRandomStreams(const int seed) { random::RNGManager::GetInstance().SeedAll(seed); } -template <typename T> -using MEnv = environment::UniformMediumType<environment::UniformMagneticField<T>>; - int main(int argc, char** argv) { logging::SetLevel(logging::level::info); @@ -104,20 +101,30 @@ int main(int argc, char** argv) { {{particles::Code::Nitrogen, particles::Code::Oxygen}, {0.7847f, 1.f - 0.7847f}}); // values taken from AIRES manual, Ar removed for now - builder.addExponentialLayer<MEnv>(1222.6562_g / (1_cm * 1_cm), 994186.38_cm, 4_km, - environment::EMediumType::eAir, - geometry::Vector(rootCS, 0_T, 0_T, 1_T)); - builder.addExponentialLayer<MEnv>(1144.9069_g / (1_cm * 1_cm), 878153.55_cm, 10_km, - environment::EMediumType::eAir, - geometry::Vector(rootCS, 0_T, 0_T, 1_T)); - builder.addExponentialLayer<MEnv>(1305.5948_g / (1_cm * 1_cm), 636143.04_cm, 40_km, - environment::EMediumType::eAir, - geometry::Vector(rootCS, 0_T, 0_T, 1_T)); - builder.addExponentialLayer<MEnv>(540.1778_g / (1_cm * 1_cm), 772170.16_cm, 100_km, - environment::EMediumType::eAir, - geometry::Vector(rootCS, 0_T, 0_T, 1_T)); - builder.addLinearLayer<MEnv>(1e9_cm, 112.8_km, environment::EMediumType::eAir, - geometry::Vector(rootCS, 0_T, 0_T, 1_T)); + builder.addExponentialLayer< + environment::UniformMediumType<environment::UniformMagneticField< + SlidingPlanarExponential<setup::EnvironmentInterface>>>>( + 1222.6562_g / (1_cm * 1_cm), 994186.38_cm, 4_km, environment::EMediumType::eAir, + geometry::Vector(rootCS, 0_T, 0_T, 1_T)); + builder.addExponentialLayer< + environment::UniformMediumType<environment::UniformMagneticField< + SlidingPlanarExponential<setup::EnvironmentInterface>>>>( + 1144.9069_g / (1_cm * 1_cm), 878153.55_cm, 10_km, environment::EMediumType::eAir, + geometry::Vector(rootCS, 0_T, 0_T, 1_T)); + builder.addExponentialLayer< + environment::UniformMediumType<environment::UniformMagneticField< + SlidingPlanarExponential<setup::EnvironmentInterface>>>>( + 1305.5948_g / (1_cm * 1_cm), 636143.04_cm, 40_km, environment::EMediumType::eAir, + geometry::Vector(rootCS, 0_T, 0_T, 1_T)); + builder.addExponentialLayer< + environment::UniformMediumType<environment::UniformMagneticField< + SlidingPlanarExponential<setup::EnvironmentInterface>>>>( + 540.1778_g / (1_cm * 1_cm), 772170.16_cm, 100_km, environment::EMediumType::eAir, + geometry::Vector(rootCS, 0_T, 0_T, 1_T)); + builder.addLinearLayer<environment::UniformMediumType< + environment::UniformMagneticField<HomogeneousMedium<setup::EnvironmentInterface>>>>( + 1e9_cm, 112.8_km, environment::EMediumType::eAir, + geometry::Vector(rootCS, 0_T, 0_T, 1_T)); builder.assemble(env); diff --git a/Processes/CONEXSourceCut/testCONEXSourceCut.cc b/Processes/CONEXSourceCut/testCONEXSourceCut.cc index cd0e58f06..09e905349 100644 --- a/Processes/CONEXSourceCut/testCONEXSourceCut.cc +++ b/Processes/CONEXSourceCut/testCONEXSourceCut.cc @@ -63,20 +63,30 @@ TEST_CASE("CONEXSourceCut") { {{particles::Code::Nitrogen, particles::Code::Oxygen}, {0.7847f, 1.f - 0.7847f}}); // values taken from AIRES manual, Ar removed for now - builder.addExponentialLayer<MEnv>(1222.6562_g / (1_cm * 1_cm), 994186.38_cm, 4_km, - environment::EMediumType::eAir, - geometry::Vector(rootCS, 0_T, 0_T, 1_T)); - builder.addExponentialLayer<MEnv>(1144.9069_g / (1_cm * 1_cm), 878153.55_cm, 10_km, - environment::EMediumType::eAir, - geometry::Vector(rootCS, 0_T, 0_T, 1_T)); - builder.addExponentialLayer<MEnv>(1305.5948_g / (1_cm * 1_cm), 636143.04_cm, 40_km, - environment::EMediumType::eAir, - geometry::Vector(rootCS, 0_T, 0_T, 1_T)); - builder.addExponentialLayer<MEnv>(540.1778_g / (1_cm * 1_cm), 772170.16_cm, 100_km, - environment::EMediumType::eAir, - geometry::Vector(rootCS, 0_T, 0_T, 1_T)); - builder.addLinearLayer<MEnv>(1e9_cm, 112.8_km, environment::EMediumType::eAir, - geometry::Vector(rootCS, 0_T, 0_T, 1_T)); + builder.addExponentialLayer< + environment::UniformMediumType<environment::UniformMagneticField< + SlidingPlanarExponential<setup::EnvironmentInterface>>>>( + 1222.6562_g / (1_cm * 1_cm), 994186.38_cm, 4_km, environment::EMediumType::eAir, + geometry::Vector(rootCS, 0_T, 0_T, 1_T)); + builder.addExponentialLayer< + environment::UniformMediumType<environment::UniformMagneticField< + SlidingPlanarExponential<setup::EnvironmentInterface>>>>( + 1144.9069_g / (1_cm * 1_cm), 878153.55_cm, 10_km, environment::EMediumType::eAir, + geometry::Vector(rootCS, 0_T, 0_T, 1_T)); + builder.addExponentialLayer< + environment::UniformMediumType<environment::UniformMagneticField< + SlidingPlanarExponential<setup::EnvironmentInterface>>>>( + 1305.5948_g / (1_cm * 1_cm), 636143.04_cm, 40_km, environment::EMediumType::eAir, + geometry::Vector(rootCS, 0_T, 0_T, 1_T)); + builder.addExponentialLayer< + environment::UniformMediumType<environment::UniformMagneticField< + SlidingPlanarExponential<setup::EnvironmentInterface>>>>( + 540.1778_g / (1_cm * 1_cm), 772170.16_cm, 100_km, environment::EMediumType::eAir, + geometry::Vector(rootCS, 0_T, 0_T, 1_T)); + builder.addLinearLayer<environment::UniformMediumType< + environment::UniformMagneticField<HomogeneousMedium<setup::EnvironmentInterface>>>>( + 1e9_cm, 112.8_km, environment::EMediumType::eAir, + geometry::Vector(rootCS, 0_T, 0_T, 1_T)); builder.assemble(env); @@ -102,8 +112,7 @@ TEST_CASE("CONEXSourceCut") { [[maybe_unused]] process::sibyll::NuclearInteraction sibyllNuc(sibyll, env); corsika::process::conex_source_cut::CONEXSourceCut conex( - center, showerAxis, t, injectionHeight, E0, - particles::GetPDG(particles::Code::Proton)); + center, showerAxis, t, injectionHeight, E0, particles::Code::Proton); HEPEnergyType const Eem{1_PeV}; auto const momentum = showerAxis.GetDirection() * Eem; -- GitLab