dodal.devices.undulator.BaseUndulator#

class dodal.devices.undulator.BaseUndulator[source]#

Base class for undulator devices providing gap control and access management. This class expects target gap value [mm] passed in set method.

Parameters:
  • prefix (str)

  • poles (int, optional)

  • length (float, optional)

  • undulator_period (int, optional)

  • baton (optional)

  • name (str, optional)

  • prefix – PV prefix

  • poles – Number of magnetic poles built into the undulator

  • length – Length of the undulator in meters

  • undulator_period – Undulator period

  • baton – Baton object if provided.

  • name – Name for device. Defaults to “”.

Methods

raise_if_not_enabled()

Asynchronously raises AccessError if gap access is disabled and not in commissioning mode.

set(value)

Move undulator to a given position.

Attributes

abstract set(value: float) None[source]#

Move undulator to a given position. Abstract method - must be implemented by subclasses.

Parameters:

value (float) – target position - units depend on implementation

Return type:

None

async raise_if_not_enabled() AccessError | None[source]#

Asynchronously raises AccessError if gap access is disabled and not in commissioning mode.

Return type:

AccessError | None