From f27f84a787a2dc1e3b522edace81c68b99c0b8e8 Mon Sep 17 00:00:00 2001
From: ralfulrich <ralf.ulrich@kit.edu>
Date: Mon, 13 Dec 2021 23:45:39 +0100
Subject: [PATCH] unit tests

---
 examples/cascade_example.cpp           |  2 +-
 examples/corsika.cpp                   |  8 ++------
 examples/em_shower.cpp                 |  4 ++--
 tests/modules/testObservationPlane.cpp | 14 ++++++++------
 tests/modules/testParticleCut.cpp      | 24 +++++++-----------------
 5 files changed, 20 insertions(+), 32 deletions(-)

diff --git a/examples/cascade_example.cpp b/examples/cascade_example.cpp
index b05e4dd2d..d372773d9 100644
--- a/examples/cascade_example.cpp
+++ b/examples/cascade_example.cpp
@@ -118,7 +118,7 @@ int main() {
       rootCS, {sin(theta) * cos(phi), sin(theta) * sin(phi), -cos(theta)});
 
   ShowerAxis const showerAxis{injectionPos, direction * 100_km, env};
-  EnergyLossWriter<EnergyLossWriterParquet> dEdX{showerAxis};
+  EnergyLossWriter dEdX{showerAxis};
   output.add("energyloss", dEdX);
 
   {
diff --git a/examples/corsika.cpp b/examples/corsika.cpp
index 4fdd647ec..ffae78868 100644
--- a/examples/corsika.cpp
+++ b/examples/corsika.cpp
@@ -157,10 +157,6 @@ int main(int argc, char** argv) {
   app.add_flag("--force-interaction", force_interaction,
                "Force the location of the first interaction.")
       ->group("Misc.");
-  app.add_option("-v,--verbosity", "Verbosity level")
-      ->default_str("info")
-      ->check(CLI::IsMember({"warn", "info", "debug", "trace"}))
-      ->group("Misc.");
   app.add_option("-v,--verbosity", "Verbosity level: warn, info, debug, trace.")
       ->default_val("info")
       ->check(CLI::IsMember({"warn", "info", "debug", "trace"}))
@@ -285,7 +281,7 @@ int main(int argc, char** argv) {
   output.add("energyloss", dEdX);
 
   // create a track writer and register it with the output manager
-  TrackWriter<TrackWriterParquet> tracks;
+  TrackWriter tracks;
   output.add("tracks", tracks);
 
   corsika::sibyll::Interaction sibyll;
@@ -335,7 +331,7 @@ int main(int argc, char** argv) {
 
   corsika::urqmd::UrQMD urqmd;
   InteractionCounter urqmdCounted(urqmd);
-  StackInspector<setup::Stack> stackInspect(50000, false, E0);
+  StackInspector<setup::Stack> stackInspect(10000, false, E0);
 
   // assemble all processes into an ordered process list
   struct EnergySwitch {
diff --git a/examples/em_shower.cpp b/examples/em_shower.cpp
index 1596d9387..8aa6d81da 100644
--- a/examples/em_shower.cpp
+++ b/examples/em_shower.cpp
@@ -145,7 +145,7 @@ int main(int argc, char** argv) {
 
   OutputManager output("em_shower_outputs");
 
-  EnergyLossWriter<EnergyLossWriterParquet> dEdX{showerAxis, 10_g / square(1_cm), 200};
+  EnergyLossWriter dEdX{showerAxis, 10_g / square(1_cm), 200};
   // register energy losses as output
   output.add("dEdX", dEdX);
 
@@ -160,7 +160,7 @@ int main(int argc, char** argv) {
   //  NOT possible right now, due to interface differenc in PROPOSAL
   //  InteractionCounter emCascadeCounted(emCascade);
 
-  TrackWriter<TrackWriterParquet> tracks;
+  TrackWriter tracks;
   output.add("tracks", tracks);
 
   // long. profile; columns for photon, e+, e- still need to be added
diff --git a/tests/modules/testObservationPlane.cpp b/tests/modules/testObservationPlane.cpp
index ce6ad20ab..5432c0946 100644
--- a/tests/modules/testObservationPlane.cpp
+++ b/tests/modules/testObservationPlane.cpp
@@ -53,7 +53,8 @@ TEST_CASE("ObservationPlane", "interface") {
   SECTION("horizontal plane") {
 
     Plane const obsPlane(Point(cs, {10_m, 0_m, 0_m}), DirectionVector(cs, {1., 0., 0.}));
-    ObservationPlane<setup::Tracking> obs(obsPlane, DirectionVector(cs, {0., 1., 0.}));
+    ObservationPlane<setup::Tracking, WriterOff> obs(obsPlane,
+                                                     DirectionVector(cs, {0., 1., 0.}));
 
     LengthType const length = obs.getMaxStepLength(particle, no_used_track);
     ProcessReturn const ret = obs.doContinuous(particle, no_used_track, true);
@@ -81,8 +82,8 @@ TEST_CASE("ObservationPlane", "interface") {
 
   SECTION("transparent plane") {
     Plane const obsPlane(Point(cs, {1_m, 0_m, 0_m}), DirectionVector(cs, {1., 0., 0.}));
-    ObservationPlane<setup::Tracking> obs(obsPlane, DirectionVector(cs, {0., 0., 1.}),
-                                          false);
+    ObservationPlane<setup::Tracking, WriterOff> obs(
+        obsPlane, DirectionVector(cs, {0., 0., 1.}), false);
 
     LengthType const length = obs.getMaxStepLength(particle, no_used_track);
     ProcessReturn const ret = obs.doContinuous(particle, no_used_track, false);
@@ -102,7 +103,8 @@ TEST_CASE("ObservationPlane", "interface") {
 
     Plane const obsPlane(Point(cs, {10_m, 5_m, 5_m}),
                          DirectionVector(cs, {1, 0.1, -0.05}));
-    ObservationPlane<setup::Tracking> obs(obsPlane, DirectionVector(cs, {0., 1., 0.}));
+    ObservationPlane<setup::Tracking, WriterOff> obs(obsPlane,
+                                                     DirectionVector(cs, {0., 1., 0.}));
 
     LengthType const length = obs.getMaxStepLength(particle, no_used_track);
     ProcessReturn const ret = obs.doContinuous(particle, no_used_track, true);
@@ -113,8 +115,8 @@ TEST_CASE("ObservationPlane", "interface") {
 
   SECTION("output") {
     Plane const obsPlane(Point(cs, {1_m, 0_m, 0_m}), DirectionVector(cs, {1., 0., 0.}));
-    ObservationPlane<setup::Tracking> obs(obsPlane, DirectionVector(cs, {0., 0., 1.}),
-                                          false);
+    ObservationPlane<setup::Tracking, WriterOff> obs(
+        obsPlane, DirectionVector(cs, {0., 0., 1.}), false);
     auto const cfg = obs.getConfig();
     CHECK(cfg["type"]);
   }
diff --git a/tests/modules/testParticleCut.cpp b/tests/modules/testParticleCut.cpp
index 33ada16d4..e12ac4601 100644
--- a/tests/modules/testParticleCut.cpp
+++ b/tests/modules/testParticleCut.cpp
@@ -52,7 +52,7 @@ TEST_CASE("ParticleCut", "process,continuous,secondary") {
   SECTION("cut on particle type: inv") {
 
     // particle cut with 20GeV threshold for all, also cut invisible
-    ParticleCut cut(20_GeV, 20_GeV, 20_GeV, 20_GeV, true, false);
+    ParticleCut cut(20_GeV, 20_GeV, 20_GeV, 20_GeV, true);
     CHECK(cut.getHadronKineticECut() == 20_GeV);
 
     // add primary particle to stack
@@ -75,13 +75,11 @@ TEST_CASE("ParticleCut", "process,continuous,secondary") {
     cut.doSecondaries(view);
 
     CHECK(view.getEntries() == 9);
-    CHECK(cut.getNumberInvParticles() == 2);
-    CHECK(cut.getInvEnergy() / 1_GeV == Approx(2000.));
   }
 
   SECTION("cut on particle type: em") {
 
-    ParticleCut cut(20_GeV, false, true);
+    ParticleCut cut(1_EeV, 1_EeV, 1_GeV, 1_GeV, false);
 
     // add primary particle to stack
     auto particle = stack.addParticle(std::make_tuple(
@@ -100,12 +98,10 @@ TEST_CASE("ParticleCut", "process,continuous,secondary") {
     cut.doSecondaries(view);
 
     CHECK(view.getEntries() == 10);
-    CHECK(cut.getNumberEmParticles() == 1);
-    CHECK(cut.getEmEnergy() / 1_GeV == 1000.);
   }
 
   SECTION("cut low energy") {
-    ParticleCut cut(20_GeV, 20_GeV, 20_GeV, 20_GeV, true, false);
+    ParticleCut cut(20_GeV, 20_GeV, 20_GeV, 20_GeV, true);
 
     // add primary particle to stack
     auto particle = stack.addParticle(std::make_tuple(
@@ -134,7 +130,7 @@ TEST_CASE("ParticleCut", "process,continuous,secondary") {
   }
 
   SECTION("cut low energy: electrons, photons, hadrons and muons") {
-    ParticleCut cut(5_MeV, 5_MeV, 5_GeV, 5_GeV, true, false);
+    ParticleCut cut(5_MeV, 5_MeV, 5_GeV, 5_GeV, true);
 
     // add primary particle to stack
     auto particle = stack.addParticle(std::make_tuple(Code::Proton, Eabove - Proton::mass,
@@ -167,7 +163,7 @@ TEST_CASE("ParticleCut", "process,continuous,secondary") {
   }
 
   SECTION("cut low energy:  reset thresholds of arbitrary set of particles") {
-    ParticleCut cut({{Code::Electron, 5_MeV}, {Code::Positron, 50_MeV}}, false, true);
+    ParticleCut cut({{Code::Electron, 5_MeV}, {Code::Positron, 50_MeV}}, false);
     CHECK(get_kinetic_energy_threshold(Code::Electron) !=
           get_kinetic_energy_threshold(Code::Positron));
     CHECK_FALSE(get_kinetic_energy_threshold(Code::Electron) == Electron::mass);
@@ -176,7 +172,7 @@ TEST_CASE("ParticleCut", "process,continuous,secondary") {
   }
 
   SECTION("cut on time") {
-    ParticleCut cut(20_GeV, 20_GeV, 20_GeV, 20_GeV, false, false);
+    ParticleCut cut(20_GeV, 20_GeV, 20_GeV, 20_GeV, false);
     const TimeType too_late = 1_s;
 
     // add primary particle to stack
@@ -196,10 +192,6 @@ TEST_CASE("ParticleCut", "process,continuous,secondary") {
     cut.doSecondaries(view);
 
     CHECK(view.getEntries() == 0);
-    CHECK(cut.getTimeCutEnergy() == 11 * Eabove);
-    CHECK(cut.getCutEnergy() == 0_GeV);
-    cut.reset();
-    CHECK(cut.getTimeCutEnergy() == 0_GeV);
   }
 
   setup::Trajectory const track = setup::testing::make_track<setup::Trajectory>(
@@ -208,7 +200,7 @@ TEST_CASE("ParticleCut", "process,continuous,secondary") {
 
   SECTION("cut on doContinous, just invisibles") {
 
-    ParticleCut cut(20_GeV, 20_GeV, 20_GeV, 20_GeV, true, false);
+    ParticleCut cut(20_GeV, 20_GeV, 20_GeV, 20_GeV, true);
 
     // add particles, all with energies above the threshold
     // only cut is by species
@@ -223,7 +215,5 @@ TEST_CASE("ParticleCut", "process,continuous,secondary") {
     }
 
     CHECK(stack.getEntries() == 9);
-    CHECK(cut.getNumberInvParticles() == 2);
-    CHECK(cut.getInvEnergy() / 1_GeV == 2000);
   }
 }
-- 
GitLab