v.1.0.0-rc.32

This commit is contained in:
2025-03-24 12:16:33 +01:00
parent 19be3575f0
commit a30707964d
176 changed files with 1360 additions and 710 deletions

View File

@@ -513,48 +513,24 @@ TEST_CASE("DiffractionExperiment_CopyConstructor", "[DiffractionExperiment]") {
REQUIRE (c.GetBeamX_pxl() == 10.0);
}
TEST_CASE("DiffractionExperiment_RadialIntegration_LowQ","[DiffractionExperiment]") {
TEST_CASE("DiffractionExperiment_AzIntegration_QRange","[DiffractionExperiment]") {
DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36));
REQUIRE_THROWS(x.LowQForAzimInt_recipA(0));
REQUIRE_THROWS(x.LowQForAzimInt_recipA(-1));
REQUIRE_THROWS(x.LowQForAzimInt_recipA(50));
REQUIRE_THROWS(x.QRangeForAzimInt_recipA(-1,5));
x.LowQForAzimInt_recipA(4);
REQUIRE(x.GetLowQForAzimInt_recipA() == Catch::Approx(4));
REQUIRE_THROWS(x.QRangeForAzimInt_recipA(2,1));
REQUIRE_THROWS(x.LowResForAzimInt_A(0));
REQUIRE_THROWS(x.LowResForAzimInt_A(-1));
REQUIRE_THROWS(x.QRangeForAzimInt_recipA(0,5));
x.LowResForAzimInt_A(5.0);
REQUIRE(x.GetLowQForAzimInt_recipA() == Catch::Approx(2 * M_PI / 5.0));
REQUIRE_THROWS(x.QRangeForAzimInt_recipA(1,12));
DiffractionExperiment y(x);
REQUIRE(y.GetLowQForAzimInt_recipA() == Catch::Approx(2 * M_PI / 5.0));
REQUIRE_THROWS(x.QRangeForAzimInt_recipA(1,std::nanf("")));
REQUIRE_THROWS(x.QRangeForAzimInt_recipA(std::nanf(""),1));
REQUIRE_NOTHROW(x.QRangeForAzimInt_recipA(1, 5));
REQUIRE_NOTHROW(x.QRangeForAzimInt_recipA(0.01, 0.1));
}
TEST_CASE("DiffractionExperiment_RadialIntegration_HighQ","[DiffractionExperiment]") {
DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36));
REQUIRE_THROWS(x.HighQForAzimInt_recipA(0));
REQUIRE_THROWS(x.HighQForAzimInt_recipA(-1));
REQUIRE_THROWS(x.HighQForAzimInt_recipA(50));
x.HighQForAzimInt_recipA(8);
REQUIRE(x.GetHighQForAzimInt_recipA() == Catch::Approx(8.0));
REQUIRE_THROWS(x.HighResForAzimInt_A(0));
REQUIRE_THROWS(x.HighResForAzimInt_A(-1));
x.HighResForAzimInt_A(3.0);
REQUIRE(x.GetHighQForAzimInt_recipA() == Catch::Approx(2 * M_PI / 3.0));
DiffractionExperiment y(x);
REQUIRE(y.GetHighQForAzimInt_recipA() == Catch::Approx(2 * M_PI / 3.0));
}
TEST_CASE("DiffractionExperiment_RadialIntegration_QSpacing","[DiffractionExperiment]") {
TEST_CASE("DiffractionExperiment_AzIntegration_QSpacing","[DiffractionExperiment]") {
DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36));
x.QSpacingForAzimInt_recipA(0.456);
@@ -564,6 +540,20 @@ TEST_CASE("DiffractionExperiment_RadialIntegration_QSpacing","[DiffractionExperi
REQUIRE(y.GetQSpacingForAzimInt_recipA() == Catch::Approx(0.456));
}
TEST_CASE("DiffractionExperiment_AzIntegration_Bins","[DiffractionExperiment]") {
DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36));
x.QRangeForAzimInt_recipA(1,6);
x.QSpacingForAzimInt_recipA(1.0);
REQUIRE(x.GetAzimuthalIntegrationSettings().GetBinNumber() == 5);
x.QSpacingForAzimInt_recipA(0.3);
REQUIRE(x.GetAzimuthalIntegrationSettings().GetBinNumber() == 17); // 5 / 0.3 = 16.6
x.QSpacingForAzimInt_recipA(0.1);
REQUIRE(x.GetAzimuthalIntegrationSettings().GetBinNumber() == 50);
}
TEST_CASE("DiffractionExperiment_StorageCells","[DiffractionExperiment]") {
const int64_t num_triggers = 20;
DiffractionExperiment x;