orbit_response_matrix#

class ConfigModel(*, name, description=None, lattice_names=None, n_step=1, sleep_between_step=0, n_avg_meas=1, sleep_between_meas=0, bpm_array_name, hcorr_array_name, vcorr_array_name, corrector_delta)[source]#

Bases: MeasurementToolConfigModel

Configuration model for orbit response matrix measurement

Parameters:
  • bpm_array_name (str) – BPM array name

  • hcorr_array_name (str) – Horizontal corrector array name

  • vcorr_array_name (str) – Vertical corrector array name

  • corrector_delta (float) – Corrector delta for measurement

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.

bpm_array_name: str#
corrector_delta: float#
hcorr_array_name: str#
vcorr_array_name: str#
class OrbitResponseMatrix(cfg)[source]#

Bases: MeasurementTool

measure(corrector_names=None, sleep_between_step=None, n_avg_meas=None, sleep_between_meas=None, callback=None)[source]#

Measure orbit response matrix.

Example

sr = Accelerator.load("MyAccelerator.yaml")
acc = sr.design

if acc.orm.measure():
    acc.orm.save("ideal_orm.json")
    acc.orm.save("ideal_orm.yaml", with_type="yaml")
    acc.orm.save("ideal_orm.npz", with_type="npz")
Parameters:
  • sleep_between_step (float) – Default time sleep after steerer exitation Default: from config

  • n_avg_meas (int, optional) – Default number of orbit measurement per step used for averaging Default from config

  • sleep_between_meas (float) – Default time sleep between two orbit measurment Default: from config

  • callback (Callable, optional) – example: callback(action:int, callback_data: ‘Complicated struct’) callback is executed after each strength setting and after each orbit reading. If the callback returns false, then the process is aborted.