From 37495c0902facdea0011e57909db35923098b29c Mon Sep 17 00:00:00 2001 From: Filip Leonarski Date: Thu, 30 Apr 2026 10:45:13 +0200 Subject: [PATCH] DectrisSimplonClient: Set energy/threshold for each acquisition (if different from currently configured by 0.01 eV) --- detector_control/DectrisSimplonClient.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/detector_control/DectrisSimplonClient.cpp b/detector_control/DectrisSimplonClient.cpp index 90ea7e39..1170fc51 100644 --- a/detector_control/DectrisSimplonClient.cpp +++ b/detector_control/DectrisSimplonClient.cpp @@ -247,6 +247,10 @@ void DectrisSimplonClient::EndAcquisitionFinished() { } void DectrisSimplonClient::StartAcquisition(const DiffractionExperiment& experiment) { + SetConfigIfDifferent(SimplonModule::Detector, "photon_energy", experiment.GetIncidentEnergy_keV() * 1e3f, 0.01f); + auto thr = experiment.GetEigerThreshold_keV(); + SetConfigIfDifferent(SimplonModule::Detector, "threshold_energy", thr * 1e3f, 0.01); + SetConfigIfDifferent(SimplonModule::Detector, "count_time", std::chrono::duration(experiment.GetFrameCountTime()).count(), 1e-9); SetConfigIfDifferent(SimplonModule::Detector, "frame_time", std::chrono::duration(experiment.GetFrameTime()).count(), 1e-9); SetConfigIfDifferent(SimplonModule::Detector, "nimages", experiment.GetFrameNumPerTrigger());