fix: truncate detector distance parameter calculation at soft limit #160

Merged
perl_d merged 1 commits from fix/param_calculation into main 2026-08-21 16:33:59 +02:00
+6 -2
View File
@@ -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)