Configure microscope for alignment
Warning
STATUS: STUB. Placeholder for the procedure that satisfies
the precondition microscope_configured of Detector Z-rail alignment to the beam
(detector_z_rail_alignment). To be fleshed out as the
procedure is implemented.
Name
configure_microscope_for_alignment
Source
Not yet implemented. Future location: procedures/configure_microscope_for_alignment.py in the 2bm-procedures repository.
Devices
Beamline components: MCTOptics — drives lens / camera selection via
2bm:MCTOptics:LensSelectand2bm:MCTOptics:CameraSelect.Beamline components: Detector optical table —
2bmb:table3; the.Ytranslation axis sets the table vertical position so the X-ray beam lands on the camera centre.Beamline components: PropagationDistance —
2bmbAERO:m1(the sample-to-detector Z stage; was named “Optique Peter Z stage” /Focuspreviously). Pre-positioned to a safe mid-band Z before the alignment procedure runs.
Preconditions
Enable beamline for beam (
enable_beamline).Set energy to preselect (
set_energy_to_preselect) — beam Y at detector depends on energy (via DMM offset).
Parameters
lens_index(integer 0–2) — MCTOptics lens slot. Default fordetector_z_rail_alignment: 0 (1.1× wide-field lens).detector_table_y_mm(number) — table Y to centre the beam on the camera. Energy-dependent; default TBD.z_park_mm(number) — initial Z position for the Optique Peter rail. Default: 300 mm (mid of the 200–500 mm safety band used by Detector Z-rail alignment to the beam).
Steps
TBD. Set MCTOptics LensSelect; wait for LensSelected to match. Move
2bmb:table3.Yto target; wait for jacks. Move2bmbAERO:m1to z_park; wait for DMOV.
Postconditions
- Satisfies:
microscope_configured- Predicate:
2bm:MCTOptics:LensSelect == lens_indexAND2bmb:table3.Ywithin tolerance ofdetector_table_y_mmAND2bmbAERO:m1.RBVwithin tolerance ofz_park_mm.
Failure modes
TBD.
Notes
In detector_z_rail_alignment (v0.0.1) the procedure does NOT
modify lens / camera selection — it reads whatever MCTOptics is
currently set to and adapts. This precondition exists for cora’s
dependency graph: it captures the assumption that the operator
(or this procedure) has already put MCTOptics into a known state
before the Z-rail alignment runs.