ibex_bluesky_core.callbacks.reflectometry

Reflectometry-specific callbacks.

class ibex_bluesky_core.callbacks.reflectometry.DetMapAngleScanLiveDispatcher(x_data: ndarray[tuple[Any, ...], dtype[float64]], x_name: str, y_in_name: str, y_out_name: str)[source]

Bases: LiveDispatcher

LiveDispatcher which accumulates an array of counts data, and emits data at the end.

For an array with dimension N, N events will be emitted at the end, corresponding to all input arrays summed together.

Init.

descriptor(doc: EventDescriptor) None[source]

Process a descriptor.

event(doc: Event, **kwargs: dict[str, Any]) Event[source]

Process an event.

stop(doc: RunStop, _md: dict[str, Any] | None = None) None[source]

Process a stop event.

class ibex_bluesky_core.callbacks.reflectometry.DetMapHeightScanLiveDispatcher(*, mon_name: str, det_name: str, out_name: str)[source]

Bases: LiveDispatcher

LiveDispatcher for reflectometry height scans.

This sums a 1-D array of detector integrals, and synchronously emits events, normalizing by the sum of a 1-D array of monitor integrals.

In the typical case, the array of monitor integrals will be of size 1 (i.e. a single monitor spectrum used for normalization).

Init.

event(doc: Event, **kwargs: dict[str, Any]) Event[source]

Process an event.