From 63e176447ad73ea2ab1ed4112c3e1ff366cce8e1 Mon Sep 17 00:00:00 2001
From: ralfulrich <ralf.ulrich@kit.edu>
Date: Thu, 28 Oct 2021 22:31:38 +0200
Subject: [PATCH] fixed examples

---
 examples/corsika.cpp   | 25 ++++++-------------------
 examples/em_shower.cpp | 20 +++++---------------
 examples/hybrid_MC.cpp | 20 +++++---------------
 examples/mars.cpp      |  2 +-
 4 files changed, 17 insertions(+), 50 deletions(-)

diff --git a/examples/corsika.cpp b/examples/corsika.cpp
index 668b5c2d9..e42008e80 100644
--- a/examples/corsika.cpp
+++ b/examples/corsika.cpp
@@ -202,23 +202,12 @@ int main(int argc, char** argv) {
   EnvType env;
   CoordinateSystemPtr const& rootCS = env.getCoordinateSystem();
   Point const center{rootCS, 0_m, 0_m, 0_m};
-  auto builder = make_layered_spherical_atmosphere_builder<
-      setup::EnvironmentInterface, MyExtraEnv>::create(center,
-                                                       constants::EarthRadius::Mean,
-                                                       Medium::AirDry1Atm,
-                                                       MagneticFieldVector{rootCS, 0_T,
-                                                                           50_uT, 0_T});
-  builder.setNuclearComposition(
-      {{Code::Nitrogen, Code::Oxygen},
-       {0.7847, 1. - 0.7847}}); // values taken from AIRES manual, Ar removed for now
-
-  builder.addExponentialLayer(1222.6562_g / (1_cm * 1_cm), 994186.38_cm, 2_km);
-  builder.addExponentialLayer(1222.6562_g / (1_cm * 1_cm), 994186.38_cm, 4_km);
-  builder.addExponentialLayer(1144.9069_g / (1_cm * 1_cm), 878153.55_cm, 10_km);
-  builder.addExponentialLayer(1305.5948_g / (1_cm * 1_cm), 636143.04_cm, 40_km);
-  builder.addExponentialLayer(540.1778_g / (1_cm * 1_cm), 772170.16_cm, 100_km);
-  builder.addLinearLayer(1e9_cm, 112.8_km);
-  builder.assemble(env);
+
+  // build a Linsley US Standard atmosphere into `env`
+  create_5layer_atmosphere<setup::EnvironmentInterface, MyExtraEnv>(
+      env, AtmosphereId::LinsleyUSStd, center, Medium::AirDry1Atm,
+      MagneticFieldVector{rootCS, 0_T, 50_uT, 0_T});
+
   /* === END: SETUP ENVIRONMENT AND ROOT COORDINATE SYSTEM === */
 
   ofstream atmout("earth.dat");
@@ -233,8 +222,6 @@ int main(int argc, char** argv) {
 
   /* === START: CONSTRUCT PRIMARY PARTICLE === */
 
-  /* === START: CONSTRUCT PRIMARY PARTICLE === */
-
   // parse the primary ID as a PDG or A/Z code
   Code beamCode;
 
diff --git a/examples/em_shower.cpp b/examples/em_shower.cpp
index 473056171..07a2b6391 100644
--- a/examples/em_shower.cpp
+++ b/examples/em_shower.cpp
@@ -88,21 +88,11 @@ int main(int argc, char** argv) {
   EnvType env;
   CoordinateSystemPtr const& rootCS = env.getCoordinateSystem();
   Point const center{rootCS, 0_m, 0_m, 0_m};
-  auto builder = make_layered_spherical_atmosphere_builder<
-      setup::EnvironmentInterface, MyExtraEnv>::create(center,
-                                                       constants::EarthRadius::Mean,
-                                                       Medium::AirDry1Atm,
-                                                       Vector{rootCS, 0_T, 50_uT, 0_T});
-  builder.setNuclearComposition(
-      {{Code::Nitrogen, Code::Oxygen},
-       {0.7847f, 1.f - 0.7847f}}); // values taken from AIRES manual, Ar removed for now
-
-  builder.addExponentialLayer(1222.6562_g / (1_cm * 1_cm), 994186.38_cm, 4_km);
-  builder.addExponentialLayer(1144.9069_g / (1_cm * 1_cm), 878153.55_cm, 10_km);
-  builder.addExponentialLayer(1305.5948_g / (1_cm * 1_cm), 636143.04_cm, 40_km);
-  builder.addExponentialLayer(540.1778_g / (1_cm * 1_cm), 772170.16_cm, 100_km);
-  builder.addLinearLayer(1e9_cm, 112.8_km);
-  builder.assemble(env);
+
+  // build a Linsley US Standard atmosphere into `env`
+  create_5layer_atmosphere<setup::EnvironmentInterface, MyExtraEnv>(
+      env, AtmosphereId::LinsleyUSStd, center, Medium::AirDry1Atm,
+      MagneticFieldVector{rootCS, 0_T, 50_uT, 0_T});
 
   // setup particle stack, and add primary particle
   setup::Stack stack;
diff --git a/examples/hybrid_MC.cpp b/examples/hybrid_MC.cpp
index dabed46e9..718fdbca2 100644
--- a/examples/hybrid_MC.cpp
+++ b/examples/hybrid_MC.cpp
@@ -138,21 +138,11 @@ int main(int argc, char** argv) {
   EnvType env;
   CoordinateSystemPtr const& rootCS = env.getCoordinateSystem();
   Point const center{rootCS, 0_m, 0_m, 0_m};
-  auto builder = make_layered_spherical_atmosphere_builder<
-      setup::EnvironmentInterface, MyExtraEnv>::create(center,
-                                                       constants::EarthRadius::Mean,
-                                                       Medium::AirDry1Atm,
-                                                       Vector{rootCS, 0_T, 50_uT, 0_T});
-  builder.setNuclearComposition(
-      {{Code::Nitrogen, Code::Oxygen},
-       {0.7847f, 1.f - 0.7847f}}); // values taken from AIRES manual, Ar removed for now
-
-  builder.addExponentialLayer(1222.6562_g / (1_cm * 1_cm), 994186.38_cm, 4_km);
-  builder.addExponentialLayer(1144.9069_g / (1_cm * 1_cm), 878153.55_cm, 10_km);
-  builder.addExponentialLayer(1305.5948_g / (1_cm * 1_cm), 636143.04_cm, 40_km);
-  builder.addExponentialLayer(540.1778_g / (1_cm * 1_cm), 772170.16_cm, 100_km);
-  builder.addLinearLayer(1e9_cm, 112.8_km);
-  builder.assemble(env);
+
+  // build a Linsley US Standard atmosphere into `env`
+  create_5layer_atmosphere<setup::EnvironmentInterface, MyExtraEnv>(
+      env, AtmosphereId::LinsleyUSStd, center, Medium::AirDry1Atm,
+      MagneticFieldVector{rootCS, 0_T, 50_uT, 0_T});
 
   // setup particle stack, and add primary particle
   setup::Stack stack;
diff --git a/examples/mars.cpp b/examples/mars.cpp
index e1f525020..14eab4096 100644
--- a/examples/mars.cpp
+++ b/examples/mars.cpp
@@ -241,7 +241,7 @@ int main(int argc, char** argv) {
 
   builder.addTabularLayer(layer1, 100, 100_m, 7_km);
   builder.addTabularLayer(layer2, 300, 500_m, 100_km);
-  builder.addLinearLayer(1e9_cm, 112.8_km);
+  builder.addLinearLayer(1_g / square(1_cm), 1e9_cm, 112.8_km);
   builder.assemble(env);
   /* === END: SETUP ENVIRONMENT AND ROOT COORDINATE SYSTEM === */
 
-- 
GitLab