From ea7431385d5139f7ae5f2b79fd6450da47db6ace Mon Sep 17 00:00:00 2001 From: David Perl Date: Mon, 18 Mar 2024 10:15:27 +0000 Subject: [PATCH] DiamondLightSource/hyperion#1033 get transmission from expt params --- .../flyscan_xray_centre_plan.py | 35 ++----------------- .../panda_flyscan_xray_centre_plan.py | 2 +- .../experiment_plans/rotation_scan_plan.py | 2 +- .../experiment_plans/set_energy_plan.py | 2 +- .../callbacks/ispyb_callback_base.py | 2 +- .../experiment_plans/test_fgs_plan.py | 2 +- 6 files changed, 7 insertions(+), 38 deletions(-) diff --git a/src/hyperion/experiment_plans/flyscan_xray_centre_plan.py b/src/hyperion/experiment_plans/flyscan_xray_centre_plan.py index 7c02b09ed..b64804c15 100755 --- a/src/hyperion/experiment_plans/flyscan_xray_centre_plan.py +++ b/src/hyperion/experiment_plans/flyscan_xray_centre_plan.py @@ -1,6 +1,5 @@ from __future__ import annotations -import argparse import dataclasses from typing import TYPE_CHECKING, Any, List @@ -8,8 +7,6 @@ import bluesky.preprocessors as bpp import numpy as np from blueapi.core import BlueskyContext, MsgGenerator -from bluesky.run_engine import RunEngine -from bluesky.utils import ProgressBarManager from dodal.devices.aperturescatterguard import ( ApertureScatterguard, SingleAperturePosition, @@ -52,17 +49,13 @@ transmission_and_xbpm_feedback_for_collection_decorator, ) from hyperion.exceptions import WarningException -from hyperion.external_interaction.callbacks.xray_centre.callback_collection import ( - XrayCentreCallbackCollection, -) from hyperion.log import LOGGER -from hyperion.parameters import external_parameters from hyperion.parameters.constants import CONST from hyperion.tracing import TRACER from hyperion.utils.aperturescatterguard import ( load_default_aperture_scatterguard_positions_if_unset, ) -from hyperion.utils.context import device_composite_from_context, setup_context +from hyperion.utils.context import device_composite_from_context if TYPE_CHECKING: from hyperion.parameters.plan_specific.gridscan_internal_params import ( @@ -363,33 +356,9 @@ def flyscan_xray_centre( @transmission_and_xbpm_feedback_for_collection_decorator( composite.xbpm_feedback, composite.attenuator, - parameters.hyperion_params.ispyb_params.transmission_fraction, + parameters.experiment_params.transmission_fraction, ) def run_gridscan_and_move_and_tidy(fgs_composite, params): yield from run_gridscan_and_move(fgs_composite, params) return run_gridscan_and_move_and_tidy(composite, parameters) - - -if __name__ == "__main__": - parser = argparse.ArgumentParser() - parser.add_argument( - "--beamline", - help="The beamline prefix this is being run on", - default=CONST.SIM.BEAMLINE, - ) - args = parser.parse_args() - - RE = RunEngine({}) - RE.waiting_hook = ProgressBarManager() # type: ignore - from hyperion.parameters.plan_specific.gridscan_internal_params import ( - GridscanInternalParameters, - ) - - parameters = GridscanInternalParameters(**external_parameters.conftest.from_file()) - subscriptions = XrayCentreCallbackCollection() - - context = setup_context(wait_for_connection=True) - composite = create_devices(context) - - RE(flyscan_xray_centre(composite, parameters)) diff --git a/src/hyperion/experiment_plans/panda_flyscan_xray_centre_plan.py b/src/hyperion/experiment_plans/panda_flyscan_xray_centre_plan.py index 550d97967..6069cb44c 100755 --- a/src/hyperion/experiment_plans/panda_flyscan_xray_centre_plan.py +++ b/src/hyperion/experiment_plans/panda_flyscan_xray_centre_plan.py @@ -289,7 +289,7 @@ def panda_flyscan_xray_centre( @transmission_and_xbpm_feedback_for_collection_decorator( composite.xbpm_feedback, composite.attenuator, - parameters.hyperion_params.ispyb_params.transmission_fraction, + parameters.experiment_params.transmission_fraction, ) def run_gridscan_and_move_and_tidy(fgs_composite, params): yield from run_gridscan_and_move(fgs_composite, params) diff --git a/src/hyperion/experiment_plans/rotation_scan_plan.py b/src/hyperion/experiment_plans/rotation_scan_plan.py index 40bae70db..8d00f6fd7 100644 --- a/src/hyperion/experiment_plans/rotation_scan_plan.py +++ b/src/hyperion/experiment_plans/rotation_scan_plan.py @@ -289,7 +289,7 @@ def rotation_with_cleanup_and_stage(params: RotationInternalParameters): composite.detector_motion, composite.backlight, composite.attenuator, - params.hyperion_params.ispyb_params.transmission_fraction, + params.experiment_params.transmission_fraction, params.hyperion_params.detector_params.detector_distance, ) LOGGER.info("moving to position (if specified)") diff --git a/src/hyperion/experiment_plans/set_energy_plan.py b/src/hyperion/experiment_plans/set_energy_plan.py index 35e329ad1..a3cfcd7de 100644 --- a/src/hyperion/experiment_plans/set_energy_plan.py +++ b/src/hyperion/experiment_plans/set_energy_plan.py @@ -8,8 +8,8 @@ import dataclasses from typing import Any, Generator -from bluesky import Msg from bluesky import plan_stubs as bps +from bluesky.utils import Msg from dodal.devices.attenuator import Attenuator from dodal.devices.DCM import DCM from dodal.devices.focusing_mirror import FocusingMirror, VFMMirrorVoltages diff --git a/src/hyperion/external_interaction/callbacks/ispyb_callback_base.py b/src/hyperion/external_interaction/callbacks/ispyb_callback_base.py index 2db6ced70..da178830b 100644 --- a/src/hyperion/external_interaction/callbacks/ispyb_callback_base.py +++ b/src/hyperion/external_interaction/callbacks/ispyb_callback_base.py @@ -111,7 +111,7 @@ def activity_gated_event(self, doc: Event) -> Event: return self._tag_doc(doc) @abstractmethod - def update_deposition(self, params): + def update_deposition(self, params) -> IspybIds: pass def activity_gated_stop(self, doc: RunStop) -> Optional[RunStop]: diff --git a/tests/system_tests/experiment_plans/test_fgs_plan.py b/tests/system_tests/experiment_plans/test_fgs_plan.py index 9d6db4722..7b409ebc3 100644 --- a/tests/system_tests/experiment_plans/test_fgs_plan.py +++ b/tests/system_tests/experiment_plans/test_fgs_plan.py @@ -185,7 +185,7 @@ def test_xbpm_feedback_decorator( @transmission_and_xbpm_feedback_for_collection_decorator( fxc_composite.xbpm_feedback, fxc_composite.attenuator, - params.hyperion_params.ispyb_params.transmission_fraction, + params.experiment_params.transmission_fraction, ) def decorated_plan(): yield from bps.sleep(0.1)