From 71587a584d0cca82c00c5e1dfeb0b3a9232490b2 Mon Sep 17 00:00:00 2001 From: Filip Leonarski Date: Thu, 11 Sep 2025 14:48:02 +0200 Subject: [PATCH] DAQ: error handling when sample.geoemtry request fails --- daq/src/aaredaq/daq.py | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/daq/src/aaredaq/daq.py b/daq/src/aaredaq/daq.py index 569a364c..217c9ba4 100644 --- a/daq/src/aaredaq/daq.py +++ b/daq/src/aaredaq/daq.py @@ -634,19 +634,31 @@ class AareDAQ: def sample_geometry(self) -> SampleGeometryModel: zoom = self.__devs.zoom abr_pos = self.__cfg.abr_meas_pos - return SampleGeometryModel( - beam_location_pxl=self.__cfg.beam_mark_coeff.apply(zoom), - pixel_in_mm=self.__cfg.pixel_to_mm(zoom), - omega_deg=self.__devs.aerotech.omega, - smargon=self.__devs.smargon.readback, - beam_size_mm=self.__cfg.beam_size_mm, - aerotech=Coordinate( - x=self.__devs.gmx.value - abr_pos.x, - y=self.__devs.gmy.value - abr_pos.y, - z=self.__devs.gmz.value - abr_pos.z, - ), - aerotech_meas=self.__devs.abr_pos - ) + try: + return SampleGeometryModel( + beam_location_pxl=self.__cfg.beam_mark_coeff.apply(zoom), + pixel_in_mm=self.__cfg.pixel_to_mm(zoom), + omega_deg=self.__devs.aerotech.omega, + smargon=self.__devs.smargon.readback, + beam_size_mm=self.__cfg.beam_size_mm, + aerotech=Coordinate( + x=self.__devs.gmx.value - abr_pos.x, + y=self.__devs.gmy.value - abr_pos.y, + z=self.__devs.gmz.value - abr_pos.z, + ), + aerotech_meas=self.__devs.abr_pos + ) + except Exception as e: + print(f"Error getting sample geometry: {e}") + return SampleGeometryModel( + beam_location_pxl=Coordinate(x=0, y=0), + pixel_in_mm=Coordinate(x=0, y=0), + omega_deg=0.0, + smargon=SmargonCoordinate(sh_mm=Coordinate(x=0, y=0), phi_deg=0.0, chi_deg=0.0), + beam_size_mm=Coordinate(x=0, y=0), + aerotech=Coordinate(x=0, y=0, z=0), + aerotech_meas=self.__devs.abr_pos + ) @property def beam_center(self) -> Tuple[float, float]: