Use internal trigger to take pedestal + fix fixedG1 pedestal with SCs
This commit is contained in:
@@ -568,7 +568,6 @@ TEST_CASE("DiffractionExperiment_StorageCells","[DiffractionExperiment]") {
|
||||
const int64_t num_triggers = 20;
|
||||
DiffractionExperiment x;
|
||||
x.FrameTime(std::chrono::milliseconds(1)).ImagesPerTrigger(5).NumTriggers(num_triggers);
|
||||
REQUIRE(x.GetImageNumPerTrigger() == 5);
|
||||
REQUIRE(x.GetNumTriggers() == num_triggers);
|
||||
|
||||
REQUIRE_NOTHROW(x.StorageCells(5));
|
||||
@@ -591,13 +590,11 @@ TEST_CASE("DiffractionExperiment_StorageCells","[DiffractionExperiment]") {
|
||||
|
||||
x.StorageCells(16);
|
||||
REQUIRE(x.GetStorageCellNumber() == 16);
|
||||
REQUIRE(x.GetImageNumPerTrigger() == x.GetStorageCellNumber());
|
||||
REQUIRE(x.GetFrameNumPerTrigger() == x.GetStorageCellNumber());
|
||||
REQUIRE(x.GetImageNum() == x.GetStorageCellNumber() * num_triggers);
|
||||
REQUIRE(x.GetFrameNum() == x.GetStorageCellNumber() * num_triggers);
|
||||
|
||||
x.UseInternalPacketGenerator(true);
|
||||
REQUIRE(x.GetImageNumPerTrigger() == x.GetStorageCellNumber());
|
||||
REQUIRE(x.GetFrameNumPerTrigger() == x.GetStorageCellNumber());
|
||||
REQUIRE(x.GetImageNum() == x.GetStorageCellNumber() * num_triggers);
|
||||
REQUIRE(x.GetFrameNum() == x.GetStorageCellNumber() * num_triggers);
|
||||
@@ -609,53 +606,72 @@ TEST_CASE("DiffractionExperiment_StorageCells_Pedestal","[DiffractionExperiment]
|
||||
|
||||
x.Mode(DetectorMode::PedestalG0);
|
||||
REQUIRE(x.GetStorageCellNumber() == 16);
|
||||
REQUIRE(x.GetNumTriggers() == 1456);
|
||||
REQUIRE(x.GetFrameNumPerTrigger() == 16);
|
||||
REQUIRE(x.GetNumTriggers() == 1);
|
||||
REQUIRE(x.GetFrameNumPerTrigger() == 1456*16);
|
||||
REQUIRE(x.GetFrameNum() == 1456 * 16);
|
||||
|
||||
x.Mode(DetectorMode::PedestalG1);
|
||||
REQUIRE(x.GetStorageCellNumber() == 2);
|
||||
REQUIRE(x.GetNumTriggers() == 323);
|
||||
REQUIRE(x.GetFrameNumPerTrigger() == 2);
|
||||
REQUIRE(x.GetNumTriggers() == 1);
|
||||
REQUIRE(x.GetFrameNumPerTrigger() == 2 * 323);
|
||||
REQUIRE(x.GetFrameNum() == 323 * 2);
|
||||
|
||||
x.StorageCells(8);
|
||||
x.Mode(DetectorMode::PedestalG2);
|
||||
REQUIRE(x.GetStorageCellNumber() == 2);
|
||||
REQUIRE(x.GetNumTriggers() == 456);
|
||||
REQUIRE(x.GetFrameNumPerTrigger() == 2);
|
||||
REQUIRE(x.GetNumTriggers() == 1);
|
||||
REQUIRE(x.GetFrameNumPerTrigger() == 2 * 456);
|
||||
}
|
||||
|
||||
TEST_CASE("DiffractionExperiment_StorageCells_Pedestal_FixedG1","[DiffractionExperiment]") {
|
||||
DiffractionExperiment x;
|
||||
x.PedestalG0Frames(1456).PedestalG1Frames(323).PedestalG2Frames(456).StorageCells(15).FixedGainG1(true);
|
||||
|
||||
x.Mode(DetectorMode::PedestalG1);
|
||||
REQUIRE(x.GetStorageCellNumber() == 15);
|
||||
REQUIRE(x.GetNumTriggers() == 1);
|
||||
REQUIRE(x.GetFrameNumPerTrigger() == 15 * 323);
|
||||
REQUIRE(x.GetFrameNum() == 323 * 15);
|
||||
}
|
||||
|
||||
TEST_CASE("DiffractionExperiment_PulsedSource","[DiffractionExperiment]") {
|
||||
DiffractionExperiment x;
|
||||
REQUIRE(!x.IsPulsedSource()); // default must be off
|
||||
|
||||
x.ImagesPerTrigger(50).NumTriggers(100).Mode(DetectorMode::Raw).PedestalG0Frames(1000)
|
||||
x.ImagesPerTrigger(50).NumTriggers(100).Mode(DetectorMode::Conversion).PedestalG0Frames(1000)
|
||||
.PedestalG1Frames(200).PedestalG2Frames(100);
|
||||
REQUIRE(x.GetImageNumPerTrigger() == 50);
|
||||
|
||||
x.PulsedSource(true);
|
||||
REQUIRE(x.GetImageNumPerTrigger() == 1);
|
||||
REQUIRE(x.GetFrameNumPerTrigger() == 1);
|
||||
REQUIRE(x.GetImageNum() == 100);
|
||||
|
||||
x.Summation(10);
|
||||
REQUIRE(x.GetImageNumPerTrigger() == 1);
|
||||
REQUIRE(x.GetFrameNumPerTrigger() == 10);
|
||||
|
||||
x.Mode(DetectorMode::PedestalG0);
|
||||
REQUIRE(x.GetImageNumPerTrigger() == 0);
|
||||
REQUIRE(x.GetFrameNumPerTrigger() == 1);
|
||||
REQUIRE(x.GetNumTriggers() == 1000);
|
||||
REQUIRE(x.GetNumTriggers() == 100 * 10);
|
||||
REQUIRE(x.GetFrameNum() == 100 * 10);
|
||||
REQUIRE(x.GetImageNum() == 100);
|
||||
|
||||
x.Mode(DetectorMode::PedestalG1);
|
||||
REQUIRE(x.GetImageNumPerTrigger() == 0);
|
||||
REQUIRE(x.GetFrameNumPerTrigger() == 1);
|
||||
REQUIRE(x.GetNumTriggers() == 200);
|
||||
|
||||
x.Mode(DetectorMode::PedestalG2);
|
||||
REQUIRE(x.GetImageNumPerTrigger() == 0);
|
||||
x.Mode(DetectorMode::Raw);
|
||||
REQUIRE(x.GetSummation() == 1);
|
||||
REQUIRE(x.GetFrameNumPerTrigger() == 1);
|
||||
REQUIRE(x.GetNumTriggers() == 100);
|
||||
REQUIRE(x.GetFrameNum() == 100);
|
||||
REQUIRE(x.GetImageNum() == 100);
|
||||
|
||||
x.Mode(DetectorMode::PedestalG0);
|
||||
REQUIRE(x.GetImageNum() == 0);
|
||||
REQUIRE(x.GetFrameNumPerTrigger() == 1000);
|
||||
REQUIRE(x.GetNumTriggers() == 1);
|
||||
|
||||
x.Mode(DetectorMode::PedestalG1);
|
||||
REQUIRE(x.GetImageNum() == 0);
|
||||
REQUIRE(x.GetFrameNumPerTrigger() == 200);
|
||||
REQUIRE(x.GetNumTriggers() == 1);
|
||||
|
||||
x.Mode(DetectorMode::PedestalG2);
|
||||
REQUIRE(x.GetImageNum() == 0);
|
||||
REQUIRE(x.GetFrameNumPerTrigger() == 100);
|
||||
REQUIRE(x.GetNumTriggers() == 1);
|
||||
}
|
||||
|
||||
TEST_CASE("DiffractionExperiment_DefaultDataProcessingSettings","[DiffractionExperiment]") {
|
||||
|
||||
Reference in New Issue
Block a user