feat: add flux to macros
This commit is contained in:
@@ -31,6 +31,9 @@ class BecMacros(ABC):
|
||||
@staticmethod
|
||||
@abstractmethod
|
||||
def auto_exposure(): ...
|
||||
@staticmethod
|
||||
@abstractmethod
|
||||
def full_flux_ph_per_s() -> float: ...
|
||||
|
||||
|
||||
class Geometry(ABC):
|
||||
|
||||
@@ -36,6 +36,11 @@ class X06daBecMacros(BecMacros):
|
||||
self.mono_pitch_scan = mono_pitch_scan
|
||||
self.auto_exposure = auto_exposure
|
||||
|
||||
def full_flux_ph_per_s():
|
||||
return 400_000_000_000
|
||||
|
||||
self.full_flux_ph_per_s = full_flux_ph_per_s
|
||||
|
||||
@staticmethod
|
||||
def save_and_reload() -> tuple[Any, Any]: ...
|
||||
@staticmethod
|
||||
@@ -50,6 +55,8 @@ class X06daBecMacros(BecMacros):
|
||||
def mono_pitch_scan(plot=True): ...
|
||||
@staticmethod
|
||||
def auto_exposure(): ...
|
||||
@staticmethod
|
||||
def full_flux_ph_per_s() -> float: ...
|
||||
|
||||
|
||||
class X06daGeometry(DefaultGeometry):
|
||||
|
||||
@@ -20,6 +20,9 @@ class X10SaBecMacros(BecMacros):
|
||||
save_and_reload,
|
||||
save_current_position,
|
||||
)
|
||||
from pxii_bec.macros.flux_macros import (
|
||||
bpm2flux, # pyright: ignore[reportMissingImports, reportMissingModuleSource]
|
||||
)
|
||||
from pxii_bec.macros.katscripts import ( # pyright: ignore[reportMissingImports, reportMissingModuleSource]
|
||||
auto_exposure,
|
||||
)
|
||||
@@ -53,6 +56,11 @@ class X10SaBecMacros(BecMacros):
|
||||
|
||||
self.auto_exposure = _auto_exposure
|
||||
|
||||
def full_flux_ph_per_s():
|
||||
return bpm2flux()[1]
|
||||
|
||||
self.full_flux_ph_per_s = full_flux_ph_per_s
|
||||
|
||||
@staticmethod
|
||||
def save_and_reload() -> tuple[Any, Any]: ...
|
||||
@staticmethod
|
||||
@@ -67,6 +75,8 @@ class X10SaBecMacros(BecMacros):
|
||||
def mono_pitch_scan(plot=True): ...
|
||||
@staticmethod
|
||||
def auto_exposure(): ...
|
||||
@staticmethod
|
||||
def full_flux_ph_per_s() -> float: ...
|
||||
|
||||
|
||||
class _1dModel(BeamCenterModel):
|
||||
|
||||
@@ -206,18 +206,11 @@ class BeamlineDevices:
|
||||
|
||||
@property
|
||||
def flux(self) -> float:
|
||||
# TODO FLUX
|
||||
if self._beamline == MXBeamline.X10SA:
|
||||
return self.bec_worker.get_flux_x10sa()
|
||||
return self.transmission * self.full_flux
|
||||
|
||||
@property
|
||||
def full_flux(self) -> float:
|
||||
# TODO wire real flux - i0 needed
|
||||
max_flux = cfg_get("daq.maximum_flux")
|
||||
if max_flux is None:
|
||||
return 0.0
|
||||
return max_flux
|
||||
return self._dispatch.bec_macros.full_flux_ph_per_s()
|
||||
|
||||
# Cryojet
|
||||
@property
|
||||
|
||||
Reference in New Issue
Block a user