Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 1 addition & 8 deletions src/dodal/devices/electron_analyser/base/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,11 @@
GenericElectronAnalyserDetector,
GenericElectronAnalyserRegionDetector,
)
from .base_driver_io import (
AbstractAnalyserDriverIO,
GenericAnalyserDriverIO,
TAbstractAnalyserDriverIO,
)
from .base_driver_io import AbstractAnalyserDriverIO, TAbstractAnalyserDriverIO
from .base_enums import EnergyMode
from .base_region import (
AbstractBaseRegion,
AbstractBaseSequence,
GenericRegion,
GenericSequence,
TAbstractBaseRegion,
TAbstractBaseSequence,
Expand All @@ -39,12 +34,10 @@
"GenericElectronAnalyserDetector",
"GenericElectronAnalyserRegionDetector",
"AbstractAnalyserDriverIO",
"GenericAnalyserDriverIO",
"TAbstractAnalyserDriverIO",
"EnergyMode",
"AbstractBaseRegion",
"AbstractBaseSequence",
"GenericRegion",
"GenericSequence",
"TAbstractBaseRegion",
"TAbstractBaseSequence",
Expand Down
6 changes: 3 additions & 3 deletions src/dodal/devices/electron_analyser/base/base_controller.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@

from dodal.devices.controllers import ConstantDeadTimeController
from dodal.devices.electron_analyser.base.base_driver_io import (
GenericAnalyserDriverIO,
AbstractAnalyserDriverIO,
TAbstractAnalyserDriverIO,
)
from dodal.devices.electron_analyser.base.base_region import (
GenericRegion,
AbstractBaseRegion,
TAbstractBaseRegion,
)
from dodal.devices.electron_analyser.base.energy_sources import AbstractEnergySource
Expand Down Expand Up @@ -77,7 +77,7 @@ async def prepare(self, trigger_info: TriggerInfo) -> None:


GenericElectronAnalyserController = ElectronAnalyserController[
GenericAnalyserDriverIO, GenericRegion
AbstractAnalyserDriverIO, AbstractBaseRegion
]
TElectronAnalyserController = TypeVar(
"TElectronAnalyserController", bound=ElectronAnalyserController
Expand Down
10 changes: 5 additions & 5 deletions src/dodal/devices/electron_analyser/base/base_detector.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@
ElectronAnalyserController,
)
from dodal.devices.electron_analyser.base.base_driver_io import (
GenericAnalyserDriverIO,
AbstractAnalyserDriverIO,
TAbstractAnalyserDriverIO,
)
from dodal.devices.electron_analyser.base.base_region import (
GenericRegion,
AbstractBaseRegion,
TAbstractBaseRegion,
)

Expand Down Expand Up @@ -78,7 +78,7 @@ async def describe_configuration(self) -> dict[str, DataKey]:


GenericBaseElectronAnalyserDetector = BaseElectronAnalyserDetector[
GenericAnalyserDriverIO, GenericRegion
AbstractAnalyserDriverIO, AbstractBaseRegion
]


Expand Down Expand Up @@ -112,7 +112,7 @@ async def trigger(self) -> None:
# ElectronAnalyserRegionDetector in future. Blocked by:
# https://github.com/bluesky/bluesky/pull/1978
GenericElectronAnalyserRegionDetector = ElectronAnalyserRegionDetector[
GenericAnalyserDriverIO, GenericRegion
AbstractAnalyserDriverIO, AbstractBaseRegion
]
TElectronAnalyserRegionDetector = TypeVar(
"TElectronAnalyserRegionDetector",
Expand Down Expand Up @@ -176,7 +176,7 @@ def create_region_detector_list(


GenericElectronAnalyserDetector = ElectronAnalyserDetector[
GenericAnalyserDriverIO, GenericRegion
AbstractAnalyserDriverIO, AbstractBaseRegion
]
TElectronAnalyserDetector = TypeVar(
"TElectronAnalyserDetector",
Expand Down
7 changes: 0 additions & 7 deletions src/dodal/devices/electron_analyser/base/base_driver_io.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,6 @@

from dodal.devices.electron_analyser.base.base_enums import EnergyMode
from dodal.devices.electron_analyser.base.base_region import (
AnyAcqMode,
AnyLensMode,
AnyPassEnergy,
GenericRegion,
TAbstractBaseRegion,
TAcquisitionMode,
TLensMode,
Expand Down Expand Up @@ -218,9 +214,6 @@ def _calculate_total_intensity(self, spectrum: Array1D[np.float64]) -> float:
return float(np.sum(spectrum, dtype=np.float64))


GenericAnalyserDriverIO = AbstractAnalyserDriverIO[
GenericRegion, AnyAcqMode, AnyLensMode, AnyPsuMode, AnyPassEnergy
]
TAbstractAnalyserDriverIO = TypeVar(
"TAbstractAnalyserDriverIO", bound=AbstractAnalyserDriverIO
)
3 changes: 1 addition & 2 deletions src/dodal/devices/electron_analyser/base/base_region.py
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,6 @@ def before_validation(cls, data: dict) -> dict:
return energy_mode_validation(data)


GenericRegion = AbstractBaseRegion[AnyAcqMode, AnyLensMode, AnyPassEnergy]
TAbstractBaseRegion = TypeVar("TAbstractBaseRegion", bound=AbstractBaseRegion)


Expand Down Expand Up @@ -196,5 +195,5 @@ def get_region_by_name(self, name: str) -> TAbstractBaseRegion | None:
return next((region for region in self.regions if region.name == name), None)


GenericSequence = AbstractBaseSequence[GenericRegion]
GenericSequence = AbstractBaseSequence[AbstractBaseRegion]
TAbstractBaseSequence = TypeVar("TAbstractBaseSequence", bound=AbstractBaseSequence)
10 changes: 5 additions & 5 deletions tests/devices/electron_analyser/base/test_base_driver_io.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,20 @@
from ophyd_async.core import StrictEnum

from dodal.devices.electron_analyser.base import (
GenericAnalyserDriverIO,
AbstractAnalyserDriverIO,
GenericElectronAnalyserDetector,
)


@pytest.fixture
async def sim_driver(
sim_detector: GenericElectronAnalyserDetector,
) -> GenericAnalyserDriverIO:
) -> AbstractAnalyserDriverIO:
return sim_detector.driver # type: ignore


def test_driver_throws_error_with_wrong_lens_mode(
sim_driver: GenericAnalyserDriverIO,
sim_driver: AbstractAnalyserDriverIO,
run_engine: RunEngine,
) -> None:
class LensModeTestEnum(StrictEnum):
Expand All @@ -31,7 +31,7 @@ class LensModeTestEnum(StrictEnum):


def test_driver_throws_error_with_wrong_acquisition_mode(
sim_driver: GenericAnalyserDriverIO,
sim_driver: AbstractAnalyserDriverIO,
run_engine: RunEngine,
) -> None:
class AcquisitionModeTestEnum(StrictEnum):
Expand All @@ -44,7 +44,7 @@ class AcquisitionModeTestEnum(StrictEnum):


def test_driver_throws_error_with_wrong_psu_mode(
sim_driver: GenericAnalyserDriverIO,
sim_driver: AbstractAnalyserDriverIO,
run_engine: RunEngine,
) -> None:
class PsuModeTestEnum(StrictEnum):
Expand Down
5 changes: 2 additions & 3 deletions tests/devices/electron_analyser/base/test_base_region.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
from dodal.devices.electron_analyser.base import (
AbstractBaseRegion,
EnergyMode,
GenericRegion,
GenericSequence,
TAbstractBaseRegion,
to_binding_energy,
Expand Down Expand Up @@ -93,7 +92,7 @@ def test_region_kinetic_and_binding_energy(
@pytest.mark.parametrize("copy", [True, False])
@pytest.mark.parametrize("region", TEST_SEQUENCE_REGION_NAMES, indirect=True)
def test_each_energy_field_for_region_is_correct_when_switching_energy_modes(
region: GenericRegion, field: str, copy: bool
region: AbstractBaseRegion, field: str, copy: bool
) -> None:
excitation_energy = 100
conversion_func_map = {
Expand Down Expand Up @@ -135,7 +134,7 @@ def test_each_energy_field_for_region_is_correct_when_switching_energy_modes(

@pytest.mark.parametrize("copy", [True, False])
@pytest.mark.parametrize("region", TEST_SEQUENCE_REGION_NAMES, indirect=True)
def test_region_prepare_for_epics(region: GenericRegion, copy: bool) -> None:
def test_region_prepare_for_epics(region: AbstractBaseRegion, copy: bool) -> None:
# Patch switch_energy_mode so we can spy on if it was called while also returning
# true function return value
with patch.object(
Expand Down