diff --git a/corsika/detail/media/MediumPropertyModel.inl b/corsika/detail/media/MediumPropertyModel.inl index 604175989c410c8ae129b1d2012631dc29c49cc1..a3f7d3ff3cc2f8eb909111aeb836a5a04e875720 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 404e713b726a0a1ab6998721f1e3558daa08e053..c7c38c10423ab6fe270c0851f7b77ca21d8ab73c 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(); diff --git a/corsika/media/IMediumPropertyModel.hpp b/corsika/media/IMediumPropertyModel.hpp index 4455a6242be0ecf5a5098ed19da7685879597565..860fa22da0e5d8d09ea4b9dbb9aeb8219cfc0492 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 7833599c63b9806f39b19e581b1846bc5f2b58ec..ab89a8a543a0d25da648d06e45d34adfb5cecec1 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/framework/testCascade.cpp b/tests/framework/testCascade.cpp index 8c57b42ff43412b57475f87e32752a65ff61a12e..9c9918729adf17fc8d7f261c81132bab5ae869c7 100644 --- a/tests/framework/testCascade.cpp +++ b/tests/framework/testCascade.cpp @@ -41,7 +41,7 @@ using namespace std; * and a critical energy. * * It resembles one of the most simple cascades you can simulate with CORSIKA8. - **/ + */ /* The dummy env (here) doesn't need to have any propoerties @@ -65,7 +65,7 @@ auto make_dummy_env() { /** * * For the Heitler model we don't need particle transport. - **/ + */ class DummyTracking { public: diff --git a/tests/framework/testGeometry.cpp b/tests/framework/testGeometry.cpp index 31e96c319741975b523bfb43482ce1de4d82b195..f3b69693146f7c7aee114ce2f25ad459f00fe7c2 100644 --- a/tests/framework/testGeometry.cpp +++ b/tests/framework/testGeometry.cpp @@ -68,6 +68,12 @@ TEST_CASE("Geometry CoordinateSystems") { CHECK(p2.getX(rootCS) == 0_m); CHECK(p2.getY(rootCS) == 4_m); CHECK(p2.getZ(rootCS) == 0_m); + CHECK(p2.getX(translatedCS) == 0_m); + CHECK(p2.getY(translatedCS) == 0_m); + CHECK(p2.getZ(translatedCS) == 0_m); + + Vector<magnetic_flux_density_d> v2(translatedCS, components); + CHECK((v2 - v1).getNorm() / 1_T == Approx(0)); } SECTION("multiple translations") { @@ -270,7 +276,8 @@ TEST_CASE("Geometry Trajectories") { Point r0(rootCS, {0_m, 0_m, 0_m}); SECTION("Line") { - VelocityVector v0(rootCS, {3_m / second, 0_m / second, 0_m / second}); + SpeedType const V0 = 3_m / second; + VelocityVector v0(rootCS, {V0, 0_m / second, 0_m / second}); Line const line(r0, v0); CHECK( @@ -311,6 +318,10 @@ TEST_CASE("Geometry Trajectories") { std::numeric_limits<TimeType::value_type>::infinity() * 1_s); base2.setDuration(10_s); CHECK(base2.getDuration() / 1_s == Approx(10)); + + base2.setLength(1.3_m); + CHECK(base2.getDuration() * V0 / meter == Approx(1.3)); + CHECK(base2.getLength() / meter == Approx(1.3)); } SECTION("Helix") { @@ -412,5 +423,9 @@ TEST_CASE("Path") { CHECK(P3.getLength() / 1_m == Approx(3)); // Check RemoveFromEnd() else case // Check GetNSegments() CHECK(P3.getNSegments() - 3 == Approx(0)); + P3.removeFromEnd(); + P3.removeFromEnd(); + P3.removeFromEnd(); + CHECK(P3.getNSegments() == Approx(0)); } } \ No newline at end of file diff --git a/tests/media/testMedium.cpp b/tests/media/testMedium.cpp index bb5a9f0e86bb7398df1480844829fba1bf26f83c..fb55aaa59aa28d1aef411a4f31b143cdd50dd21a 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));