bpm#
- class ConfigModel(*, name, description=None, lattice_names=None, model=None)[source]#
Bases:
ElementConfigModelConfiguration model for BPM element.
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.
- class BPM(cfg)[source]#
Bases:
ElementClass providing access to one BPM of a physical or simulated lattice
Construct a BPM
- Parameters:
- attach(peer, positions, offset, tilt)[source]#
Attach BPM attributes to a peer.
- Parameters:
peer (object) – The peer object (simulator or control system)
positions (RBpmArray) – BPM position readings
offset (RWBpmOffsetArray) – BPM offset values for correction
tilt (RWBpmTiltScalar) – BPM tilt angle for rotation correction
- Returns:
Self – A new attached instance of BPM
- property offset: RWBpmOffsetArray#
Get the BPM offset values.
- Returns:
RWBpmOffsetArray – BPM offset array for position correction
- Raises:
PyAMLException – If offset has not been attached
- property positions: RBpmArray#
Get the BPM position readings.
- Returns:
RBpmArray – BPM position array containing horizontal and vertical positions
- Raises:
PyAMLException – If positions have not been attached
- property tilt: RWBpmTiltScalar#
Get the BPM tilt angle.
- Returns:
RWBpmTiltScalar – BPM tilt angle for rotation correction
- Raises:
PyAMLException – If tilt has not been attached