diff --git a/Environment/IMagneticFieldModel.h b/Environment/IMagneticFieldModel.h
index a2666ba267f530e7a56346f1ad7faf141ca9d7c1..c34f1878b7926421b6d35d5aef7344a9f8b82266 100644
--- a/Environment/IMagneticFieldModel.h
+++ b/Environment/IMagneticFieldModel.h
@@ -10,6 +10,7 @@
 #pragma once
 
 #include <corsika/geometry/Point.h>
+#include <corsika/geometry/Vector.h>
 #include <corsika/units/PhysicalUnits.h>
 
 namespace corsika::environment {
@@ -25,7 +26,7 @@ namespace corsika::environment {
 
     // a type-alias for a magnetic field vector
     using MagneticFieldVector =
-        corsika::geometry::QuantityVector<corsika::units::si::magnetic_flux_density_d>;
+        corsika::geometry::Vector<corsika::units::si::magnetic_flux_density_d>;
 
   public:
     /**
diff --git a/Environment/UniformMagneticField.h b/Environment/UniformMagneticField.h
index 31f2a1b94b78cb6ef5e7e318019c48401f87beb9..e75c0420d92b73b1ad8533a13df7b7ad6a62e6ee 100644
--- a/Environment/UniformMagneticField.h
+++ b/Environment/UniformMagneticField.h
@@ -25,7 +25,7 @@ namespace corsika::environment {
 
     // a type-alias for a magnetic field vector
     using MagneticFieldVector =
-        corsika::geometry::QuantityVector<corsika::units::si::magnetic_flux_density_d>;
+        corsika::geometry::Vector<corsika::units::si::magnetic_flux_density_d>;
 
     MagneticFieldVector B_; ///< The constant magnetic field we use.
 
diff --git a/Environment/testEnvironment.cc b/Environment/testEnvironment.cc
index ed2bf9a1a7b232e95c1e04096abbcd3062c3839c..8e59c719747015a7b3b70afa1ab00ad3b8cd3652 100644
--- a/Environment/testEnvironment.cc
+++ b/Environment/testEnvironment.cc
@@ -245,7 +245,7 @@ TEST_CASE("UniformMagneticField w/ Homogeneous Medium") {
                                              std::vector<float>{1.f});
 
   // create a magnetic field vector
-  QuantityVector B0(0_T, 0_T, 0_T);
+  Vector B0(gCS, 0_T, 0_T, 0_T);
 
   // the constant density
   const auto density{19.2_g / cube(1_cm)};
@@ -254,20 +254,28 @@ TEST_CASE("UniformMagneticField w/ Homogeneous Medium") {
   AtmModel medium(B0, density, protonComposition);
 
   // and test at several locations
-  REQUIRE(B0 == medium.GetMagneticField(Point(gCS, -10_m, 4_m, 35_km)));
-  REQUIRE(B0 == medium.GetMagneticField(Point(gCS, 1000_km, -1000_km, 1000_km)));
-  REQUIRE(B0 == medium.GetMagneticField(Point(gCS, 0_m, 0_m, 0_m)));
+  REQUIRE(B0.GetComponents(gCS) ==
+          medium.GetMagneticField(Point(gCS, -10_m, 4_m, 35_km)).GetComponents(gCS));
+  REQUIRE(
+      B0.GetComponents(gCS) ==
+      medium.GetMagneticField(Point(gCS, 1000_km, -1000_km, 1000_km)).GetComponents(gCS));
+  REQUIRE(B0.GetComponents(gCS) ==
+          medium.GetMagneticField(Point(gCS, 0_m, 0_m, 0_m)).GetComponents(gCS));
 
   // create a new magnetic field vector
-  QuantityVector B1(23_T, 57_T, -4_T);
+  Vector B1(gCS, 23_T, 57_T, -4_T);
 
   // and update this atmospheric model
   medium.SetMagneticField(B1);
 
   // and test at several locations
-  REQUIRE(B1 == medium.GetMagneticField(Point(gCS, -10_m, 4_m, 35_km)));
-  REQUIRE(B1 == medium.GetMagneticField(Point(gCS, 1000_km, -1000_km, 1000_km)));
-  REQUIRE(B1 == medium.GetMagneticField(Point(gCS, 0_m, 0_m, 0_m)));
+  REQUIRE(B1.GetComponents(gCS) ==
+          medium.GetMagneticField(Point(gCS, -10_m, 4_m, 35_km)).GetComponents(gCS));
+  REQUIRE(
+      B1.GetComponents(gCS) ==
+      medium.GetMagneticField(Point(gCS, 1000_km, -1000_km, 1000_km)).GetComponents(gCS));
+  REQUIRE(B1.GetComponents(gCS) ==
+          medium.GetMagneticField(Point(gCS, 0_m, 0_m, 0_m)).GetComponents(gCS));
 
   // check the density and nuclear composition
   REQUIRE(density == medium.GetMassDensity(Point(gCS, 0_m, 0_m, 0_m)));