Procedures

Structured, cora-consumable recipes for operations on 2-BM hardware.

Each page in this section documents one procedure end-to-end: preconditions, typed parameters, atomic steps, postconditions, and known failure modes. The structure is deliberately rigid so that every page maps cleanly onto a cora Method definition (see cora: Method.parameters_schema, Plan.wiring, the Procedure BC).

For the human-narrative walkthrough — which buttons to push on which MEDM, how to read the screen, when to call the floor coordinator — keep using the Operation pages. A procedure page may link to its ops counterpart but should not duplicate it.

For the underlying hardware (PV names, intrinsic specs, kinematic chain), see Beamline components.

Current procedures

  • Procedure templateProcedure template. Canonical skeleton for new procedure pages (Name / Devices / Preconditions / Parameters / Steps / Postconditions / Failure modes). Copy this file as item_NNN.rst to start a new procedure.

  • Detector Z-rail alignment to the beamdetector_z_rail_alignment. Walks the Optique Peter detector along its 1 m PRO225SL Z rail with a small square X-ray aperture defined by the B-station slits, fits the centroid drift, and uses the detector optical table (2bmb:table3.AX / .AY) to rotate the rail back parallel to the beam. Open trigger for a DetectorTable Asset (cora Table Family) on the cora side.

  • Centre and close an L3-style slit aperturecentre_and_close_slits. Drives an L3-style slit (--slit-station A or B) so the beam image sits at the centre of the detector frame, then incrementally closes Hsize / Vsize to a target (default 0 = fully closed). Two-phase: calibrate + iterate centring on Hcenter / Vcenter first, then sequential H / V size reduction. Operator typically follows with manual rezeroing of the four virtual motors to define a new origin. Open trigger for a per-station Slit Asset on the cora side.

  • Calibrate the throw of each L3 slit blade motorcalibrate_slit_blade_throw. Diagnostic procedure that drives each of a station’s four blade motors by ±blade_throw_mm from baseline, measures the bbox edge shift of the bright spot on the detector, and reports per-blade pixels-per-mm slopes. Flags same-axis spread and V/H mean-ratio mismatches to identify mis-calibrated blade motors. No deliberate output – all blades restored to baseline. Open trigger to extend the per-station Slit Asset with per-blade calibration fields on the cora side.

  • NV200D triggered-step buffer programmingnv200_trigger_step. Loads the per-axis coded-aperture position list (default 256, max 1024 positions per axis) into both Piezosystem Jena NV200D/NET controllers via Telnet and arms them so each rising edge on TRG IN advances to the next position in the buffer. --random selects compressive-sensing dithered sampling (the current operational mode); --linspace (default) gives an evenly-spaced raster. Run once at session setup or whenever the random list needs regenerating; controllers then drive themselves frame-by-frame from the FPGA trigger for the rest of the session. Targets the two CodedApertureFineDrive_X / _Y Assets and the coded- aperture XY flexure stage on the cora side.

  • Energy characterization (channel-cut crystal)energy_characterization (STATUS: STUB). cora-Procedure- shaped abstraction over the channel-cut crystal energy-calibration recipe. The operator mounts a removable Si channel-cut crystal (2d = 3.84 Å, consistent with Si (220), 36 × 3 mm) on the 2-BM-B sample-rotation stage in place of the sample, runs a rocking-curve scan around the calculated Bragg angle, fits the peak, and computes the measured energy + offset from the DMM nominal setting. Full operator-facing recipe at Energy calibration; broader alignment context (where this fits in the white → pink → mono workflow) at Bluesky. The formal 2bm-procedures script implementation is pending; this is cora’s energy_characterization Procedure target with the channel-cut crystal as a removable-reference-standard Subject.

  • Beamline alignment (white -> pink -> mono)align_beamline (STATUS: STUB). cora-Procedure-shaped abstraction over the three-phase beamline alignment workflow: phase 1 white-beam centring (M1 / DMM dropped out), phase 2 pink-beam tuning (M1 at 2.618 mrad), phase 3 mono-beam DMM setup (DMM Y stages + Bragg arms + M2 Y calibrated, target arm angle 1.25° at energy nominal). Optionally chained with the Energy characterization (channel-cut crystal) channel-cut calibration as a final step to verify absolute energy. Full operator-facing recipe with screenshots at Beamline alignment. Procedure granularity (one Method with three phases vs three separate Methods) is a design decision deferred to formal implementation. Natural cora session-start Method for the 2-BM deployment.

Stub procedures

These pages exist so the precondition graph of Detector Z-rail alignment to the beam has named targets to link to. Each is a STUB — the procedure is named, its Postconditions field declares which state it would satisfy, and the rest is TBD until the procedure is implemented.