Use internal trigger to take pedestal + fix fixedG1 pedestal with SCs

This commit is contained in:
2024-04-13 14:27:37 +02:00
parent 24029d1268
commit 38ed2ed56f
9 changed files with 120 additions and 92 deletions
+2 -11
View File
@@ -125,10 +125,7 @@ void DetectorWrapper::Start(const DiffractionExperiment& experiment) {
InternalStop();
det.setNextFrameNumber(1);
if ((experiment.GetStorageCellNumber() == 1) && (!experiment.IsPulsedSource()))
det.setNumberOfFrames(experiment.GetFrameNumPerTrigger() + DELAY_FRAMES_STOP_AND_QUIT);
det.setNumberOfFrames(experiment.GetFrameNumPerTrigger() / experiment.GetStorageCellNumber());
det.setNumberOfTriggers(experiment.GetNumTriggers());
det.startDetector();
@@ -328,13 +325,7 @@ void DetectorWrapper::Configure(const DiffractionExperiment &experiment) {
det.setNumberOfAdditionalStorageCells(experiment.GetStorageCellNumber() - 1);
det.setStorageCellDelay(experiment.GetStorageCellDelay() - std::chrono::nanoseconds(MIN_STORAGE_CELL_DELAY_IN_NS));
if ((experiment.GetStorageCellNumber() > 1) || (experiment.IsPulsedSource()))
det.setNumberOfFrames(1);
if (experiment.IsPulsedSource()) {
det.setPeriod((experiment.GetFrameCountTime() + std::chrono::microseconds(10)) * experiment.GetStorageCellNumber() );
} else
det.setPeriod(experiment.GetFrameTime());
det.setPeriod(experiment.GetDetectorPeriod());
det.setExptime(std::chrono::microseconds(experiment.GetFrameCountTime()));