diff --git a/src/calng/base_correction.py b/src/calng/base_correction.py index b409234279910a6c0ddfa0cf3a89b47897ef4e71..6ad0441f261789e0bdf032b091b708d5247d7d09 100644 --- a/src/calng/base_correction.py +++ b/src/calng/base_correction.py @@ -767,6 +767,8 @@ class BaseCorrection(PythonDevice): for addon_class in self._available_addons if self.get(f"addons.{addon_class._node_name}.enable") ] + for addon in self._enabled_addons: + addon._device = self if self._enabled_addons: schema_override = Schema() output_schema_override = self._base_output_schema diff --git a/src/calng/correction_addons/base_addon.py b/src/calng/correction_addons/base_addon.py index ef7d0deee4960f2a33c6c7d3a36eef0693a4da47..ab134120f11bbe71d6518f6481aa733acfc2e2a7 100644 --- a/src/calng/correction_addons/base_addon.py +++ b/src/calng/correction_addons/base_addon.py @@ -20,6 +20,12 @@ class BaseCorrectionAddon: """Will be given the node from extend_device_schema, no prefix needed here""" pass + @property + def geometry(self): + """Helper to get current geometry (host device should be monitoring a geometry + device)""" + return self._device._geometry + def post_correction(self, processed_data, cell_table, pulse_table, output_hash): """Called directly after correction has happened. Processed data will still be on GPU if the correction device is generally running in GPU mode."""