DiffractionExperiment: Remove DetectorMode::Raw

This commit is contained in:
2025-11-04 20:52:36 +01:00
parent 3096454e7d
commit 5431f9cefb
14 changed files with 123 additions and 160 deletions

View File

@@ -172,7 +172,7 @@ TEST_CASE("DiffractionExperiment_DataStreams","[DiffractionExperiment]") {
TEST_CASE("DiffractionExperiment_DetectorGeometry","[DiffractionExperiment]") {
DiffractionExperiment x(DetJF(18)); // 9M configuration #1 - via constructor
x.Mode(DetectorMode::Conversion);
x.Conversion();
x.DataStreams(4);
REQUIRE(x.GetDataStreamsNum() == 4);
@@ -191,13 +191,13 @@ TEST_CASE("DiffractionExperiment_DetectorGeometry","[DiffractionExperiment]") {
REQUIRE(x.GetPixelsNum() == 18 * 514 * 1030);
x.Mode(DetectorMode::Raw);
x.Raw();
REQUIRE(x.GetPixelsNum() == 18 * 512 * 1024);
REQUIRE(x.GetXPixelsNum() == 1024);
REQUIRE(x.GetYPixelsNum() == 512 * 18);
x.Mode(DetectorMode::Conversion);
x.Conversion();
x = DiffractionExperiment(DetJF(18, 2)); // 9M configuration #2
@@ -219,7 +219,7 @@ TEST_CASE("DiffractionExperiment_DetectorGeometry","[DiffractionExperiment]") {
REQUIRE_THROWS(x.GetPixel0OfModuleConv(18));
x.Mode(DetectorMode::Raw);
x.Raw();
REQUIRE(x.GetPixelsNum() == 1024 * 512 * 18);
REQUIRE(x.GetXPixelsNum() == 1024);
@@ -232,7 +232,7 @@ TEST_CASE("DiffractionExperiment_DetectorGeometry_gaps","[DiffractionExperiment]
const size_t gap_y = 36;
DiffractionExperiment x(DetJF(18, 2, gap_x, gap_y, false));
x.Mode(DetectorMode::Conversion);
x.Conversion();
x.DataStreams(4);
REQUIRE(x.GetDataStreamsNum() == 4);
@@ -266,7 +266,7 @@ TEST_CASE("DiffractionExperiment_DetectorGeometry_gaps_mirror_y","[DiffractionEx
const size_t gap_y = 36;
DiffractionExperiment x(DetJF(20, 2, gap_x, gap_y, true));
x.Mode(DetectorMode::Conversion);
x.Conversion();
REQUIRE(x.GetPixel0OfModuleConv(0) == (2*1030+gap_x) * 513 + (2*1030 + gap_x) * 9 * (514 + gap_y));
REQUIRE(x.GetPixel0OfModuleConv(1) == (2*1030+gap_x) * 513 + (2*1030 + gap_x) * 9 * (514 + gap_y) + 1030 + gap_x);
@@ -425,17 +425,15 @@ TEST_CASE("DiffractionExperiment_InternalPacketGenerator", "[DiffractionExperime
}
TEST_CASE("DiffractionExperiment_CopyConstructor", "[DiffractionExperiment]") {
DiffractionExperiment a = DiffractionExperiment().Mode(DetectorMode::Raw);
DiffractionExperiment a = DiffractionExperiment();
a.BeamX_pxl(150);
REQUIRE(a.GetBeamX_pxl() == 150.0);
REQUIRE(a.GetDetectorMode() == DetectorMode::Raw);
DiffractionExperiment b(a);
REQUIRE(b.GetBeamX_pxl() == 150.0);
b.BeamX_pxl(100);
REQUIRE(a.GetBeamX_pxl() == 150.0);
REQUIRE(b.GetBeamX_pxl() == 100.0);
REQUIRE(b.GetDetectorMode() == DetectorMode::Raw);
DiffractionExperiment c = b;
REQUIRE (c.GetBeamX_pxl() == 100.0);
@@ -646,7 +644,7 @@ TEST_CASE("DiffractionExperiment_PulsedSource","[DiffractionExperiment]") {
DiffractionExperiment x;
REQUIRE(!x.IsPulsedSource()); // default must be off
x.ImagesPerTrigger(50).NumTriggers(100).Mode(DetectorMode::Conversion).PedestalG0Frames(1000)
x.ImagesPerTrigger(50).NumTriggers(100).Mode(DetectorMode::Standard).PedestalG0Frames(1000)
.PedestalG1Frames(200).PedestalG2Frames(100);
x.PulsedSource(true);
@@ -659,7 +657,7 @@ TEST_CASE("DiffractionExperiment_PulsedSource","[DiffractionExperiment]") {
REQUIRE(x.GetFrameNum() == 100 * 10);
REQUIRE(x.GetImageNum() == 100);
x.Mode(DetectorMode::Raw);
x.Raw();
REQUIRE(x.GetSummation() == 1);
REQUIRE(x.GetFrameNumPerTrigger() == 1);
REQUIRE(x.GetNumTriggers() == 100);
@@ -690,32 +688,32 @@ TEST_CASE("DiffractionExperiment_DefaultDataProcessingSettings","[DiffractionExp
TEST_CASE("DiffractionExperiment_FPGA_PixelSigned_JUNGFRAU","[DiffractionExperiment]") {
DiffractionExperiment x(DetJF(4));
x.Mode(DetectorMode::Conversion).PixelSigned({});
x.Conversion().PixelSigned({});
REQUIRE(x.IsPixelSigned());
x.Mode(DetectorMode::Raw).PixelSigned({});
x.Raw().PixelSigned({});
REQUIRE(!x.IsPixelSigned());
x.Mode(DetectorMode::Conversion).PixelSigned(false);
x.Conversion().PixelSigned(false);
REQUIRE(!x.IsPixelSigned());
x.Mode(DetectorMode::Raw).PixelSigned(true);
x.Raw().PixelSigned(true);
REQUIRE(x.IsPixelSigned());
}
TEST_CASE("DiffractionExperiment_FPGA_PixelSigned_EIGER","[DiffractionExperiment]") {
DiffractionExperiment x(DetEIGER(4));
x.Mode(DetectorMode::Conversion).PixelSigned({});
x.Conversion().PixelSigned({});
REQUIRE(!x.IsPixelSigned());
x.Mode(DetectorMode::Raw).PixelSigned({});
x.Raw().PixelSigned({});
REQUIRE(!x.IsPixelSigned());
x.Mode(DetectorMode::Conversion).PixelSigned(false);
x.Conversion().PixelSigned(false);
REQUIRE(!x.IsPixelSigned());
x.Mode(DetectorMode::Raw).PixelSigned(true);
x.Raw().PixelSigned(true);
REQUIRE(x.IsPixelSigned());
}
@@ -878,10 +876,10 @@ TEST_CASE("DiffractionExperiment_Appendix","") {
TEST_CASE("DiffractionExperiment_ConversionOnFPGA","[DiffractionExperiment]") {
DiffractionExperiment x;
x.Mode(DetectorMode::Conversion);
x.Conversion();
REQUIRE(x.IsJungfrauConvPhotonCnt()); // conversion on FPGA must be default true!
x.Mode(DetectorMode::Raw);
x.Raw();
REQUIRE(!x.IsJungfrauConvPhotonCnt()); // conversion on FPGA off for raw mode
x.Mode(DetectorMode::PedestalG0);
@@ -893,16 +891,17 @@ TEST_CASE("DiffractionExperiment_ConversionOnFPGA","[DiffractionExperiment]") {
x.Mode(DetectorMode::PedestalG2);
REQUIRE(!x.IsJungfrauConvPhotonCnt()); // conversion on FPGA off for pedestal modes
x.Mode(DetectorMode::Conversion).JungfrauConvPhotonCnt(false);
x.Mode(DetectorMode::Standard);
x.JungfrauConvPhotonCnt(false);
REQUIRE(!x.IsJungfrauConvPhotonCnt()); // conversion on FPGA turned explicitly off
x.Mode(DetectorMode::Conversion).JungfrauConvPhotonCnt(true);
x.JungfrauConvPhotonCnt(true);
REQUIRE(x.IsJungfrauConvPhotonCnt()); // conversion on FPGA back on
}
TEST_CASE("DiffractionExperiment_EIGER","[DiffractionExperiment]") {
DiffractionExperiment x(DetEIGER(4));
x.Mode(DetectorMode::Conversion);
x.Conversion();
REQUIRE(!x.IsJungfrauConvPhotonCnt());
REQUIRE(!x.IsPixelSigned());
x.ImagesPerTrigger(245).NumTriggers(100);
@@ -911,7 +910,7 @@ TEST_CASE("DiffractionExperiment_EIGER","[DiffractionExperiment]") {
TEST_CASE("DiffractionExperiment_JungfrauConversionFactor","[DiffractionExperiment]") {
DiffractionExperiment x(DetJF(4));
x.Mode(DetectorMode::Conversion).IncidentEnergy_keV(16.0);
x.Conversion().IncidentEnergy_keV(16.0);
REQUIRE(!x.GetJungfrauConversionFactor_keV().has_value());
REQUIRE(x.GetIncidentEnergy_keV() == 16.0f);
REQUIRE(x.GetPhotonEnergyForConversion_keV() == 16.0f);
@@ -979,11 +978,11 @@ TEST_CASE("DiffractionExperiment_AutoSummation", "[DiffractionExperiment]") {
DiffractionExperiment x(DetJF4M());
x.Summation(4).AutoSummation(true);
x.Mode(DetectorMode::Conversion).StorageCells(1);
x.Conversion().StorageCells(1);
x.AutoSummation(true);
REQUIRE(x.GetSummation() == 4);
x.Mode(DetectorMode::Raw).StorageCells(1);
x.Raw().StorageCells(1);
x.AutoSummation(true);
REQUIRE(x.GetSummation() == 4);
@@ -991,22 +990,22 @@ TEST_CASE("DiffractionExperiment_AutoSummation", "[DiffractionExperiment]") {
x.AutoSummation(true);
REQUIRE(x.GetSummation() == 1);
x.Mode(DetectorMode::Conversion).StorageCells(2);
x.Conversion().StorageCells(2);
x.AutoSummation(true);
REQUIRE(x.GetSummation() == 1);
x.Mode(DetectorMode::Conversion).StorageCells(1);
x.Conversion().StorageCells(1);
x.AutoSummation(false);
REQUIRE(x.GetSummation() == 1);
x.Mode(DetectorMode::Raw).StorageCells(1);
x.Raw().StorageCells(1);
x.AutoSummation(false);
REQUIRE(x.GetSummation() == 1);
}
TEST_CASE("DiffractionExperiment_ExportROIMask", "[DiffractionExperiment]") {
DiffractionExperiment x(DetJF4M());
x.Mode(DetectorMode::Raw);
x.Raw();
x.ROI().SetROI(ROIDefinition{.boxes = {
ROIBox("roi0", 800 , 800, 0, 4),