From 6e1cdf4fa5810dc17f114553c25eeca865e8a94d Mon Sep 17 00:00:00 2001 From: x10da Date: Thu, 25 Jun 2026 07:17:48 +0200 Subject: [PATCH] bugfix when stripe cannot be found (trx in between stripes) --- .../widgets/digital_twin/calculations/calc_varia.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/superxas_bec/bec_widgets/widgets/digital_twin/calculations/calc_varia.py b/superxas_bec/bec_widgets/widgets/digital_twin/calculations/calc_varia.py index c890a28..6027432 100644 --- a/superxas_bec/bec_widgets/widgets/digital_twin/calculations/calc_varia.py +++ b/superxas_bec/bec_widgets/widgets/digital_twin/calculations/calc_varia.py @@ -167,6 +167,8 @@ def cm_reflectivity(cm_stripe: str, cm_pitch: float, energy: float) -> float: Returns: float: Reflectivity [0-1] """ + if cm_stripe is None: + return np.nan index = bl.cm.surface.index(cm_stripe) rs, _ = bl.cm.material[index].get_amplitude(energy, np.sin(cm_pitch))[0:2] refl = abs(rs) ** 2 @@ -186,6 +188,8 @@ def fm_reflectivity(fm_stripe: str, fm_pitch: float, energy: float) -> float: Returns: float: Reflectivity [0-1] """ + if fm_stripe is None: + return np.nan if fm_stripe in ("Rh (toroid)", "Pt (toroid)"): surface = bl.fm.surfaceToroid material = bl.fm.materialToroid