dodal.devices.zocalo.zocalo_results.ZocaloResults#

class dodal.devices.zocalo.zocalo_results.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) – Name of the device

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

  • channel (str) – Name for the results Queue

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

  • timeout_s (float) – Maximum time to wait for the Queue to be filled by an object, starting

  • triggered (from when the ZocaloResults device is)

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

  • use_cpu_and_gpu (bool) – When True, ZocaloResults will wait for results from the CPU and the GPU, compare them, and provide a warning if the results differ. When False, ZocaloResults will only use results from the CPU

Methods

describe()

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.