From f4fac4989afe4ea366e8f056d8580cce8f4caed2 Mon Sep 17 00:00:00 2001 From: x01da Date: Tue, 16 Jun 2026 11:14:43 +0200 Subject: [PATCH] bugfix updating fm_pitch --- .../widgets/digital_twin/digital_twin.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/debye_bec/bec_widgets/widgets/digital_twin/digital_twin.py b/debye_bec/bec_widgets/widgets/digital_twin/digital_twin.py index 03d1ba9..af1a64d 100644 --- a/debye_bec/bec_widgets/widgets/digital_twin/digital_twin.py +++ b/debye_bec/bec_widgets/widgets/digital_twin/digital_twin.py @@ -65,6 +65,7 @@ logger = bec_logger.logger OFFSET_FILE_X01DA = Path(__file__).with_name("x01da_offsets.yaml") OFFSET_FILE_X10DA = Path(__file__).with_name("x10da_offsets.yaml") + class DigitalTwin(BECWidget, QWidget): """ Main widget of Digital Twin @@ -224,12 +225,12 @@ class DigitalTwin(BECWidget, QWidget): if choice in ["yes", "y"]: bl = input(f"Choose from: {[bl.value for bl in BeamlineId]}") if bl in BeamlineId: - logger.info(f'Manually selected beamline {bl}') + logger.info(f"Manually selected beamline {bl}") return BeamlineId(bl) else: - raise ValueError(f'Wrong selection {bl}') + raise ValueError(f"Wrong selection {bl}") else: - raise ValueError('Cannot open digital twin without a beamline') + raise ValueError("Cannot open digital twin without a beamline") @SafeSlot() def check_bec_config(self, *args): @@ -362,6 +363,10 @@ class DigitalTwin(BECWidget, QWidget): self.calc_fm_reflectivity() self.calc_cm_fm_harm_suppr() self.calc_mo1_energy_resolution() + case "sldi_hacc": + self.calc_fm_ideal_pitch() + case "sldi_vacc": + self.calc_fm_ideal_pitch() case "cm_stripe": self.calc_cm_crit_pitch() self.calc_cm_reflectivity() @@ -672,7 +677,7 @@ class DigitalTwin(BECWidget, QWidget): # Load offsets if not self.offset_file.exists(): raise FileNotFoundError(f"Offset file not found: {self.offset_file}") - + with self.offset_file.open("r", encoding="utf-8") as f: data = yaml.safe_load(f)