bpm_simple_model#

class ConfigModel(*, x_pos, y_pos, x_pos_index=None, y_pos_index=None)[source]#

Bases: BaseModel

Configuration model for BPM simple model

Parameters:
  • x_pos (DeviceAccess, optional) – Horizontal position device

  • y_pos (DeviceAccess, optional) – Vertical position device

  • x_pos_index (int, optional) – Index in the array when specified, otherwise scalar value is expected

  • y_pos_index (int, optional) – Index in the array when specified, otherwise scalar value is expected

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

x_pos: DeviceAccess | None#
x_pos_index: int | None#
y_pos: DeviceAccess | None#
y_pos_index: int | None#
class BPMSimpleModel(cfg)[source]#

Bases: BPMModel

Concrete implementation of BPMModel that simulates a BPM with tilt and offset values.

get_offset_devices()[source]#

Get device handles used for offset access

Returns:

list[DeviceAccess] – Array of DeviceAcess

get_pos_devices()[source]#

Get device handles used for position reading

Returns:

list[DeviceAccess] – Array of DeviceAcess

get_tilt_device()[source]#

Get device handle used for tilt access

Returns:

list[DeviceAccess] – Array of DeviceAcess

x_pos_index()[source]#

Returns the index of the horizontal position in an array, otherwise a scalar value is expected from the corresponding DeviceAccess

Returns:

int – Index in the array, None for a scalar value

y_pos_index()[source]#

Returns the index of the veritcal position in an array, otherwise a scalar value is expected from the corresponding DeviceAccess

Returns:

int – Index in the array, None for a scalar value