From 17181560641a6bfdeb6be991044f16d8af5f994b Mon Sep 17 00:00:00 2001
From: ralfulrich <ralf.ulrich@kit.edu>
Date: Wed, 27 Oct 2021 12:17:53 +0200
Subject: [PATCH] getMedium not depend on Position

---
 corsika/detail/media/MediumPropertyModel.inl           |  2 +-
 .../detail/modules/proposal/ProposalProcessBase.inl    |  7 +++----
 corsika/media/IMediumPropertyModel.hpp                 |  2 +-
 corsika/media/MediumPropertyModel.hpp                  |  2 +-
 tests/media/testMedium.cpp                             | 10 ++--------
 5 files changed, 8 insertions(+), 15 deletions(-)

diff --git a/corsika/detail/media/MediumPropertyModel.inl b/corsika/detail/media/MediumPropertyModel.inl
index 604175989..a3f7d3ff3 100644
--- a/corsika/detail/media/MediumPropertyModel.inl
+++ b/corsika/detail/media/MediumPropertyModel.inl
@@ -19,7 +19,7 @@ namespace corsika {
       , medium_(medium) {}
 
   template <typename T>
-  inline Medium MediumPropertyModel<T>::getMedium(Point const&) const {
+  inline Medium MediumPropertyModel<T>::getMedium() const {
     return medium_;
   }
 
diff --git a/corsika/detail/modules/proposal/ProposalProcessBase.inl b/corsika/detail/modules/proposal/ProposalProcessBase.inl
index 404e713b7..936798ea1 100644
--- a/corsika/detail/modules/proposal/ProposalProcessBase.inl
+++ b/corsika/detail/modules/proposal/ProposalProcessBase.inl
@@ -32,8 +32,7 @@ namespace corsika::proposal {
     _env.getUniverse()->walk([&](auto& vtn) {
       if (vtn.hasModelProperties()) {
         const auto& prop = vtn.getModelProperties();
-        const auto& medium = mediumData(
-            prop.getMedium(Point(_env.getCoordinateSystem(), 0_cm, 0_cm, 0_cm)));
+        const auto& medium = mediumData(prop.getMedium());
 
         auto comp_vec = std::vector<PROPOSAL::Component>();
         const auto& comp = prop.getNuclearComposition();
@@ -57,8 +56,8 @@ namespace corsika::proposal {
     PROPOSAL::InterpolationSettings::TABLES_PATH = corsika_data("PROPOSAL").c_str();
   }
 
-  inline size_t ProposalProcessBase::hash::operator()(const calc_key_t& p) const
-      noexcept {
+  inline size_t ProposalProcessBase::hash::operator()(
+      const calc_key_t& p) const noexcept {
     return p.first ^ std::hash<Code>{}(p.second);
   }
 
diff --git a/corsika/media/IMediumPropertyModel.hpp b/corsika/media/IMediumPropertyModel.hpp
index 4455a6242..860fa22da 100644
--- a/corsika/media/IMediumPropertyModel.hpp
+++ b/corsika/media/IMediumPropertyModel.hpp
@@ -31,7 +31,7 @@ namespace corsika {
      * @param  point    The location to evaluate at.
      * @returns    The media type
      */
-    virtual Medium getMedium(Point const&) const = 0;
+    virtual Medium getMedium() const = 0;
 
     /**
      * A virtual default destructor.
diff --git a/corsika/media/MediumPropertyModel.hpp b/corsika/media/MediumPropertyModel.hpp
index 7833599c6..ab89a8a54 100644
--- a/corsika/media/MediumPropertyModel.hpp
+++ b/corsika/media/MediumPropertyModel.hpp
@@ -36,7 +36,7 @@ namespace corsika {
      * @param  point    The location to evaluate at.
      * @returns    The medium type as enum environment::Medium
      */
-    Medium getMedium(Point const&) const override;
+    Medium getMedium() const override;
 
     /**
      * Set the medium type.
diff --git a/tests/media/testMedium.cpp b/tests/media/testMedium.cpp
index bb5a9f0e8..fb55aaa59 100644
--- a/tests/media/testMedium.cpp
+++ b/tests/media/testMedium.cpp
@@ -68,10 +68,7 @@ TEST_CASE("MediumPropertyModel w/ Homogeneous") {
   AtmModel medium(type, density, protonComposition);
 
   // and require that it is constant
-  CHECK(type == medium.getMedium(Point(gCS, -10_m, 4_m, 35_km)));
-  CHECK(type == medium.getMedium(Point(gCS, +210_m, 0_m, 7_km)));
-  CHECK(type == medium.getMedium(Point(gCS, 0_m, 0_m, 0_km)));
-  CHECK(type == medium.getMedium(Point(gCS, 100_km, 400_km, 350_km)));
+  CHECK(type == medium.getMedium());
 
   // a new refractive index
   const Medium type2 = corsika::Medium::StandardRock;
@@ -80,10 +77,7 @@ TEST_CASE("MediumPropertyModel w/ Homogeneous") {
   medium.setMedium(type2);
 
   // check that the returned refractive index is correct
-  CHECK(type2 == medium.getMedium(Point(gCS, -10_m, 4_m, 35_km)));
-  CHECK(type2 == medium.getMedium(Point(gCS, +210_m, 0_m, 7_km)));
-  CHECK(type2 == medium.getMedium(Point(gCS, 0_m, 0_m, 0_km)));
-  CHECK(type2 == medium.getMedium(Point(gCS, 100_km, 400_km, 350_km)));
+  CHECK(type2 == medium.getMedium());
 
   // define our axis vector
   Vector const axis(gCS, QuantityVector<dimensionless_d>(0, 0, 1));
-- 
GitLab