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) – 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

  • GPU (CPU and the)

  • them (compare)

  • When (and provide a warning if the results differ.)

  • False

  • CPU (ZocaloResults will only use results from the)

  • use_gpu (bool) – When True, ZocaloResults will take the first set of

  • receives (results that it)

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.