From 7ada8afc69c4ef6e53bb09377e807739a09c2049 Mon Sep 17 00:00:00 2001
From: ralfulrich <ralf.ulrich@kit.edu>
Date: Mon, 24 Sep 2018 15:46:57 +0200
Subject: [PATCH] added stackinsprector module

---
 Processes/CMakeLists.txt                      |  1 +
 Processes/StackInspector/CMakeLists.txt       | 61 +++++++++++++++++++
 Processes/StackInspector/StackInspector.cc    | 13 ++++
 Processes/StackInspector/StackInspector.h     | 23 +++++++
 .../StackInspector/testStackInspector.cc      | 12 ++++
 5 files changed, 110 insertions(+)
 create mode 100644 Processes/StackInspector/CMakeLists.txt
 create mode 100644 Processes/StackInspector/StackInspector.cc
 create mode 100644 Processes/StackInspector/StackInspector.h
 create mode 100644 Processes/StackInspector/testStackInspector.cc

diff --git a/Processes/CMakeLists.txt b/Processes/CMakeLists.txt
index 9b81c6d9..fe594f3a 100644
--- a/Processes/CMakeLists.txt
+++ b/Processes/CMakeLists.txt
@@ -1,2 +1,3 @@
 add_subdirectory (NullModel)
 add_subdirectory (Sibyll)
+add_subdirectory (StackInspector)
diff --git a/Processes/StackInspector/CMakeLists.txt b/Processes/StackInspector/CMakeLists.txt
new file mode 100644
index 00000000..90b92bca
--- /dev/null
+++ b/Processes/StackInspector/CMakeLists.txt
@@ -0,0 +1,61 @@
+
+set (
+  MODEL_SOURCES
+  StackInspector.cc
+  )
+
+set (
+  MODEL_HEADERS
+  StackInspector.h
+  )
+
+set (
+  MODEL_NAMESPACE
+  corsika/process/stack_inspector
+  )
+
+add_library (ProcessStackInspector STATIC ${MODEL_SOURCES})
+CORSIKA_COPY_HEADERS_TO_NAMESPACE (ProcessStackInspector ${MODEL_NAMESPACE} ${MODEL_HEADERS})
+
+set_target_properties (
+  ProcessStackInspector
+  PROPERTIES
+  VERSION ${PROJECT_VERSION}
+  SOVERSION 1
+#  PUBLIC_HEADER "${MODEL_HEADERS}"
+  )
+
+# target dependencies on other libraries (also the header onlys)
+target_link_libraries (
+  ProcessStackInspector
+  CORSIKAunits
+  )
+
+target_include_directories (
+  ProcessStackInspector 
+  INTERFACE 
+  $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>
+  $<INSTALL_INTERFACE:include/include>
+  )
+
+install (
+  TARGETS ProcessStackInspector
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+#  PUBLIC_HEADER DESTINATION include/${MODEL_NAMESPACE}
+  )
+
+
+# --------------------
+# code unit testing
+add_executable (testStackInspector testStackInspector.cc)
+
+target_link_libraries (
+  testStackInspector
+  CORSIKAgeometry
+  CORSIKAunits
+  CORSIKAthirdparty # for catch2
+  )
+
+add_test (NAME testStackInspector COMMAND testStackInspector)
+
diff --git a/Processes/StackInspector/StackInspector.cc b/Processes/StackInspector/StackInspector.cc
new file mode 100644
index 00000000..1d9ca80e
--- /dev/null
+++ b/Processes/StackInspector/StackInspector.cc
@@ -0,0 +1,13 @@
+#include <corsika/process/stack_inspector/StackInspector.h>
+
+using namespace corsika::process::null_model;
+
+StackInspector::StackInspector() {}
+
+StackInspector::~StackInspector() {}
+
+void StackInspector::init() {}
+
+void StackInspector::run() {}
+
+double StackInspector::GetStepLength() { return 0; }
diff --git a/Processes/StackInspector/StackInspector.h b/Processes/StackInspector/StackInspector.h
new file mode 100644
index 00000000..a64c8420
--- /dev/null
+++ b/Processes/StackInspector/StackInspector.h
@@ -0,0 +1,23 @@
+#ifndef _Physics_StackInspector_StackInspector_h_
+#define _Physics_StackInspector_StackInspector_h_
+
+namespace corsika::process {
+
+  namespace stack_inspector {
+
+    class StackInspector {
+
+    public:
+      StackInspector();
+      ~StackInspector();
+
+      void init();
+      void run();
+      double GetStepLength();
+    };
+
+  } // namespace null_model
+
+} // namespace corsika::process
+
+#endif
diff --git a/Processes/StackInspector/testStackInspector.cc b/Processes/StackInspector/testStackInspector.cc
new file mode 100644
index 00000000..311c732c
--- /dev/null
+++ b/Processes/StackInspector/testStackInspector.cc
@@ -0,0 +1,12 @@
+#define CATCH_CONFIG_MAIN // This tells Catch to provide a main() - only do this in one
+                          // cpp file
+#include <catch2/catch.hpp>
+
+#include <corsika/units/PhysicalUnits.h>
+
+TEST_CASE("NullModel", "[processes]") {
+
+  SECTION("bla") {}
+
+  SECTION("blubb") {}
+}
-- 
GitLab