Detector Geometry customization
This commit is contained in:
@@ -172,10 +172,11 @@ TEST_CASE("DiffractionExperiment_UnitCell","[DiffractionExperiment]") {
|
||||
}
|
||||
|
||||
TEST_CASE("DiffractionExperiment_IPv4Address","[DiffractionExperiment]") {
|
||||
DiffractionExperiment x(1, {4, 4, 4});
|
||||
DiffractionExperiment x(DetectorGeometry(12));
|
||||
x.Mode(DetectorMode::Conversion);
|
||||
|
||||
uint32_t ndatastreams = 3;
|
||||
x.DataStreams(ndatastreams);
|
||||
|
||||
REQUIRE(x.GetDestIPv4Address(0) == 0x0132010a);
|
||||
REQUIRE(x.GetDestIPv4Address(1) == 0x0232010a);
|
||||
@@ -226,8 +227,8 @@ TEST_CASE("MacAddressFromStr","") {
|
||||
}
|
||||
|
||||
TEST_CASE("DiffractionExperiment_UDPAddress","[DiffractionExperiment]") {
|
||||
DiffractionExperiment x(1, {4, 4, 4});
|
||||
x.Mode(DetectorMode::Conversion);
|
||||
DiffractionExperiment x(DetectorGeometry(12));
|
||||
x.Mode(DetectorMode::Conversion).DataStreams(3);
|
||||
|
||||
REQUIRE(x.GetDestUDPPort(0, 0) % 64 == 0);
|
||||
REQUIRE(x.GetDestUDPPort(0, 2) % 64 == 0);
|
||||
@@ -251,85 +252,124 @@ TEST_CASE("DiffractionExperiment_UDPAddress","[DiffractionExperiment]") {
|
||||
|
||||
}
|
||||
|
||||
TEST_CASE("DiffractionExperiment_DataStreams","[DiffractionExperiment]") {
|
||||
DiffractionExperiment x(DetectorGeometry(18)); // 9M
|
||||
|
||||
x.DataStreams(4);
|
||||
REQUIRE(x.GetModulesNum() == 18);
|
||||
REQUIRE(x.GetDataStreamsNum() == 4);
|
||||
|
||||
REQUIRE(x.GetModulesNum(0) == 5);
|
||||
REQUIRE(x.GetModulesNum(1) == 5);
|
||||
REQUIRE(x.GetModulesNum(2) == 4);
|
||||
REQUIRE(x.GetModulesNum(3) == 4);
|
||||
REQUIRE_THROWS(x.GetModulesNum(4));
|
||||
|
||||
x.DataStreams(2);
|
||||
REQUIRE(x.GetModulesNum() == 18);
|
||||
REQUIRE(x.GetDataStreamsNum() == 2);
|
||||
|
||||
REQUIRE(x.GetModulesNum(0) == 9);
|
||||
REQUIRE(x.GetModulesNum(1) == 9);
|
||||
REQUIRE_THROWS(x.GetModulesNum(2));
|
||||
|
||||
x = DiffractionExperiment(DetectorGeometry(2));
|
||||
|
||||
x.DataStreams(2);
|
||||
REQUIRE(x.GetModulesNum() == 2);
|
||||
REQUIRE(x.GetDataStreamsNum() == 2);
|
||||
|
||||
REQUIRE(x.GetModulesNum(0) == 1);
|
||||
REQUIRE(x.GetModulesNum(1) == 1);
|
||||
|
||||
x.DataStreams(5);
|
||||
REQUIRE(x.GetModulesNum() == 2);
|
||||
REQUIRE(x.GetDataStreamsNum() == 2);
|
||||
|
||||
REQUIRE(x.GetModulesNum(0) == 1);
|
||||
REQUIRE(x.GetModulesNum(1) == 1);
|
||||
}
|
||||
|
||||
TEST_CASE("DiffractionExperiment_DetectorGeometry","[DiffractionExperiment]") {
|
||||
DiffractionExperiment x(1, {4, 4, 6, 6}); // 10M configuration #1 - via constructor
|
||||
DiffractionExperiment x(DetectorGeometry(18)); // 9M configuration #1 - via constructor
|
||||
|
||||
x.Mode(DetectorMode::Conversion);
|
||||
x.DataStreams(4);
|
||||
|
||||
REQUIRE(x.GetDataStreamsNum() == 4);
|
||||
|
||||
REQUIRE(x.GetXPixelsNum() == 1030);
|
||||
REQUIRE(x.GetYPixelsNum() == 514 * 20);
|
||||
REQUIRE(x.GetYPixelsNum() == 514 * 18);
|
||||
|
||||
REQUIRE(x.GetModulesNum() == 20);
|
||||
REQUIRE(x.GetModulesNum(TASK_NO_DATA_STREAM) == 20);
|
||||
REQUIRE(x.GetModulesNum(0) == 4);
|
||||
REQUIRE(x.GetModulesNum(2) == 6);
|
||||
REQUIRE(x.GetModulesNum() == 18);
|
||||
REQUIRE(x.GetModulesNum(TASK_NO_DATA_STREAM) == 18);
|
||||
REQUIRE(x.GetModulesNum(0) == 5);
|
||||
REQUIRE(x.GetModulesNum(2) == 4);
|
||||
|
||||
REQUIRE(x.GetFirstModuleOfDataStream(TASK_NO_DATA_STREAM) == 0);
|
||||
REQUIRE(x.GetFirstModuleOfDataStream(0) == 0);
|
||||
REQUIRE(x.GetFirstModuleOfDataStream(1) == 4);
|
||||
REQUIRE(x.GetFirstModuleOfDataStream(2) == 8);
|
||||
REQUIRE(x.GetFirstModuleOfDataStream(1) == 5);
|
||||
REQUIRE(x.GetFirstModuleOfDataStream(2) == 10);
|
||||
REQUIRE(x.GetFirstModuleOfDataStream(3) == 14);
|
||||
|
||||
REQUIRE(x.GetPixelsNum() == 20 * 514 * 1030);
|
||||
REQUIRE(x.GetPixelsNum() == 18 * 514 * 1030);
|
||||
|
||||
x.Mode(DetectorMode::Raw);
|
||||
|
||||
REQUIRE(x.GetPixelsNum() == 20 * 512 * 1024);
|
||||
REQUIRE(x.GetPixelsNum() == 18 * 512 * 1024);
|
||||
REQUIRE(x.GetXPixelsNum() == 1024);
|
||||
REQUIRE(x.GetYPixelsNum() == 512 * 20);
|
||||
REQUIRE(x.GetYPixelsNum() == 512 * 18);
|
||||
|
||||
x.Mode(DetectorMode::Conversion);
|
||||
|
||||
x = DiffractionExperiment(2, {4, 4, 6, 6}, 0, 0, true); // 10M configuration #2
|
||||
x = DiffractionExperiment(DetectorGeometry(18, 2)); // 9M configuration #2
|
||||
|
||||
REQUIRE(x.GetPixelsNum() == 1030 * 514 * 20);
|
||||
REQUIRE(x.GetPixelsNum() == 1030 * 514 * 18);
|
||||
REQUIRE(x.GetXPixelsNum() == 1030 * 2);
|
||||
REQUIRE(x.GetYPixelsNum() == 514 * 20 / 2);
|
||||
REQUIRE(x.GetYPixelsNum() == 514 * 18 / 2);
|
||||
|
||||
REQUIRE(x.GetPixel0OfModule(0) == 18 * CONVERTED_MODULE_SIZE + 513 * CONVERTED_MODULE_COLS * 2);
|
||||
REQUIRE(x.GetPixel0OfModule(1) == 18 * CONVERTED_MODULE_SIZE + 513 * CONVERTED_MODULE_COLS * 2 + CONVERTED_MODULE_COLS);
|
||||
REQUIRE(x.GetPixel0OfModule(0) == 16 * CONVERTED_MODULE_SIZE + 513 * CONVERTED_MODULE_COLS * 2);
|
||||
REQUIRE(x.GetPixel0OfModule(1) == 16 * CONVERTED_MODULE_SIZE + 513 * CONVERTED_MODULE_COLS * 2 + CONVERTED_MODULE_COLS);
|
||||
|
||||
REQUIRE(x.GetPixel0OfModule(12) == 6 * CONVERTED_MODULE_SIZE + 513 * CONVERTED_MODULE_COLS * 2);
|
||||
REQUIRE(x.GetPixel0OfModule(13) == 6 * CONVERTED_MODULE_SIZE + 513 * CONVERTED_MODULE_COLS * 2 + CONVERTED_MODULE_COLS);
|
||||
REQUIRE(x.GetPixel0OfModule(12) == 4 * CONVERTED_MODULE_SIZE + 513 * CONVERTED_MODULE_COLS * 2);
|
||||
REQUIRE(x.GetPixel0OfModule(13) == 4 * CONVERTED_MODULE_SIZE + 513 * CONVERTED_MODULE_COLS * 2 + CONVERTED_MODULE_COLS);
|
||||
|
||||
REQUIRE(x.GetPixel0OfModule(14) == 4 * CONVERTED_MODULE_SIZE + 513 * CONVERTED_MODULE_COLS * 2);
|
||||
REQUIRE(x.GetPixel0OfModule(15) == 4 * CONVERTED_MODULE_SIZE + 513 * CONVERTED_MODULE_COLS * 2 + CONVERTED_MODULE_COLS);
|
||||
REQUIRE(x.GetPixel0OfModule(14) == 2 * CONVERTED_MODULE_SIZE + 513 * CONVERTED_MODULE_COLS * 2);
|
||||
REQUIRE(x.GetPixel0OfModule(15) == 2 * CONVERTED_MODULE_SIZE + 513 * CONVERTED_MODULE_COLS * 2 + CONVERTED_MODULE_COLS);
|
||||
|
||||
REQUIRE(x.GetPixel0OfModule(16) == 2 * CONVERTED_MODULE_SIZE + 513 * CONVERTED_MODULE_COLS * 2);
|
||||
REQUIRE(x.GetPixel0OfModule(17) == 2 * CONVERTED_MODULE_SIZE + 513 * CONVERTED_MODULE_COLS * 2 + CONVERTED_MODULE_COLS);
|
||||
REQUIRE(x.GetPixel0OfModule(16) == 0 * CONVERTED_MODULE_SIZE + 513 * CONVERTED_MODULE_COLS * 2);
|
||||
REQUIRE(x.GetPixel0OfModule(17) == 0 * CONVERTED_MODULE_SIZE + 513 * CONVERTED_MODULE_COLS * 2 + CONVERTED_MODULE_COLS);
|
||||
|
||||
REQUIRE(x.GetPixel0OfModule(18) == 0 * CONVERTED_MODULE_SIZE + 513 * CONVERTED_MODULE_COLS * 2);
|
||||
REQUIRE(x.GetPixel0OfModule(19) == 0 * CONVERTED_MODULE_SIZE + 513 * CONVERTED_MODULE_COLS * 2 + CONVERTED_MODULE_COLS);
|
||||
REQUIRE_THROWS(x.GetPixel0OfModule(20));
|
||||
REQUIRE_THROWS(x.GetPixel0OfModule(18));
|
||||
|
||||
x.Mode(DetectorMode::Raw);
|
||||
|
||||
REQUIRE(x.GetPixelsNum() == 1024 * 512 * 20);
|
||||
REQUIRE(x.GetPixelsNum() == 1024 * 512 * 18);
|
||||
REQUIRE(x.GetXPixelsNum() == 1024);
|
||||
REQUIRE(x.GetYPixelsNum() == 512 * 20);
|
||||
REQUIRE(x.GetYPixelsNum() == 512 * 18);
|
||||
REQUIRE(x.GetPixel0OfModule(15) == 15 * RAW_MODULE_SIZE);
|
||||
|
||||
}
|
||||
|
||||
TEST_CASE("DiffractionExperiment_DetectorGeometry_gaps","[DiffractionExperiment]") {
|
||||
const size_t gap_x = 8;
|
||||
const size_t gap_y = 36;
|
||||
|
||||
DiffractionExperiment x(2, {4, 4, 6, 6}, gap_x,gap_y, false);
|
||||
DiffractionExperiment x(DetectorGeometry(18, 2, gap_x, gap_y, false));
|
||||
x.Mode(DetectorMode::Conversion);
|
||||
x.DataStreams(4);
|
||||
|
||||
REQUIRE(x.GetDataStreamsNum() == 4);
|
||||
REQUIRE(x.GetPixelsNum() == (1030 * 2 + gap_x) * (514 * 10 + (10-1) * gap_y) );
|
||||
REQUIRE(x.GetXPixelsNum() == 1030 * 2 +gap_x);
|
||||
REQUIRE(x.GetYPixelsNum() == 514 * 10 + (10-1) * gap_y);
|
||||
REQUIRE(x.GetPixelsNum() == (1030 * 2 + gap_x) * (514 * 9 + (9-1) * gap_y) );
|
||||
REQUIRE(x.GetXPixelsNum() == 1030 * 2 + gap_x);
|
||||
REQUIRE(x.GetYPixelsNum() == 514 * 9 + (9-1) * gap_y);
|
||||
|
||||
REQUIRE(x.GetModulesNum() == 20);
|
||||
REQUIRE(x.GetModulesNum(0) == 4);
|
||||
REQUIRE(x.GetModulesNum(2) == 6);
|
||||
REQUIRE(x.GetModulesNum() == 18);
|
||||
REQUIRE(x.GetModulesNum(0) == 5);
|
||||
REQUIRE(x.GetModulesNum(2) == 4);
|
||||
|
||||
REQUIRE(x.GetFirstModuleOfDataStream(0) == 0);
|
||||
REQUIRE(x.GetFirstModuleOfDataStream(1) == 4);
|
||||
REQUIRE(x.GetFirstModuleOfDataStream(2) == 8);
|
||||
REQUIRE(x.GetFirstModuleOfDataStream(1) == 5);
|
||||
REQUIRE(x.GetFirstModuleOfDataStream(2) == 10);
|
||||
REQUIRE(x.GetFirstModuleOfDataStream(3) == 14);
|
||||
|
||||
REQUIRE(x.GetPixel0OfModule(0) == (2*1030 + gap_x) * (514 + gap_y) * (0/2));
|
||||
@@ -340,16 +380,15 @@ TEST_CASE("DiffractionExperiment_DetectorGeometry_gaps","[DiffractionExperiment]
|
||||
REQUIRE(x.GetPixel0OfModule(0) == (2*1030 + gap_x) * 0 * (514 + gap_y));
|
||||
REQUIRE(x.GetPixel0OfModule(1) == (2*1030 + gap_x) * 0 * (514 + gap_y) + 1030 + gap_x);
|
||||
|
||||
REQUIRE(x.GetPixel0OfModule(18) == (2*1030 + gap_x) * 9 * (514 + gap_y));
|
||||
REQUIRE(x.GetPixel0OfModule(19) == (2*1030 + gap_x) * 9 * (514 + gap_y) + 1030 + gap_x);
|
||||
|
||||
|
||||
REQUIRE(x.GetPixel0OfModule(16) == (2*1030 + gap_x) * 8 * (514 + gap_y));
|
||||
REQUIRE(x.GetPixel0OfModule(17) == (2*1030 + gap_x) * 8 * (514 + gap_y) + 1030 + gap_x);
|
||||
}
|
||||
|
||||
TEST_CASE("DiffractionExperiment_DetectorGeometry_gaps_mirror_y","[DiffractionExperiment]") {
|
||||
const size_t gap_x = 8;
|
||||
const size_t gap_y = 36;
|
||||
|
||||
DiffractionExperiment x(2, {4, 4, 6, 6}, gap_x,gap_y, true);
|
||||
DiffractionExperiment x(DetectorGeometry(20, 2, gap_x, gap_y, true));
|
||||
x.Mode(DetectorMode::Conversion);
|
||||
|
||||
REQUIRE(x.GetPixel0OfModule(0) == (2*1030+gap_x) * 513 + (2*1030 + gap_x) * 9 * (514 + gap_y));
|
||||
@@ -502,7 +541,8 @@ TEST_CASE("DiffractionExperiment_FrameCountTime","[DiffractionExperiment]") {
|
||||
}
|
||||
|
||||
TEST_CASE("DiffractionExperiment_ExportProtobuf","[DiffractionExperiment]") {
|
||||
DiffractionExperiment x(4, {4, 4, 8}, 0, 0, false),y;
|
||||
DiffractionExperiment x(DetectorGeometry(16, 4, 0, 0, false)),y;
|
||||
x.DataStreams(3);
|
||||
|
||||
std::vector<DetectorMode> v = {DetectorMode::Raw, DetectorMode::Conversion,
|
||||
DetectorMode::PedestalG0, DetectorMode::PedestalG1, DetectorMode::PedestalG2};
|
||||
@@ -517,8 +557,7 @@ TEST_CASE("DiffractionExperiment_ExportProtobuf","[DiffractionExperiment]") {
|
||||
JFJochProtoBuf::JungfraujochSettings settings_in_protobuf = x;
|
||||
REQUIRE_NOTHROW(y.Import(settings_in_protobuf));
|
||||
|
||||
REQUIRE(! y.IsUpsideDown());
|
||||
REQUIRE(y.GetFilePrefix() == x.GetFilePrefix());
|
||||
REQUIRE(y.GetFilePrefix() == x.GetFilePrefix());
|
||||
REQUIRE(x.GetDataStreamsNum() == y.GetDataStreamsNum());
|
||||
REQUIRE(x.GetXPixelsNum() == y.GetXPixelsNum());
|
||||
REQUIRE(x.GetModulesNum(2) == y.GetModulesNum(2));
|
||||
@@ -577,7 +616,7 @@ TEST_CASE("DiffractionExperiment_CopyConstructor", "[DiffractionExperiment]") {
|
||||
}
|
||||
|
||||
TEST_CASE("DiffractionExperiment_ResToPxl","[DiffractionExperiment]") {
|
||||
DiffractionExperiment x(2, {4,4}, 8, 36);
|
||||
DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36));
|
||||
x.DetectorDistance_mm(75).PhotonEnergy_keV(WVL_1A_IN_KEV);
|
||||
|
||||
// sin(theta) = 1/2
|
||||
@@ -592,7 +631,7 @@ TEST_CASE("DiffractionExperiment_ResToPxl","[DiffractionExperiment]") {
|
||||
}
|
||||
|
||||
TEST_CASE("DiffractionExperiment_RadialIntegration_LowQ","[DiffractionExperiment]") {
|
||||
DiffractionExperiment x(2, {4,4}, 8, 36);
|
||||
DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36));
|
||||
|
||||
REQUIRE_THROWS(x.LowQForRadialInt_recipA(0));
|
||||
REQUIRE_THROWS(x.LowQForRadialInt_recipA(-1));
|
||||
@@ -613,7 +652,7 @@ TEST_CASE("DiffractionExperiment_RadialIntegration_LowQ","[DiffractionExperiment
|
||||
|
||||
|
||||
TEST_CASE("DiffractionExperiment_RadialIntegration_HighQ","[DiffractionExperiment]") {
|
||||
DiffractionExperiment x(2, {4,4}, 8, 36);
|
||||
DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36));
|
||||
|
||||
REQUIRE_THROWS(x.HighQForRadialInt_recipA(0));
|
||||
REQUIRE_THROWS(x.HighQForRadialInt_recipA(-1));
|
||||
@@ -633,7 +672,7 @@ TEST_CASE("DiffractionExperiment_RadialIntegration_HighQ","[DiffractionExperimen
|
||||
}
|
||||
|
||||
TEST_CASE("DiffractionExperiment_RadialIntegration_QSpacing","[DiffractionExperiment]") {
|
||||
DiffractionExperiment x(2, {4,4}, 8, 36);
|
||||
DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36));
|
||||
|
||||
x.QSpacingForRadialInt_recipA(0.456);
|
||||
REQUIRE(x.GetQSpacingForRadialInt_recipA() == Approx(0.456));
|
||||
@@ -643,7 +682,7 @@ TEST_CASE("DiffractionExperiment_RadialIntegration_QSpacing","[DiffractionExperi
|
||||
}
|
||||
|
||||
TEST_CASE("DiffractionExperiment_IndexingPeriod","[DiffractionExperiment]") {
|
||||
DiffractionExperiment x(2, {4,4}, 8, 36);
|
||||
DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36));
|
||||
x.DetectorDistance_mm(75).PhotonEnergy_keV(WVL_1A_IN_KEV);
|
||||
x.FrameTime(1ms).Summation(3);
|
||||
x.IndexingPeriod(9ms);
|
||||
@@ -729,7 +768,7 @@ TEST_CASE("DiffractionExperiment_DetectorType","[DiffractionExperiment]") {
|
||||
}
|
||||
|
||||
TEST_CASE("DiffractionExperiment_DetectorInput_MultiTriggger","[DiffractionExperiment]") {
|
||||
DiffractionExperiment x(2, {4,4}, 8, 36);
|
||||
DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36));
|
||||
x.FrameTime(700us).Summation(1).ImagesPerTrigger(350).NumTriggers(7);
|
||||
JFJochProtoBuf::DetectorInput ret = x;
|
||||
REQUIRE(ret.modules_num() == 8);
|
||||
@@ -742,7 +781,7 @@ TEST_CASE("DiffractionExperiment_DetectorInput_MultiTriggger","[DiffractionExper
|
||||
}
|
||||
|
||||
TEST_CASE("DiffractionExperiment_DetectorInput_NoTriggger","[DiffractionExperiment]") {
|
||||
DiffractionExperiment x(2, {4,4}, 8, 36);
|
||||
DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36));
|
||||
x.FrameTime(1200us).Summation(1).ImagesPerTrigger(350).NumTriggers(1);
|
||||
JFJochProtoBuf::DetectorInput ret = x;
|
||||
REQUIRE(ret.modules_num() == 8);
|
||||
@@ -755,7 +794,7 @@ TEST_CASE("DiffractionExperiment_DetectorInput_NoTriggger","[DiffractionExperime
|
||||
}
|
||||
|
||||
TEST_CASE("DiffractionExperiment_DetectorInput_PedestalG2","[DiffractionExperiment]") {
|
||||
DiffractionExperiment x(2, {4,4}, 8, 36);
|
||||
DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36));
|
||||
x.FrameTime(1200us).Summation(1).PedestalG2Frames(4560).NumTriggers(1).Mode(DetectorMode::PedestalG2);
|
||||
JFJochProtoBuf::DetectorInput ret = x;
|
||||
REQUIRE(ret.modules_num() == 8);
|
||||
@@ -767,7 +806,7 @@ TEST_CASE("DiffractionExperiment_DetectorInput_PedestalG2","[DiffractionExperime
|
||||
}
|
||||
|
||||
TEST_CASE("DiffractionExperiment_DetectorInput_StorageCell","[DiffractionExperiment]") {
|
||||
DiffractionExperiment x(2, {4,4}, 8, 36);
|
||||
DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36));
|
||||
x.FrameTime(1200us).Summation(1).NumTriggers(4560).StorageCells(8);
|
||||
JFJochProtoBuf::DetectorInput ret = x;
|
||||
REQUIRE(ret.modules_num() == 8);
|
||||
@@ -958,7 +997,7 @@ TEST_CASE("DiffractionExperiment_ConversionOnCPU","[DiffractionExperiment]") {
|
||||
}
|
||||
|
||||
TEST_CASE("DiffractionExperiment_Binning","[DiffractionExperiment]") {
|
||||
DiffractionExperiment x(2,{4,4}, 8, 36, true);
|
||||
DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36, true));
|
||||
x.Mode(DetectorMode::Conversion).BeamX_pxl(200.0).BeamY_pxl(400.0);
|
||||
|
||||
REQUIRE(!x.GetBinning2x2());
|
||||
@@ -966,6 +1005,10 @@ TEST_CASE("DiffractionExperiment_Binning","[DiffractionExperiment]") {
|
||||
REQUIRE(x.GetXPixelsNum() == 2068);
|
||||
REQUIRE(x.GetYPixelsNum() == 2164);
|
||||
|
||||
REQUIRE(x.GetXPixelsNumFullImage() == 2068);
|
||||
REQUIRE(x.GetYPixelsNumFullImage() == 2164);
|
||||
REQUIRE(x.GetPixelsNumFullImage() == 2164*2068);
|
||||
|
||||
REQUIRE(x.GetBeamX_pxl() == Approx(200.0));
|
||||
REQUIRE(x.GetBeamY_pxl() == Approx(400.0));
|
||||
REQUIRE(x.GetPixel0OfModule(0) == (2164 - 1)*2068);
|
||||
@@ -974,16 +1017,19 @@ TEST_CASE("DiffractionExperiment_Binning","[DiffractionExperiment]") {
|
||||
REQUIRE(x.GetBinning2x2());
|
||||
REQUIRE(x.GetPixelSize_mm() == Approx(2*PIXEL_SIZE_IN_MM));
|
||||
|
||||
REQUIRE(x.GetXPixelsNumFullImage() == 2068);
|
||||
REQUIRE(x.GetXPixelsNum() == 2068/2);
|
||||
REQUIRE(x.GetYPixelsNumFullImage() == 2164);
|
||||
REQUIRE(x.GetYPixelsNum() == 2164/2);
|
||||
REQUIRE(x.GetPixelsNumFullImage() == 2164*2068);
|
||||
REQUIRE(x.GetPixelsNum() == (2164/2)*(2068/2));
|
||||
|
||||
REQUIRE(x.GetBeamX_pxl() == Approx(100.0));
|
||||
REQUIRE(x.GetBeamY_pxl() == Approx(200.0));
|
||||
REQUIRE(x.GetPixel0OfModule(0) == ((2164 - 1)/2)*(2068/2));
|
||||
REQUIRE(x.GetPixel0OfModule(1) == ((2164 - 1)/2)*(2068/2) + (1030+8)/2);
|
||||
REQUIRE(x.GetPixel0OfModule(6) == ((2164 - 1)/2)*(2068/2) - 3 * ((514+36)/2)*(2068/2));
|
||||
REQUIRE(x.GetPixel0OfModule(7) == ((2164 - 1)/2)*(2068/2) - 3 * ((514+36)/2)*(2068/2) + (1030+8)/2);
|
||||
REQUIRE(x.GetPixel0OfModule(0) == ((2164 - 1))*(2068));
|
||||
REQUIRE(x.GetPixel0OfModule(1) == ((2164 - 1))*(2068) + (1030+8));
|
||||
REQUIRE(x.GetPixel0OfModule(6) == ((2164 - 1))*(2068) - 3 * ((514+36))*(2068));
|
||||
REQUIRE(x.GetPixel0OfModule(7) == ((2164 - 1))*(2068) - 3 * ((514+36))*(2068) + (1030+8));
|
||||
|
||||
x.Mode(DetectorMode::Raw);
|
||||
REQUIRE(!x.GetBinning2x2());
|
||||
|
||||
Reference in New Issue
Block a user