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) – PV prefix.

  • poles (int, optional) – Number of magnetic poles built into the undulator.

  • length (float, optional) – Length of the undulator in meters.

  • undulator_period (int, optional) – Undulator period.

  • baton (Baton, optional) – Baton object if provided.

  • name (str, optional) – 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