From 46fc3d77d5e82ed6f290389bb9ec608678e71025 Mon Sep 17 00:00:00 2001 From: appel_c Date: Tue, 23 Jun 2026 14:39:56 +0200 Subject: [PATCH] fix(eiger): temporarily hardcode incident energy for detector --- csaxs_bec/devices/jungfraujoch/eiger.py | 36 ++++++++++++------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/csaxs_bec/devices/jungfraujoch/eiger.py b/csaxs_bec/devices/jungfraujoch/eiger.py index 07c27c2..3708f72 100644 --- a/csaxs_bec/devices/jungfraujoch/eiger.py +++ b/csaxs_bec/devices/jungfraujoch/eiger.py @@ -274,24 +274,24 @@ class Eiger(PSIDeviceBase): start_time = time.time() self.scan_parameters = fetch_scan_info(self.scan_info) - # TODO: Check mono energy from device in BEC - # Setting incident energy in keV + # TODO Reactivate + # try: + # incident_energy = self._get_beam_energy(self.device_manager) + # if self._incident_energy is None: + # self._incident_energy = round(float(incident_energy), 3) + # elif not np.isclose( + # self._incident_energy, incident_energy, atol=0.1 + # ): # 0.1 keV tolerance + # logger.warning( + # f"Incident energy changed from {self._incident_energy} keV to {incident_energy} keV for device {self.name}. " + # ) + # self._incident_energy = round(float(incident_energy), 3) + # except Exception as e: + # logger.warning(f"Failed to set up beam energy for {self.name}: {e}") + # incident_energy = 12.0 # default to 12 keV if error occurs + # self._incident_energy = round(float(incident_energy), 3) - try: - incident_energy = self._get_beam_energy(self.device_manager) - if self._incident_energy is None: - self._incident_energy = round(float(incident_energy), 3) - elif not np.isclose( - self._incident_energy, incident_energy, atol=0.01 - ): # 10 keV tolerance - logger.warning( - f"Incident energy changed from {self._incident_energy} keV to {incident_energy} keV for device {self.name}. " - ) - self._incident_energy = round(float(incident_energy), 3) - except Exception as e: - logger.warning(f"Failed to set up beam energy for {self.name}: {e}") - incident_energy = 12.0 # default to 12 keV if error occurs - self._incident_energy = round(float(incident_energy), 3) + self._incident_energy = 12.0 # default to 12 keV if error occurs logger.info(f"Device {self.name} uses incident energy of {self._incident_energy} keV.") @@ -328,7 +328,7 @@ class Eiger(PSIDeviceBase): beam_x_pxl=int(self._beam_center[0]), beam_y_pxl=int(self._beam_center[1]), detector_distance_mm=self.detector_distance, - incident_energy_ke_v=incident_energy, + incident_energy_ke_v=self._incident_energy, ) logger.debug(f"Setting data_settings: {yaml.dump(data_settings.to_dict(), indent=4)}") prep_time = time.time()