Set energy to preselect
Warning
STATUS: STUB. Placeholder for the procedure that satisfies
the precondition energy_configured of Detector Z-rail alignment to the beam
(detector_z_rail_alignment). To be fleshed out as the
procedure is implemented.
Name
set_energy_to_preselect
Source
Not yet implemented in this repository. Future location: procedures/set_energy_to_preselect.py in the 2bm-procedures repository. Likely a thin wrapper around the energy package, which already implements the coordinated DMM + mirror energy change.
Devices
Beamline components: Mirror M1 and DMM — drives both optics to the energy-dependent positions in a coordinated move.
The reference implementation lives in the
energypackage at https://github.com/xray-imaging/energy. The mono-energy lookup table is at https://github.com/xray-imaging/energy/blob/main/src/energy/data/energy2bm.json (used by Move flag into beam (mode-dependent) for the energy-dependent flag Y and by Set B-station slits for alignment for the energy-dependent B-slit Y).
Preconditions
Enable beamline for beam (
enable_beamline).Open B-shutter (P6-50 Safety Shutter) (
open_b_shutter) — beam must reach the optics to verify the energy change.
Parameters
energy_keV(number > 0) — target energy. Default fordetector_z_rail_alignment: TBD (whichever preselect the experiment is running on).
Steps
TBD. Delegate to the
energypackage (energy.change_energy(keV)); wait for mirror + DMM motors to settle.
Postconditions
- Satisfies:
energy_configured- Predicate:
Mirror M1 and DMM RBVs match the energy-dependent lookup tables in the
energypackage (predicate is energy-parameterised — needs current energy as input).
Failure modes
TBD.