IAP GITLAB

Skip to content
Snippets Groups Projects
Commit 0f108ca8 authored by André Schmidt's avatar André Schmidt
Browse files

Changed tests

parent 5b952ca0
No related branches found
No related tags found
No related merge requests found
...@@ -156,6 +156,9 @@ namespace corsika { ...@@ -156,6 +156,9 @@ namespace corsika {
auto const nextEpoch = --iEpoch; // next epoch auto const nextEpoch = --iEpoch; // next epoch
ParameterLine const next_p = nextEpoch->second[j]; ParameterLine const next_p = nextEpoch->second[j];
const double length = nextEpoch->first - epoch; const double length = nextEpoch->first - epoch;
CORSIKA_LOG_WARN("Length {}.", length);
CORSIKA_LOG_WARN("year {}. Epoch {}", year, epoch);
CORSIKA_LOG_WARN("g {}. h {}", next_p.g, next_p.h);
p.g = p.g + (next_p.g - p.g) * (year - epoch) / length; p.g = p.g + (next_p.g - p.g) * (year - epoch) / length;
p.h = p.h + (next_p.h - p.h) * (year - epoch) / length; p.h = p.h + (next_p.h - p.h) * (year - epoch) / length;
} }
......
...@@ -28,7 +28,7 @@ namespace corsika { ...@@ -28,7 +28,7 @@ namespace corsika {
// write the track to the file // write the track to the file
TOutput::write(vP.getPID(), vP.getEnergy(), vP.getWeight(), start, TOutput::write(vP.getPID(), vP.getEnergy(), vP.getWeight(), start,
vP.getTime() - vT.getDuration(), end, vP.getTime()); vP.getTime(), end, vP.getTime() + vT.getDuration());
return ProcessReturn::Ok; return ProcessReturn::Ok;
} }
......
...@@ -88,43 +88,43 @@ TEST_CASE("UniformMagneticField w/ Homogeneous Medium") { ...@@ -88,43 +88,43 @@ TEST_CASE("UniformMagneticField w/ Homogeneous Medium") {
GeomagneticModel wmm(gOrigin, corsika_data("GeoMag/WMM.COF")); GeomagneticModel wmm(gOrigin, corsika_data("GeoMag/WMM.COF"));
// create earth magnetic field vector // create earth magnetic field vector
MagneticFieldVector Earth_B_1 = wmm.getField(2022.5, 100_km, -80, -120); MagneticFieldVector WMM_B_1 = wmm.getField(2022.5, 100_km, -80, -120);
MagneticFieldVector Earth_B_2 = wmm.getField(2022.5, 0_km, 0, 120); MagneticFieldVector WMM_B_2 = wmm.getField(2022.5, 0_km, 0, 120);
MagneticFieldVector Earth_B_3 = wmm.getField(2020, 100_km, 80, 0); MagneticFieldVector WMM_B_3 = wmm.getField(2020, 100_km, 80, 0);
MagneticFieldVector Earth_B_4 = wmm.getField(2019.999, 100_km, 80, 0); MagneticFieldVector WMM_B_4 = wmm.getField(2019.999, 100_km, 80, 0);
CHECK(Earth_B_1.getX(gCS) / 1_nT == Approx(5815).margin(0.05)); CHECK(WMM_B_1.getX(gCS) / 1_nT == Approx(5815).margin(0.05));
CHECK(Earth_B_1.getY(gCS) / 1_nT == Approx(-14803).margin(0.05)); CHECK(WMM_B_1.getY(gCS) / 1_nT == Approx(-14803).margin(0.05));
CHECK(Earth_B_1.getZ(gCS) / 1_nT == Approx(49755.3).margin(0.05)); CHECK(WMM_B_1.getZ(gCS) / 1_nT == Approx(49755.3).margin(0.05));
CHECK(Earth_B_2.getX(gCS) / 1_nT == Approx(39684.7).margin(0.05)); CHECK(WMM_B_2.getX(gCS) / 1_nT == Approx(39684.7).margin(0.05));
CHECK(Earth_B_2.getY(gCS) / 1_nT == Approx(42.2).margin(0.05)); CHECK(WMM_B_2.getY(gCS) / 1_nT == Approx(42.2).margin(0.05));
CHECK(Earth_B_2.getZ(gCS) / 1_nT == Approx(10809.5).margin(0.05)); CHECK(WMM_B_2.getZ(gCS) / 1_nT == Approx(10809.5).margin(0.05));
CHECK(Earth_B_3.getX(gCS) / 1_nT == Approx(6261.8).margin(0.05)); CHECK(WMM_B_3.getX(gCS) / 1_nT == Approx(6261.8).margin(0.05));
CHECK(Earth_B_3.getY(gCS) / 1_nT == Approx(185.5).margin(0.05)); CHECK(WMM_B_3.getY(gCS) / 1_nT == Approx(185.5).margin(0.05));
CHECK(Earth_B_3.getZ(gCS) / 1_nT == Approx(-52429.1).margin(0.05)); CHECK(WMM_B_3.getZ(gCS) / 1_nT == Approx(-52429.1).margin(0.05));
CHECK(Earth_B_4.getX(gCS) / 1_nT == Approx(6261.8).margin(0.05)); CHECK(WMM_B_4.getX(gCS) / 1_nT == Approx(6262).margin(0.5));
CHECK(Earth_B_4.getY(gCS) / 1_nT == Approx(185.5).margin(0.05)); CHECK(WMM_B_4.getY(gCS) / 1_nT == Approx(186).margin(0.5));
CHECK(Earth_B_4.getZ(gCS) / 1_nT == Approx(-52429.1).margin(0.05)); CHECK(WMM_B_4.getZ(gCS) / 1_nT == Approx(-52429).margin(0.5));
} }
{ {
GeomagneticModel igrf(gOrigin, corsika_data("GeoMag/IGRF13.COF")); GeomagneticModel igrf(gOrigin, corsika_data("GeoMag/IGRF13.COF"));
// create earth magnetic field vector // create earth magnetic field vector
MagneticFieldVector Earth_B_1 = igrf.getField(2022.5, 100_km, -80, -120); MagneticFieldVector IGRF_B_1 = igrf.getField(2022.5, 100_km, -80, -120);
MagneticFieldVector Earth_B_2 = igrf.getField(1937.5, 10_km, 80, 120); MagneticFieldVector IGRF_B_2 = igrf.getField(1937.5, 10_km, 80, 120);
MagneticFieldVector Earth_B_3 = igrf.getField(1990, 50_km, 80, 0); MagneticFieldVector IGRF_B_3 = igrf.getField(1990, 50_km, 80, 0);
MagneticFieldVector Earth_B_4 = igrf.getField(2012, 0_km, 0, -120); MagneticFieldVector IGRF_B_4 = igrf.getField(2012, 0_km, 0, -120);
CHECK(Earth_B_1.getX(gCS) / 1_nT == Approx(5821).margin(0.5)); CHECK(IGRF_B_1.getX(gCS) / 1_nT == Approx(5821).margin(0.5));
CHECK(Earth_B_1.getY(gCS) / 1_nT == Approx(-14796).margin(0.5)); CHECK(IGRF_B_1.getY(gCS) / 1_nT == Approx(-14796).margin(0.5));
CHECK(Earth_B_1.getZ(gCS) / 1_nT == Approx(49776).margin(0.5)); CHECK(IGRF_B_1.getZ(gCS) / 1_nT == Approx(49776).margin(0.5));
CHECK(Earth_B_2.getX(gCS) / 1_nT == Approx(2957).margin(0.5)); CHECK(IGRF_B_2.getX(gCS) / 1_nT == Approx(2957).margin(0.5));
CHECK(Earth_B_2.getY(gCS) / 1_nT == Approx(-1014).margin(0.5)); CHECK(IGRF_B_2.getY(gCS) / 1_nT == Approx(-1014).margin(0.5));
CHECK(Earth_B_2.getZ(gCS) / 1_nT == Approx(-57610).margin(0.5)); CHECK(IGRF_B_2.getZ(gCS) / 1_nT == Approx(-57610).margin(0.5));
CHECK(Earth_B_3.getX(gCS) / 1_nT == Approx(6545).margin(0.5)); CHECK(IGRF_B_3.getX(gCS) / 1_nT == Approx(6545).margin(0.5));
CHECK(Earth_B_3.getY(gCS) / 1_nT == Approx(1473).margin(0.5)); CHECK(IGRF_B_3.getY(gCS) / 1_nT == Approx(1473).margin(0.5));
CHECK(Earth_B_3.getZ(gCS) / 1_nT == Approx(-52884).margin(0.5)); CHECK(IGRF_B_3.getZ(gCS) / 1_nT == Approx(-52884).margin(0.5));
CHECK(Earth_B_4.getX(gCS) / 1_nT == Approx(30052).margin(0.5)); CHECK(IGRF_B_4.getX(gCS) / 1_nT == Approx(30052).margin(0.5));
CHECK(Earth_B_4.getY(gCS) / 1_nT == Approx(-4738).margin(0.5)); CHECK(IGRF_B_4.getY(gCS) / 1_nT == Approx(-4738).margin(0.5));
CHECK(Earth_B_4.getZ(gCS) / 1_nT == Approx(-5190).margin(0.5)); CHECK(IGRF_B_4.getZ(gCS) / 1_nT == Approx(-5190).margin(0.5));
} }
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment