dodal.devices.zocalo.ZocaloResults#

class dodal.devices.zocalo.ZocaloResults[source]#

An ophyd device which can wait for results from a Zocalo job. These jobs should be triggered from a plan-subscribed callback using the run_start() and run_end() methods on dodal.devices.zocalo.ZocaloTrigger.

See https://diamondlightsource.github.io/dodal/main/how-to/zocalo.html

Parameters:
  • name (str, optional) – Name of the device.

  • zocalo_environment (str, optional) – How zocalo is configured. Defaults to i03’s development configuration.

  • channel (str, optional) – Name for the results Queue.

  • sort_key (str, optional) – How results are ranked. Defaults to sorting by highest counts.

  • timeout_s (float, optional) – Maximum time to wait for the Queue to be filled by an object, starting from when the ZocaloResults device is triggered.

  • prefix (str) – EPICS PV prefix for the device.

  • results_source (ZocaloSource, optional) – Where to get results from, GPU or CPU analysis.

Methods

stage()

Stages the Zocalo device by: subscribing to the queue, doing a background sleep for a few seconds to wait for any stale messages to be received, then clearing the queue.

trigger()

Returns an AsyncStatus waiting for results to be received from Zocalo.

unstage()

Attributes

stage()[source]#

Stages the Zocalo device by: subscribing to the queue, doing a background sleep for a few seconds to wait for any stale messages to be received, then clearing the queue. Plans using this device should wait on ZOCALO_STAGE_GROUP before triggering processing for the experiment.

trigger()[source]#

Returns an AsyncStatus waiting for results to be received from Zocalo.