From 93453e6048f2bc235434735bfb106b17b5ee633f Mon Sep 17 00:00:00 2001 From: Filip Leonarski Date: Wed, 1 Oct 2025 09:09:40 +0200 Subject: [PATCH] Diffraction geometry: Protect for asin out of (-1,-1) range --- common/src/aaredaqlib/diffraction_geometry.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/common/src/aaredaqlib/diffraction_geometry.py b/common/src/aaredaqlib/diffraction_geometry.py index 3a1f1219..850b7fac 100644 --- a/common/src/aaredaqlib/diffraction_geometry.py +++ b/common/src/aaredaqlib/diffraction_geometry.py @@ -42,6 +42,8 @@ class DiffractionGeometry(BaseModel): def calc_dtz_mm(self, exp_resolution_angstrom: float) -> float: if exp_resolution_angstrom <= 0: raise ValueError("Resolution must be positive") - - theta = math.asin(self.wavelength_angstrom / (2 * exp_resolution_angstrom)) + x = self.wavelength_angstrom / (2 * exp_resolution_angstrom) + if x >= 1.0 or x <= -1.0: + return 0.0 + theta = math.asin(x) return self.detector_radius_mm / math.tan(theta) \ No newline at end of file