From a6ad306849e136c8f23827724aa1b835d0ca0e74 Mon Sep 17 00:00:00 2001 From: David Perl Date: Fri, 21 Aug 2026 16:30:54 +0200 Subject: [PATCH] fix: truncate detector distance parameter calculation at soft limit --- src/aare/daq/daq.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/aare/daq/daq.py b/src/aare/daq/daq.py index 45040881..71db8cc0 100644 --- a/src/aare/daq/daq.py +++ b/src/aare/daq/daq.py @@ -1627,10 +1627,14 @@ class AareDAQ: if (res := getattr(aaredb_params, "targetresolution", None)) is not None: logger.debug(f"resolution: {res}") logger.debug(f"requested dtz: {self.diffraction_geometry.calc_dtz_mm(res)} ") - new_res = 1 / ((1 / res) + 0.1) + new_res = 1 / ((1 / res) + 0.01) corrected_dtz = self.diffraction_geometry.calc_dtz_mm(new_res) logger.debug(f"corrected dtz: {corrected_dtz}") - corrected_dtz = max(corrected_dtz, 108) + if corrected_dtz < self._devs.dtz_low: + logger.warning( + f"Detector distance based on desired resolution cannot be reached, using minimum of {self._devs.dtz_low}." + ) + corrected_dtz = self._devs.dtz_low params.dtz = round(corrected_dtz) osc = getattr(aaredb_params, "oscillation", None) -- 2.54.0