From acb8f4a74d6eb2fa28fd2b4383bff88251f91083 Mon Sep 17 00:00:00 2001 From: PONS Date: Thu, 23 Oct 2025 16:39:48 +0200 Subject: [PATCH 1/5] New aggregator management --- pyaml/arrays/array.py | 9 ++------- pyaml/arrays/magnet.py | 12 +++++++----- pyaml/control/controlsystem.py | 16 ++++++++++++++++ tests/config/EBSTune.yaml | 2 -- .../dummy_cs/tango/tango/pyaml/controlsystem.py | 6 ++++++ 5 files changed, 31 insertions(+), 14 deletions(-) diff --git a/pyaml/arrays/array.py b/pyaml/arrays/array.py index 621958bc..63b899bb 100644 --- a/pyaml/arrays/array.py +++ b/pyaml/arrays/array.py @@ -5,7 +5,7 @@ import numpy as np from pydantic import BaseModel,ConfigDict from ..lattice.element_holder import ElementHolder -from ..control.deviceaccesslist import DeviceAccessList +from ..control.controlsystem import ControlSystem class ArrayConfigModel(BaseModel): @@ -15,11 +15,6 @@ class ArrayConfigModel(BaseModel): """Family name""" elements: list[str] """List of pyaml element names""" - aggregator: DeviceAccessList | None = None - """ - Aggregator object. If none specified, writings and readings are serialized. - If no device list is specified, it is dynamically constructed. - """ class ArrayConfig(object): """ @@ -31,6 +26,6 @@ def __init__(self, cfg: ArrayConfigModel): def fill_array(self,holder:ElementHolder): raise "Array.fill_array() is not subclassed" - def init_aggregator(self,holder:ElementHolder): + def init_aggregator(self,cs:ControlSystem): raise "Array.init_aggregator() is not subclassed" diff --git a/pyaml/arrays/magnet.py b/pyaml/arrays/magnet.py index bc5c7873..38ab3ec1 100644 --- a/pyaml/arrays/magnet.py +++ b/pyaml/arrays/magnet.py @@ -1,4 +1,5 @@ from .array import ArrayConfigModel,ArrayConfig +from ..control.controlsystem import ControlSystem from ..lattice.element_holder import ElementHolder # Define the main class name for this module @@ -14,11 +15,12 @@ def __init__(self, cfg: ArrayConfigModel): def fill_array(self,holder:ElementHolder): holder.fill_magnet_array(self._cfg.name,self._cfg.elements) - def init_aggregator(self,holder:ElementHolder): - if self._cfg.aggregator is not None and len(self._cfg.aggregator)==0: + def init_aggregator(self,cs:ControlSystem): + agg = cs.create_scalar_aggregator() + if agg is not None: # Construct dynamically aggregator for magnets - mag = holder.get_magnets(self._cfg.name) + mag = cs.get_magnets(self._cfg.name) for m in mag: devs = m.model.get_devices() - self._cfg.aggregator.add_devices(devs) - mag.set_aggregator(self._cfg.aggregator) \ No newline at end of file + agg.add_devices(devs) + mag.set_aggregator(agg) \ No newline at end of file diff --git a/pyaml/control/controlsystem.py b/pyaml/control/controlsystem.py index bdf3843f..adac5c6c 100644 --- a/pyaml/control/controlsystem.py +++ b/pyaml/control/controlsystem.py @@ -9,6 +9,8 @@ from ..magnet.cfm_magnet import CombinedFunctionMagnet from ..rf.rf_plant import RFPlant,RWTotalVoltage from ..rf.rf_transmitter import RFTransmitter +from ..control.deviceaccesslist import DeviceAccessList +from ..configuration.factory import Factory class ControlSystem(ElementHolder,metaclass=ABCMeta): """ @@ -23,11 +25,25 @@ def init_cs(self): """Initialize control system""" pass + def create_scalar_aggregator(self) -> DeviceAccessList: + mod = self.scalar_aggregator() + return Factory.build_object({"type":mod}) if mod is not None else None + @abstractmethod def name(self) -> str: """Return control system name (i.e. live)""" pass + + @abstractmethod + def scalar_aggregator(self) -> str | None: + """Returns the module name used for handling aggregator of DeviceAccess""" + return None + @abstractmethod + def vector_aggregator(self) -> str | None: + """Returns the module name used for handling aggregator of DeviceVectorAccess""" + return None + def set_energy(self,E:float): """ Sets the energy on magnets belonging to this control system diff --git a/tests/config/EBSTune.yaml b/tests/config/EBSTune.yaml index dac1fc72..e74c9093 100644 --- a/tests/config/EBSTune.yaml +++ b/tests/config/EBSTune.yaml @@ -15,8 +15,6 @@ instruments: arrays: - type: pyaml.arrays.magnet name: QForTune - aggregator: - type: tango.pyaml.multi_attribute elements: - QD2E-C04 - QD2A-C05 diff --git a/tests/dummy_cs/tango/tango/pyaml/controlsystem.py b/tests/dummy_cs/tango/tango/pyaml/controlsystem.py index 7e92e956..f6d57e28 100644 --- a/tests/dummy_cs/tango/tango/pyaml/controlsystem.py +++ b/tests/dummy_cs/tango/tango/pyaml/controlsystem.py @@ -23,3 +23,9 @@ def name(self) -> str: def init_cs(self): pass + + def scalar_aggregator(self) -> str | None: + return "tango.pyaml.multi_attribute" + + def vector_aggregator(self) -> str | None: + return None From 10147064daf28cee5a29d63a2cf0cd5f7d1bf6ab Mon Sep 17 00:00:00 2001 From: PONS Date: Wed, 29 Oct 2025 16:25:36 +0100 Subject: [PATCH 2/5] BPM array + Fix dummy_cs name conflict with tango --- pyaml/arrays/array.py | 5 - pyaml/arrays/bpm.py | 15 + pyaml/arrays/bpm_array.py | 114 + pyaml/arrays/magnet.py | 10 - pyaml/arrays/magnet_array.py | 33 +- pyaml/bpm/bpm_model.py | 36 + pyaml/bpm/bpm_simple_model.py | 32 + pyaml/bpm/bpm_tiltoffset_model.py | 32 + pyaml/instrument.py | 9 +- pyaml/lattice/element_holder.py | 26 +- pyaml/magnet/cfm_magnet.py | 6 +- tests/config/EBSOrbit.yaml | 12379 ++++++++++++++++ tests/config/sr/magnet_models/SH1AC01.yaml | 6 +- tests/config/sr/magnet_models/SH1AC02.yaml | 27 +- .../sr/magnet_models/SH1_SH3_h_strength.csv | 19 + .../sr/magnet_models/SH1_SH3_sq_strength.csv | 17 + .../sr/magnet_models/SH1_SH3_v_strength.csv | 19 + .../sr/magnet_models/SH2_h_strength.csv | 19 + .../sr/magnet_models/SH2_sq_strength.csv | 17 + .../sr/magnet_models/SH2_v_strength.csv | 19 + .../sr/magnet_models/SHI_h_strength.csv | 17 + tests/config/sr/magnet_models/SHI_matrix.csv | 4 + .../sr/magnet_models/SHI_sext_strength.csv | 21 + .../sr/magnet_models/SHI_sq_strength.csv | 19 + .../sr/magnet_models/SHI_v_strength.csv | 19 + .../config/sr/magnet_models/SH_h_strength.csv | 19 - .../sr/magnet_models/SH_sq_strength.csv | 17 - .../config/sr/magnet_models/SH_v_strength.csv | 19 - tests/conftest.py | 6 +- .../{tango => tango-pyaml}/pyproject.toml | 4 +- .../{tango => tango-pyaml}/tango/__init__.py | 0 .../tango/pyaml/__init__.py | 0 .../tango/pyaml/attribute.py | 0 .../tango/pyaml/attribute_read_only.py | 0 ...ith_tango_powersupply_mocking_behaviour.py | 0 .../tango/pyaml/controlsystem.py | 0 .../tango/pyaml/multi_attribute.py | 0 tests/lattice_info.py | 2 +- tests/test_aggregator.py | 4 +- tests/test_bpm.py | 16 +- tests/test_bpm_controlsystem.py | 12 +- tests/test_ident_models.py | 2 +- tests/test_load_quad.py | 4 +- tests/test_tune.py | 4 +- tests/test_tune_hardware.py | 4 +- 45 files changed, 12886 insertions(+), 147 deletions(-) create mode 100644 pyaml/arrays/bpm.py create mode 100644 pyaml/arrays/bpm_array.py create mode 100644 tests/config/EBSOrbit.yaml create mode 100644 tests/config/sr/magnet_models/SH1_SH3_h_strength.csv create mode 100644 tests/config/sr/magnet_models/SH1_SH3_sq_strength.csv create mode 100644 tests/config/sr/magnet_models/SH1_SH3_v_strength.csv create mode 100644 tests/config/sr/magnet_models/SH2_h_strength.csv create mode 100644 tests/config/sr/magnet_models/SH2_sq_strength.csv create mode 100644 tests/config/sr/magnet_models/SH2_v_strength.csv create mode 100644 tests/config/sr/magnet_models/SHI_h_strength.csv create mode 100644 tests/config/sr/magnet_models/SHI_matrix.csv create mode 100644 tests/config/sr/magnet_models/SHI_sext_strength.csv create mode 100644 tests/config/sr/magnet_models/SHI_sq_strength.csv create mode 100644 tests/config/sr/magnet_models/SHI_v_strength.csv delete mode 100644 tests/config/sr/magnet_models/SH_h_strength.csv delete mode 100644 tests/config/sr/magnet_models/SH_sq_strength.csv delete mode 100644 tests/config/sr/magnet_models/SH_v_strength.csv rename tests/dummy_cs/{tango => tango-pyaml}/pyproject.toml (85%) rename tests/dummy_cs/{tango => tango-pyaml}/tango/__init__.py (100%) rename tests/dummy_cs/{tango => tango-pyaml}/tango/pyaml/__init__.py (100%) rename tests/dummy_cs/{tango => tango-pyaml}/tango/pyaml/attribute.py (100%) rename tests/dummy_cs/{tango => tango-pyaml}/tango/pyaml/attribute_read_only.py (100%) rename tests/dummy_cs/{tango => tango-pyaml}/tango/pyaml/attribute_with_tango_powersupply_mocking_behaviour.py (100%) rename tests/dummy_cs/{tango => tango-pyaml}/tango/pyaml/controlsystem.py (100%) rename tests/dummy_cs/{tango => tango-pyaml}/tango/pyaml/multi_attribute.py (100%) diff --git a/pyaml/arrays/array.py b/pyaml/arrays/array.py index 63b899bb..742f1f70 100644 --- a/pyaml/arrays/array.py +++ b/pyaml/arrays/array.py @@ -5,7 +5,6 @@ import numpy as np from pydantic import BaseModel,ConfigDict from ..lattice.element_holder import ElementHolder -from ..control.controlsystem import ControlSystem class ArrayConfigModel(BaseModel): @@ -25,7 +24,3 @@ def __init__(self, cfg: ArrayConfigModel): def fill_array(self,holder:ElementHolder): raise "Array.fill_array() is not subclassed" - - def init_aggregator(self,cs:ControlSystem): - raise "Array.init_aggregator() is not subclassed" - diff --git a/pyaml/arrays/bpm.py b/pyaml/arrays/bpm.py new file mode 100644 index 00000000..c0d02c8d --- /dev/null +++ b/pyaml/arrays/bpm.py @@ -0,0 +1,15 @@ +from .array import ArrayConfigModel,ArrayConfig +from ..lattice.element_holder import ElementHolder + +# Define the main class name for this module +PYAMLCLASS = "BPM" + +class ConfigModel(ArrayConfigModel):... + +class BPM(ArrayConfig): + + def __init__(self, cfg: ArrayConfigModel): + super().__init__(cfg) + + def fill_array(self,holder:ElementHolder): + holder.fill_bpm_array(self._cfg.name,self._cfg.elements) diff --git a/pyaml/arrays/bpm_array.py b/pyaml/arrays/bpm_array.py new file mode 100644 index 00000000..724a261a --- /dev/null +++ b/pyaml/arrays/bpm_array.py @@ -0,0 +1,114 @@ +from ..control.abstract import ReadFloatArray +from ..bpm.bpm import BPM +import numpy as np +from ..control.deviceaccesslist import DeviceAccessList + +class RWBPMPosition(ReadFloatArray): + + def __init__(self, name:str, bpms:list[BPM]): + self.__bpms = bpms + self.__name = name + self.aggregator:DeviceAccessList = None + + # Gets the values + def get(self) -> np.array: + if not self.aggregator: + return np.array([b.positions.get() for b in self.__bpms]) + else: + return self.aggregator.get() + + # Gets the unit of the values + def unit(self) -> list[str]: + return [b.positions.unit() for b in self.__bpms] + + # Set the aggregator (Control system only) + def set_aggregator(self,agg:DeviceAccessList): + self.aggregator = agg + + +class RWBPMSinglePosition(ReadFloatArray): + + def __init__(self, name:str, bpms:list[BPM],idx: int): + self.__bpms = bpms + self.__name = name + self.__idx = idx + self.aggregator:DeviceAccessList = None + + # Gets the values + def get(self) -> np.array: + if not self.aggregator: + return np.array([b.positions.get()[self.__idx] for b in self.__bpms]) + else: + return self.aggregator.get() + + # Gets the unit of the values + def unit(self) -> list[str]: + return [b.positions.unit()[self.__idx] for b in self.__bpms] + + # Set the aggregator (Control system only) + def set_aggregator(self,agg:DeviceAccessList): + self.aggregator = agg + + + +class BPMArray(list[BPM]): + """ + Class that implements access to a BPM array + """ + + def __init__(self,arrayName:str,bpms:list[BPM],agg:DeviceAccessList|None=None,aggh:DeviceAccessList|None=None,aggv:DeviceAccessList|None=None): + """ + Construct a BPM array + + Parameters + ---------- + arrayName : str + Array name + bpms: list[BPM] + BPM iterator + agg : DeviceAccessList + Control system aggregator (Parralel access to list of device) + """ + super().__init__(i for i in bpms) + self.__name = arrayName + self.__hvpos = RWBPMPosition(arrayName,bpms) + self.__hpos = RWBPMSinglePosition(arrayName,bpms,0) + self.__vpos = RWBPMSinglePosition(arrayName,bpms,1) + + if agg is not None: + # Fill magnet aggregator + for b in bpms: + devs = b.model.get_pos_devices() + agg.add_devices(devs) + aggh.add_devices(devs[0]) + aggv.add_devices(devs[1]) + + self.__hvpos.set_aggregator(agg) + self.__hpos.set_aggregator(aggh) + self.__vpos.set_aggregator(aggv) + + @property + def positions(self) -> RWBPMPosition: + """ + Give access to bpm posttions of each bpm of this array + """ + return self.__hvpos + + @property + def h(self) -> RWBPMSinglePosition: + """ + Give access to bpm H posttions of each bpm of this array + """ + return self.__hpos + + @property + def v(self) -> RWBPMSinglePosition: + """ + Give access to bpm H posttions of each bpm of this array + """ + return self.__vpos + + + + + \ No newline at end of file diff --git a/pyaml/arrays/magnet.py b/pyaml/arrays/magnet.py index 38ab3ec1..fe84017b 100644 --- a/pyaml/arrays/magnet.py +++ b/pyaml/arrays/magnet.py @@ -14,13 +14,3 @@ def __init__(self, cfg: ArrayConfigModel): def fill_array(self,holder:ElementHolder): holder.fill_magnet_array(self._cfg.name,self._cfg.elements) - - def init_aggregator(self,cs:ControlSystem): - agg = cs.create_scalar_aggregator() - if agg is not None: - # Construct dynamically aggregator for magnets - mag = cs.get_magnets(self._cfg.name) - for m in mag: - devs = m.model.get_devices() - agg.add_devices(devs) - mag.set_aggregator(agg) \ No newline at end of file diff --git a/pyaml/arrays/magnet_array.py b/pyaml/arrays/magnet_array.py index bd4c009a..bbb75684 100644 --- a/pyaml/arrays/magnet_array.py +++ b/pyaml/arrays/magnet_array.py @@ -109,31 +109,30 @@ class MagnetArray(list[Magnet]): Class that implements access to a magnet array """ - def __init__(self,arrayName:str,iterable): + def __init__(self,arrayName:str,magnets:list[Magnet],agg:DeviceAccessList|None=None): """ Construct a magnet array Parameters ---------- - iterable + arrayName : str + Array name + magnets: list[Magnet] Magnet iterator - """ - super().__init__(i for i in iterable) - self.__name = arrayName - self.__rwstrengths = RWMagnetStrength(arrayName,iterable) - self.__rwhardwares = RWMagnetHardware(arrayName,iterable) - - def set_aggregator(self,agg:DeviceAccessList): - """ - Set an aggregator for this array. - Aggregator allow fast control system access by parallelizing - call to underlying hardware. - - Parameters - ---------- agg : DeviceAccessList - List of device access + Control system aggregator (Parralel access to list of device) """ + super().__init__(i for i in magnets) + self.__name = arrayName + self.__rwstrengths = RWMagnetStrength(arrayName,magnets) + self.__rwhardwares = RWMagnetHardware(arrayName,magnets) + + if agg is not None: + # Fill magnet aggregator + for m in magnets: + devs = m.model.get_devices() + agg.add_devices(devs) + self.__rwstrengths.set_aggregator(agg) self.__rwhardwares.set_aggregator(agg) diff --git a/pyaml/bpm/bpm_model.py b/pyaml/bpm/bpm_model.py index 68326c2d..a19f5205 100644 --- a/pyaml/bpm/bpm_model.py +++ b/pyaml/bpm/bpm_model.py @@ -1,6 +1,7 @@ from abc import ABCMeta, abstractmethod import numpy as np from numpy.typing import NDArray +from ..control.deviceaccess import DeviceAccess class BPMModel(metaclass=ABCMeta): """ @@ -68,3 +69,38 @@ def set_offset(self, offset: NDArray[np.float64]): """ pass + @abstractmethod + def get_pos_devices(self) -> list[DeviceAccess]: + """ + Get device handles used for position reading + + Returns + ------- + list[DeviceAccess] + Array of DeviceAcess + """ + pass + + @abstractmethod + def get_tilt_device(self) -> DeviceAccess: + """ + Get device handle used for tilt access + + Returns + ------- + list[DeviceAccess] + Array of DeviceAcess + """ + pass + + @abstractmethod + def get_offset_devices(self) -> list[DeviceAccess]: + """ + Get device handles used for offset access + + Returns + ------- + list[DeviceAccess] + Array of DeviceAcess + """ + pass diff --git a/pyaml/bpm/bpm_simple_model.py b/pyaml/bpm/bpm_simple_model.py index d362bcb1..1de6033f 100644 --- a/pyaml/bpm/bpm_simple_model.py +++ b/pyaml/bpm/bpm_simple_model.py @@ -81,3 +81,35 @@ def set_offset(self, offset_values: np.ndarray): """ raise NotImplementedError("Offset setting not implemented in this model.") + def get_pos_devices(self) -> list[DeviceAccess]: + """ + Get device handles used for position reading + + Returns + ------- + list[DeviceAccess] + Array of DeviceAcess + """ + return [self.__x_pos,self.__y_pos] + + def get_tilt_device(self) -> DeviceAccess: + """ + Get device handle used for tilt access + + Returns + ------- + list[DeviceAccess] + Array of DeviceAcess + """ + return [] + + def get_offset_devices(self) -> list[DeviceAccess]: + """ + Get device handles used for offset access + + Returns + ------- + list[DeviceAccess] + Array of DeviceAcess + """ + return [] diff --git a/pyaml/bpm/bpm_tiltoffset_model.py b/pyaml/bpm/bpm_tiltoffset_model.py index 115ebc26..a70bb59d 100644 --- a/pyaml/bpm/bpm_tiltoffset_model.py +++ b/pyaml/bpm/bpm_tiltoffset_model.py @@ -81,3 +81,35 @@ def set_offset(self, offset_values: np.ndarray): self.__x_offset.set(offset_values[0]) self.__y_offset.set(offset_values[1]) + def get_pos_devices(self) -> list[DeviceAccess]: + """ + Get device handles used for position reading + + Returns + ------- + list[DeviceAccess] + Array of DeviceAcess + """ + return [self.__x_pos,self.__y_pos] + + def get_tilt_device(self) -> DeviceAccess: + """ + Get device handle used for tilt access + + Returns + ------- + DeviceAccess + DeviceAcess + """ + return [self.__tilt] + + def get_offset_devices(self) -> list[DeviceAccess]: + """ + Get device handles used for offset access + + Returns + ------- + list[DeviceAccess] + Array of DeviceAcess + """ + return [self.__x_offset,self.__y_offset] diff --git a/pyaml/instrument.py b/pyaml/instrument.py index 0cd70185..3ee284ab 100644 --- a/pyaml/instrument.py +++ b/pyaml/instrument.py @@ -42,7 +42,10 @@ def __init__(self, cfg: ConfigModel): if cfg.controls is not None: for c in cfg.controls: if c.name() == "live": - self.__live = c + self.__live = c + else: + # Add as dynacmic attribute + setattr(self,c.name(),c) c.init_cs() c.fill_device(cfg.devices) @@ -50,6 +53,9 @@ def __init__(self, cfg: ConfigModel): for s in cfg.simulators: if s.name() == "design": self.__design = s + else: + # Add as dynacmic attribute + setattr(self,s.name(),s) s.fill_device(cfg.devices) if cfg.arrays is not None: @@ -60,7 +66,6 @@ def __init__(self, cfg: ConfigModel): if cfg.controls is not None: for c in cfg.controls: a.fill_array(c) - a.init_aggregator(c) if cfg.energy is not None: self.set_energy(cfg.energy) diff --git a/pyaml/lattice/element_holder.py b/pyaml/lattice/element_holder.py index 57a6646b..ea82c1e5 100644 --- a/pyaml/lattice/element_holder.py +++ b/pyaml/lattice/element_holder.py @@ -6,7 +6,8 @@ from ..rf.rf_plant import RFPlant from ..rf.rf_transmitter import RFTransmitter from ..arrays.magnet_array import MagnetArray - +from ..arrays.bpm_array import BPMArray +from ..control.deviceaccesslist import DeviceAccessList class ElementHolder(object): """ @@ -23,7 +24,14 @@ def __init__(self): # Array handle self.__MAGNET_ARRAYS: dict = {} - + self.__BPM_ARRAYS: dict = {} + + def create_scalar_aggregator(self) -> DeviceAccessList: + """ + Returns a control system scalar aggretor + """ + return None + def fill_device(self,elements:list[Element]): raise "ElementHolder.fill_device() is not subclassed" @@ -34,7 +42,19 @@ def fill_magnet_array(self,arrayName:str,elementNames:list[str]): a.append(self.get_magnet(name)) except Exception as err: raise Exception(f"MagnetArray {arrayName} : {err}") - self.__MAGNET_ARRAYS[arrayName] = MagnetArray(arrayName,a) + self.__MAGNET_ARRAYS[arrayName] = MagnetArray(arrayName,a,self.create_scalar_aggregator()) + + def fill_bpm_array(self,arrayName:str,elementNames:list[str]): + a = [] + for name in elementNames: + try: + a.append(self.get_bpm(name)) + except Exception as err: + raise Exception(f"BpmArray {arrayName} : {err}") + hv = self.create_scalar_aggregator() + h = self.create_scalar_aggregator() + v = self.create_scalar_aggregator() + self.__BPM_ARRAYS[arrayName] = BPMArray(arrayName,a,hv,h,v) def get_magnet(self,name:str) -> Magnet: if name not in self.__MAGNETS: diff --git a/pyaml/magnet/cfm_magnet.py b/pyaml/magnet/cfm_magnet.py index d279fd34..39befa50 100644 --- a/pyaml/magnet/cfm_magnet.py +++ b/pyaml/magnet/cfm_magnet.py @@ -14,7 +14,7 @@ from .skewsext import SkewSext from .octupole import Octupole from .skewoctu import SkewOctu -from .magnet import Magnet +from .magnet import Magnet,MagnetConfigModel _fmap:dict = { "B0":HCorrector, @@ -65,8 +65,8 @@ def attach(self, strengths: abstract.ReadWriteFloatArray, hardwares: abstract.Re # Construct a single function magnet for each multipole of this combined function magnet l = [] for idx,m in enumerate(self._cfg.mapping): - args = {"name":m[1]} - mclass:Magnet = _fmap[m[0]](ElementConfigModel(**args)) + args = {"name":m[1],"model":self.model} + mclass:Magnet = _fmap[m[0]](MagnetConfigModel(**args)) strength = RWMapper(strengths,idx) hardware = RWMapper(hardwares,idx) if self.model.has_hardware() else None l.append(mclass.attach(strength,hardware)) diff --git a/tests/config/EBSOrbit.yaml b/tests/config/EBSOrbit.yaml new file mode 100644 index 00000000..b22c8110 --- /dev/null +++ b/tests/config/EBSOrbit.yaml @@ -0,0 +1,12379 @@ +type: pyaml.pyaml +instruments: + - type: pyaml.instrument + name: sr + energy: 6e9 + simulators: + - type: pyaml.lattice.simulator + lattice: sr/lattices/ebs.mat + name: design + controls: + - type: tango.pyaml.controlsystem + tango_host: ebs-simu-3:10000 + name: live + data_folder: /data/store + arrays: + - type: pyaml.arrays.magnet + name: HCorr + elements: + - SH1A-C04-H + - SJ1A-C04-H + - SJ2A-C04-H + - SJ1B-C04-H + - SH2B-C04-H + - SJ1D-C04-H + - SJ2E-C04-H + - SJ1E-C04-H + - SH3E-C04-H + - SH1A-C05-H + - SD1A-C05-H + - SF2A-C05-H + - SD1B-C05-H + - SH2B-C05-H + - SD1D-C05-H + - SF2E-C05-H + - SD1E-C05-H + - SH3E-C05-H + - SH1A-C06-H + - SD1A-C06-H + - SF2A-C06-H + - SD1B-C06-H + - SH2B-C06-H + - SD1D-C06-H + - SF2E-C06-H + - SD1E-C06-H + - SH3E-C06-H + - SH1A-C07-H + - SD1A-C07-H + - SF2A-C07-H + - SD1B-C07-H + - SH2B-C07-H + - SD1D-C07-H + - SF2E-C07-H + - SD1E-C07-H + - SH3E-C07-H + - SH1A-C08-H + - SD1A-C08-H + - SF2A-C08-H + - SD1B-C08-H + - SH2B-C08-H + - SD1D-C08-H + - SF2E-C08-H + - SD1E-C08-H + - SH3E-C08-H + - SH1A-C09-H + - SD1A-C09-H + - SF2A-C09-H + - SD1B-C09-H + - SH2B-C09-H + - SD1D-C09-H + - SF2E-C09-H + - SD1E-C09-H + - SH3E-C09-H + - SH1A-C10-H + - SD1A-C10-H + - SF2A-C10-H + - SD1B-C10-H + - SH2B-C10-H + - SD1D-C10-H + - SF2E-C10-H + - SD1E-C10-H + - SH3E-C10-H + - SH1A-C11-H + - SD1A-C11-H + - SF2A-C11-H + - SD1B-C11-H + - SH2B-C11-H + - SD1D-C11-H + - SF2E-C11-H + - SD1E-C11-H + - SH3E-C11-H + - SH1A-C12-H + - SD1A-C12-H + - SF2A-C12-H + - SD1B-C12-H + - SH2B-C12-H + - SD1D-C12-H + - SF2E-C12-H + - SD1E-C12-H + - SH3E-C12-H + - SH1A-C13-H + - SD1A-C13-H + - SF2A-C13-H + - SD1B-C13-H + - SH2B-C13-H + - SD1D-C13-H + - SF2E-C13-H + - SD1E-C13-H + - SH3E-C13-H + - SH1A-C14-H + - SD1A-C14-H + - SF2A-C14-H + - SD1B-C14-H + - SH2B-C14-H + - SD1D-C14-H + - SF2E-C14-H + - SD1E-C14-H + - SH3E-C14-H + - SH1A-C15-H + - SD1A-C15-H + - SF2A-C15-H + - SD1B-C15-H + - SH2B-C15-H + - SD1D-C15-H + - SF2E-C15-H + - SD1E-C15-H + - SH3E-C15-H + - SH1A-C16-H + - SD1A-C16-H + - SF2A-C16-H + - SD1B-C16-H + - SH2B-C16-H + - SD1D-C16-H + - SF2E-C16-H + - SD1E-C16-H + - SH3E-C16-H + - SH1A-C17-H + - SD1A-C17-H + - SF2A-C17-H + - SD1B-C17-H + - SH2B-C17-H + - SD1D-C17-H + - SF2E-C17-H + - SD1E-C17-H + - SH3E-C17-H + - SH1A-C18-H + - SD1A-C18-H + - SF2A-C18-H + - SD1B-C18-H + - SH2B-C18-H + - SD1D-C18-H + - SF2E-C18-H + - SD1E-C18-H + - SH3E-C18-H + - SH1A-C19-H + - SD1A-C19-H + - SF2A-C19-H + - SD1B-C19-H + - SH2B-C19-H + - SD1D-C19-H + - SF2E-C19-H + - SD1E-C19-H + - SH3E-C19-H + - SH1A-C20-H + - SD1A-C20-H + - SF2A-C20-H + - SD1B-C20-H + - SH2B-C20-H + - SD1D-C20-H + - SF2E-C20-H + - SD1E-C20-H + - SH3E-C20-H + - SH1A-C21-H + - SD1A-C21-H + - SF2A-C21-H + - SD1B-C21-H + - SH2B-C21-H + - SD1D-C21-H + - SF2E-C21-H + - SD1E-C21-H + - SH3E-C21-H + - SH1A-C22-H + - SD1A-C22-H + - SF2A-C22-H + - SD1B-C22-H + - SH2B-C22-H + - SD1D-C22-H + - SF2E-C22-H + - SD1E-C22-H + - SH3E-C22-H + - SH1A-C23-H + - SD1A-C23-H + - SF2A-C23-H + - SD1B-C23-H + - SH2B-C23-H + - SD1D-C23-H + - SF2E-C23-H + - SD1E-C23-H + - SH3E-C23-H + - SH1A-C24-H + - SD1A-C24-H + - SF2A-C24-H + - SD1B-C24-H + - SH2B-C24-H + - SD1D-C24-H + - SF2E-C24-H + - SD1E-C24-H + - SH3E-C24-H + - SH1A-C25-H + - SD1A-C25-H + - SF2A-C25-H + - SD1B-C25-H + - SH2B-C25-H + - SD1D-C25-H + - SF2E-C25-H + - SD1E-C25-H + - SH3E-C25-H + - SH1A-C26-H + - SD1A-C26-H + - SF2A-C26-H + - SD1B-C26-H + - SH2B-C26-H + - SD1D-C26-H + - SF2E-C26-H + - SD1E-C26-H + - SH3E-C26-H + - SH1A-C27-H + - SD1A-C27-H + - SF2A-C27-H + - SD1B-C27-H + - SH2B-C27-H + - SD1D-C27-H + - SF2E-C27-H + - SD1E-C27-H + - SH3E-C27-H + - SH1A-C28-H + - SD1A-C28-H + - SF2A-C28-H + - SD1B-C28-H + - SH2B-C28-H + - SD1D-C28-H + - SF2E-C28-H + - SD1E-C28-H + - SH3E-C28-H + - SH1A-C29-H + - SD1A-C29-H + - SF2A-C29-H + - SD1B-C29-H + - SH2B-C29-H + - SD1D-C29-H + - SF2E-C29-H + - SD1E-C29-H + - SH3E-C29-H + - SH1A-C30-H + - SD1A-C30-H + - SF2A-C30-H + - SD1B-C30-H + - SH2B-C30-H + - SD1D-C30-H + - SF2E-C30-H + - SD1E-C30-H + - SH3E-C30-H + - SH1A-C31-H + - SD1A-C31-H + - SF2A-C31-H + - SD1B-C31-H + - SH2B-C31-H + - SD1D-C31-H + - SF2E-C31-H + - SD1E-C31-H + - SH3E-C31-H + - SH1A-C32-H + - SD1A-C32-H + - SF2A-C32-H + - SD1B-C32-H + - SH2B-C32-H + - SD1D-C32-H + - SF2E-C32-H + - SD1E-C32-H + - SH3E-C32-H + - SH1A-C01-H + - SD1A-C01-H + - SF2A-C01-H + - SD1B-C01-H + - SH2B-C01-H + - SD1D-C01-H + - SF2E-C01-H + - SD1E-C01-H + - SH3E-C01-H + - SH1A-C02-H + - SD1A-C02-H + - SF2A-C02-H + - SD1B-C02-H + - SH2B-C02-H + - SD1D-C02-H + - SF2E-C02-H + - SD1E-C02-H + - SH3E-C02-H + - SH1A-C03-H + - SI1A-C03-H + - SI2A-C03-H + - SI1B-C03-H + - SH2B-C03-H + - SI1D-C03-H + - SI2E-C03-H + - SI1E-C03-H + - SH3E-C03-H + - type: pyaml.arrays.magnet + name: VCorr + elements: + - SH1A-C04-V + - SJ1A-C04-V + - SJ2A-C04-V + - SJ1B-C04-V + - SH2B-C04-V + - SJ1D-C04-V + - SJ2E-C04-V + - SJ1E-C04-V + - SH3E-C04-V + - SH1A-C05-V + - SD1A-C05-V + - SF2A-C05-V + - SD1B-C05-V + - SH2B-C05-V + - SD1D-C05-V + - SF2E-C05-V + - SD1E-C05-V + - SH3E-C05-V + - SH1A-C06-V + - SD1A-C06-V + - SF2A-C06-V + - SD1B-C06-V + - SH2B-C06-V + - SD1D-C06-V + - SF2E-C06-V + - SD1E-C06-V + - SH3E-C06-V + - SH1A-C07-V + - SD1A-C07-V + - SF2A-C07-V + - SD1B-C07-V + - SH2B-C07-V + - SD1D-C07-V + - SF2E-C07-V + - SD1E-C07-V + - SH3E-C07-V + - SH1A-C08-V + - SD1A-C08-V + - SF2A-C08-V + - SD1B-C08-V + - SH2B-C08-V + - SD1D-C08-V + - SF2E-C08-V + - SD1E-C08-V + - SH3E-C08-V + - SH1A-C09-V + - SD1A-C09-V + - SF2A-C09-V + - SD1B-C09-V + - SH2B-C09-V + - SD1D-C09-V + - SF2E-C09-V + - SD1E-C09-V + - SH3E-C09-V + - SH1A-C10-V + - SD1A-C10-V + - SF2A-C10-V + - SD1B-C10-V + - SH2B-C10-V + - SD1D-C10-V + - SF2E-C10-V + - SD1E-C10-V + - SH3E-C10-V + - SH1A-C11-V + - SD1A-C11-V + - SF2A-C11-V + - SD1B-C11-V + - SH2B-C11-V + - SD1D-C11-V + - SF2E-C11-V + - SD1E-C11-V + - SH3E-C11-V + - SH1A-C12-V + - SD1A-C12-V + - SF2A-C12-V + - SD1B-C12-V + - SH2B-C12-V + - SD1D-C12-V + - SF2E-C12-V + - SD1E-C12-V + - SH3E-C12-V + - SH1A-C13-V + - SD1A-C13-V + - SF2A-C13-V + - SD1B-C13-V + - SH2B-C13-V + - SD1D-C13-V + - SF2E-C13-V + - SD1E-C13-V + - SH3E-C13-V + - SH1A-C14-V + - SD1A-C14-V + - SF2A-C14-V + - SD1B-C14-V + - SH2B-C14-V + - SD1D-C14-V + - SF2E-C14-V + - SD1E-C14-V + - SH3E-C14-V + - SH1A-C15-V + - SD1A-C15-V + - SF2A-C15-V + - SD1B-C15-V + - SH2B-C15-V + - SD1D-C15-V + - SF2E-C15-V + - SD1E-C15-V + - SH3E-C15-V + - SH1A-C16-V + - SD1A-C16-V + - SF2A-C16-V + - SD1B-C16-V + - SH2B-C16-V + - SD1D-C16-V + - SF2E-C16-V + - SD1E-C16-V + - SH3E-C16-V + - SH1A-C17-V + - SD1A-C17-V + - SF2A-C17-V + - SD1B-C17-V + - SH2B-C17-V + - SD1D-C17-V + - SF2E-C17-V + - SD1E-C17-V + - SH3E-C17-V + - SH1A-C18-V + - SD1A-C18-V + - SF2A-C18-V + - SD1B-C18-V + - SH2B-C18-V + - SD1D-C18-V + - SF2E-C18-V + - SD1E-C18-V + - SH3E-C18-V + - SH1A-C19-V + - SD1A-C19-V + - SF2A-C19-V + - SD1B-C19-V + - SH2B-C19-V + - SD1D-C19-V + - SF2E-C19-V + - SD1E-C19-V + - SH3E-C19-V + - SH1A-C20-V + - SD1A-C20-V + - SF2A-C20-V + - SD1B-C20-V + - SH2B-C20-V + - SD1D-C20-V + - SF2E-C20-V + - SD1E-C20-V + - SH3E-C20-V + - SH1A-C21-V + - SD1A-C21-V + - SF2A-C21-V + - SD1B-C21-V + - SH2B-C21-V + - SD1D-C21-V + - SF2E-C21-V + - SD1E-C21-V + - SH3E-C21-V + - SH1A-C22-V + - SD1A-C22-V + - SF2A-C22-V + - SD1B-C22-V + - SH2B-C22-V + - SD1D-C22-V + - SF2E-C22-V + - SD1E-C22-V + - SH3E-C22-V + - SH1A-C23-V + - SD1A-C23-V + - SF2A-C23-V + - SD1B-C23-V + - SH2B-C23-V + - SD1D-C23-V + - SF2E-C23-V + - SD1E-C23-V + - SH3E-C23-V + - SH1A-C24-V + - SD1A-C24-V + - SF2A-C24-V + - SD1B-C24-V + - SH2B-C24-V + - SD1D-C24-V + - SF2E-C24-V + - SD1E-C24-V + - SH3E-C24-V + - SH1A-C25-V + - SD1A-C25-V + - SF2A-C25-V + - SD1B-C25-V + - SH2B-C25-V + - SD1D-C25-V + - SF2E-C25-V + - SD1E-C25-V + - SH3E-C25-V + - SH1A-C26-V + - SD1A-C26-V + - SF2A-C26-V + - SD1B-C26-V + - SH2B-C26-V + - SD1D-C26-V + - SF2E-C26-V + - SD1E-C26-V + - SH3E-C26-V + - SH1A-C27-V + - SD1A-C27-V + - SF2A-C27-V + - SD1B-C27-V + - SH2B-C27-V + - SD1D-C27-V + - SF2E-C27-V + - SD1E-C27-V + - SH3E-C27-V + - SH1A-C28-V + - SD1A-C28-V + - SF2A-C28-V + - SD1B-C28-V + - SH2B-C28-V + - SD1D-C28-V + - SF2E-C28-V + - SD1E-C28-V + - SH3E-C28-V + - SH1A-C29-V + - SD1A-C29-V + - SF2A-C29-V + - SD1B-C29-V + - SH2B-C29-V + - SD1D-C29-V + - SF2E-C29-V + - SD1E-C29-V + - SH3E-C29-V + - SH1A-C30-V + - SD1A-C30-V + - SF2A-C30-V + - SD1B-C30-V + - SH2B-C30-V + - SD1D-C30-V + - SF2E-C30-V + - SD1E-C30-V + - SH3E-C30-V + - SH1A-C31-V + - SD1A-C31-V + - SF2A-C31-V + - SD1B-C31-V + - SH2B-C31-V + - SD1D-C31-V + - SF2E-C31-V + - SD1E-C31-V + - SH3E-C31-V + - SH1A-C32-V + - SD1A-C32-V + - SF2A-C32-V + - SD1B-C32-V + - SH2B-C32-V + - SD1D-C32-V + - SF2E-C32-V + - SD1E-C32-V + - SH3E-C32-V + - SH1A-C01-V + - SD1A-C01-V + - SF2A-C01-V + - SD1B-C01-V + - SH2B-C01-V + - SD1D-C01-V + - SF2E-C01-V + - SD1E-C01-V + - SH3E-C01-V + - SH1A-C02-V + - SD1A-C02-V + - SF2A-C02-V + - SD1B-C02-V + - SH2B-C02-V + - SD1D-C02-V + - SF2E-C02-V + - SD1E-C02-V + - SH3E-C02-V + - SH1A-C03-V + - SI1A-C03-V + - SI2A-C03-V + - SI1B-C03-V + - SH2B-C03-V + - SI1D-C03-V + - SI2E-C03-V + - SI1E-C03-V + - SH3E-C03-V + - type: pyaml.arrays.bpm + name: BPM + elements: + - BPM_C04-01 + - BPM_C04-02 + - BPM_C04-03 + - BPM_C04-04 + - BPM_C04-05 + - BPM_C04-06 + - BPM_C04-07 + - BPM_C04-08 + - BPM_C04-09 + - BPM_C04-10 + - BPM_C05-01 + - BPM_C05-02 + - BPM_C05-03 + - BPM_C05-04 + - BPM_C05-05 + - BPM_C05-06 + - BPM_C05-07 + - BPM_C05-08 + - BPM_C05-09 + - BPM_C05-10 + - BPM_C06-01 + - BPM_C06-02 + - BPM_C06-03 + - BPM_C06-04 + - BPM_C06-05 + - BPM_C06-06 + - BPM_C06-07 + - BPM_C06-08 + - BPM_C06-09 + - BPM_C06-10 + - BPM_C07-01 + - BPM_C07-02 + - BPM_C07-03 + - BPM_C07-04 + - BPM_C07-05 + - BPM_C07-06 + - BPM_C07-07 + - BPM_C07-08 + - BPM_C07-09 + - BPM_C07-10 + - BPM_C08-01 + - BPM_C08-02 + - BPM_C08-03 + - BPM_C08-04 + - BPM_C08-05 + - BPM_C08-06 + - BPM_C08-07 + - BPM_C08-08 + - BPM_C08-09 + - BPM_C08-10 + - BPM_C09-01 + - BPM_C09-02 + - BPM_C09-03 + - BPM_C09-04 + - BPM_C09-05 + - BPM_C09-06 + - BPM_C09-07 + - BPM_C09-08 + - BPM_C09-09 + - BPM_C09-10 + - BPM_C10-01 + - BPM_C10-02 + - BPM_C10-03 + - BPM_C10-04 + - BPM_C10-05 + - BPM_C10-06 + - BPM_C10-07 + - BPM_C10-08 + - BPM_C10-09 + - BPM_C10-10 + - BPM_C11-01 + - BPM_C11-02 + - BPM_C11-03 + - BPM_C11-04 + - BPM_C11-05 + - BPM_C11-06 + - BPM_C11-07 + - BPM_C11-08 + - BPM_C11-09 + - BPM_C11-10 + - BPM_C12-01 + - BPM_C12-02 + - BPM_C12-03 + - BPM_C12-04 + - BPM_C12-05 + - BPM_C12-06 + - BPM_C12-07 + - BPM_C12-08 + - BPM_C12-09 + - BPM_C12-10 + - BPM_C13-01 + - BPM_C13-02 + - BPM_C13-03 + - BPM_C13-04 + - BPM_C13-05 + - BPM_C13-06 + - BPM_C13-07 + - BPM_C13-08 + - BPM_C13-09 + - BPM_C13-10 + - BPM_C14-01 + - BPM_C14-02 + - BPM_C14-03 + - BPM_C14-04 + - BPM_C14-05 + - BPM_C14-06 + - BPM_C14-07 + - BPM_C14-08 + - BPM_C14-09 + - BPM_C14-10 + - BPM_C15-01 + - BPM_C15-02 + - BPM_C15-03 + - BPM_C15-04 + - BPM_C15-05 + - BPM_C15-06 + - BPM_C15-07 + - BPM_C15-08 + - BPM_C15-09 + - BPM_C15-10 + - BPM_C16-01 + - BPM_C16-02 + - BPM_C16-03 + - BPM_C16-04 + - BPM_C16-05 + - BPM_C16-06 + - BPM_C16-07 + - BPM_C16-08 + - BPM_C16-09 + - BPM_C16-10 + - BPM_C17-01 + - BPM_C17-02 + - BPM_C17-03 + - BPM_C17-04 + - BPM_C17-05 + - BPM_C17-06 + - BPM_C17-07 + - BPM_C17-08 + - BPM_C17-09 + - BPM_C17-10 + - BPM_C18-01 + - BPM_C18-02 + - BPM_C18-03 + - BPM_C18-04 + - BPM_C18-05 + - BPM_C18-06 + - BPM_C18-07 + - BPM_C18-08 + - BPM_C18-09 + - BPM_C18-10 + - BPM_C19-01 + - BPM_C19-02 + - BPM_C19-03 + - BPM_C19-04 + - BPM_C19-05 + - BPM_C19-06 + - BPM_C19-07 + - BPM_C19-08 + - BPM_C19-09 + - BPM_C19-10 + - BPM_C20-01 + - BPM_C20-02 + - BPM_C20-03 + - BPM_C20-04 + - BPM_C20-05 + - BPM_C20-06 + - BPM_C20-07 + - BPM_C20-08 + - BPM_C20-09 + - BPM_C20-10 + - BPM_C21-01 + - BPM_C21-02 + - BPM_C21-03 + - BPM_C21-04 + - BPM_C21-05 + - BPM_C21-06 + - BPM_C21-07 + - BPM_C21-08 + - BPM_C21-09 + - BPM_C21-10 + - BPM_C22-01 + - BPM_C22-02 + - BPM_C22-03 + - BPM_C22-04 + - BPM_C22-05 + - BPM_C22-06 + - BPM_C22-07 + - BPM_C22-08 + - BPM_C22-09 + - BPM_C22-10 + - BPM_C23-01 + - BPM_C23-02 + - BPM_C23-03 + - BPM_C23-04 + - BPM_C23-05 + - BPM_C23-06 + - BPM_C23-07 + - BPM_C23-08 + - BPM_C23-09 + - BPM_C23-10 + - BPM_C24-01 + - BPM_C24-02 + - BPM_C24-03 + - BPM_C24-04 + - BPM_C24-05 + - BPM_C24-06 + - BPM_C24-07 + - BPM_C24-08 + - BPM_C24-09 + - BPM_C24-10 + - BPM_C25-01 + - BPM_C25-02 + - BPM_C25-03 + - BPM_C25-04 + - BPM_C25-05 + - BPM_C25-06 + - BPM_C25-07 + - BPM_C25-08 + - BPM_C25-09 + - BPM_C25-10 + - BPM_C26-01 + - BPM_C26-02 + - BPM_C26-03 + - BPM_C26-04 + - BPM_C26-05 + - BPM_C26-06 + - BPM_C26-07 + - BPM_C26-08 + - BPM_C26-09 + - BPM_C26-10 + - BPM_C27-01 + - BPM_C27-02 + - BPM_C27-03 + - BPM_C27-04 + - BPM_C27-05 + - BPM_C27-06 + - BPM_C27-07 + - BPM_C27-08 + - BPM_C27-09 + - BPM_C27-10 + - BPM_C28-01 + - BPM_C28-02 + - BPM_C28-03 + - BPM_C28-04 + - BPM_C28-05 + - BPM_C28-06 + - BPM_C28-07 + - BPM_C28-08 + - BPM_C28-09 + - BPM_C28-10 + - BPM_C29-01 + - BPM_C29-02 + - BPM_C29-03 + - BPM_C29-04 + - BPM_C29-05 + - BPM_C29-06 + - BPM_C29-07 + - BPM_C29-08 + - BPM_C29-09 + - BPM_C29-10 + - BPM_C30-01 + - BPM_C30-02 + - BPM_C30-03 + - BPM_C30-04 + - BPM_C30-05 + - BPM_C30-06 + - BPM_C30-07 + - BPM_C30-08 + - BPM_C30-09 + - BPM_C30-10 + - BPM_C31-01 + - BPM_C31-02 + - BPM_C31-03 + - BPM_C31-04 + - BPM_C31-05 + - BPM_C31-06 + - BPM_C31-07 + - BPM_C31-08 + - BPM_C31-09 + - BPM_C31-10 + - BPM_C32-01 + - BPM_C32-02 + - BPM_C32-03 + - BPM_C32-04 + - BPM_C32-05 + - BPM_C32-06 + - BPM_C32-07 + - BPM_C32-08 + - BPM_C32-09 + - BPM_C32-10 + - BPM_C01-01 + - BPM_C01-02 + - BPM_C01-03 + - BPM_C01-04 + - BPM_C01-05 + - BPM_C01-06 + - BPM_C01-07 + - BPM_C01-08 + - BPM_C01-09 + - BPM_C01-10 + - BPM_C02-01 + - BPM_C02-02 + - BPM_C02-03 + - BPM_C02-04 + - BPM_C02-05 + - BPM_C02-06 + - BPM_C02-07 + - BPM_C02-08 + - BPM_C02-09 + - BPM_C02-10 + - BPM_C03-01 + - BPM_C03-02 + - BPM_C03-03 + - BPM_C03-04 + - BPM_C03-05 + - BPM_C03-06 + - BPM_C03-07 + - BPM_C03-08 + - BPM_C03-09 + - BPM_C03-10 + devices: + - type: pyaml.rf.rf_plant + name: RF + masterclock: + type: tango.pyaml.attribute + attribute: sy/ms/1/Frequency + unit: Hz + transmitters: + - type: pyaml.rf.rf_transmitter + name: RFTRA + cavities: [CAV_C05_01,CAV_C05_02,CAV_C05_03,CAV_C05_04,CAV_C05_05,CAV_C07_01,CAV_C07_02,CAV_C07_03,CAV_C07_04,CAV_C07_05,CAV_C25_01,CAV_C25_02,CAV_C25_03] + harmonic: 1 + distribution: 1 + voltage: + type: tango.pyaml.attribute + attribute: sys/ringsimulator/ebs/RfVoltage + unit: V + - type: pyaml.magnet.cfm_magnet + name: SH1A-C04 + mapping: + - [B0, SH1A-C04-H] + - [A0, SH1A-C04-V] + - [A1, SH1A-C04-SQ] + - [B2, SH1A-C04-S] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1,B2] + pseudo_factors: [1.0,-1.0,-1.0,-1.0] + units: [rad,rad,m-1,m-2] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SHI_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SHI_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SHI_sq_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SHI_sext_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SHI_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c04-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c04-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c04-a-ch3/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c04-a-ch5/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c04-a-ch6/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SJ1A-C04 + mapping: + - [B0, SJ1A-C04-H] + - [A0, SJ1A-C04-V] + - [A1, SJ1A-C04-SQ] + - [B2, SJ1A-C04-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c04-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c04-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c04-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c04-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SJ2A-C04 + mapping: + - [B0, SJ2A-C04-H] + - [A0, SJ2A-C04-V] + - [A1, SJ2A-C04-SQ] + - [B2, SJ2A-C04-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c04-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c04-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c04-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c04-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SJ1B-C04 + mapping: + - [B0, SJ1B-C04-H] + - [A0, SJ1B-C04-V] + - [A1, SJ1B-C04-SQ] + - [B2, SJ1B-C04-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c04-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c04-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c04-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c04-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C04 + mapping: + - [B0, SH2B-C04-H] + - [A0, SH2B-C04-V] + - [A1, SH2B-C04-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c04-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c04-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c04-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SJ1D-C04 + mapping: + - [B0, SJ1D-C04-H] + - [A0, SJ1D-C04-V] + - [A1, SJ1D-C04-SQ] + - [B2, SJ1D-C04-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c04-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c04-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c04-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c04-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SJ2E-C04 + mapping: + - [B0, SJ2E-C04-H] + - [A0, SJ2E-C04-V] + - [A1, SJ2E-C04-SQ] + - [B2, SJ2E-C04-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c04-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c04-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c04-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c04-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SJ1E-C04 + mapping: + - [B0, SJ1E-C04-H] + - [A0, SJ1E-C04-V] + - [A1, SJ1E-C04-SQ] + - [B2, SJ1E-C04-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c04-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c04-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c04-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c04-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C04 + mapping: + - [B0, SH3E-C04-H] + - [A0, SH3E-C04-V] + - [A1, SH3E-C04-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c04-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c04-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c04-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C05 + mapping: + - [B0, SH1A-C05-H] + - [A0, SH1A-C05-V] + - [A1, SH1A-C05-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c05-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c05-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c05-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C05 + mapping: + - [B0, SD1A-C05-H] + - [A0, SD1A-C05-V] + - [A1, SD1A-C05-SQ] + - [B2, SD1A-C05-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c05-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c05-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c05-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c05-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C05 + mapping: + - [B0, SF2A-C05-H] + - [A0, SF2A-C05-V] + - [A1, SF2A-C05-SQ] + - [B2, SF2A-C05-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c05-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c05-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c05-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c05-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C05 + mapping: + - [B0, SD1B-C05-H] + - [A0, SD1B-C05-V] + - [A1, SD1B-C05-SQ] + - [B2, SD1B-C05-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c05-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c05-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c05-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c05-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C05 + mapping: + - [B0, SH2B-C05-H] + - [A0, SH2B-C05-V] + - [A1, SH2B-C05-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c05-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c05-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c05-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C05 + mapping: + - [B0, SD1D-C05-H] + - [A0, SD1D-C05-V] + - [A1, SD1D-C05-SQ] + - [B2, SD1D-C05-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c05-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c05-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c05-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c05-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C05 + mapping: + - [B0, SF2E-C05-H] + - [A0, SF2E-C05-V] + - [A1, SF2E-C05-SQ] + - [B2, SF2E-C05-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c05-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c05-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c05-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c05-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C05 + mapping: + - [B0, SD1E-C05-H] + - [A0, SD1E-C05-V] + - [A1, SD1E-C05-SQ] + - [B2, SD1E-C05-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c05-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c05-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c05-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c05-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C05 + mapping: + - [B0, SH3E-C05-H] + - [A0, SH3E-C05-V] + - [A1, SH3E-C05-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c05-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c05-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c05-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C06 + mapping: + - [B0, SH1A-C06-H] + - [A0, SH1A-C06-V] + - [A1, SH1A-C06-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c06-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c06-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c06-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C06 + mapping: + - [B0, SD1A-C06-H] + - [A0, SD1A-C06-V] + - [A1, SD1A-C06-SQ] + - [B2, SD1A-C06-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c06-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c06-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c06-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c06-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C06 + mapping: + - [B0, SF2A-C06-H] + - [A0, SF2A-C06-V] + - [A1, SF2A-C06-SQ] + - [B2, SF2A-C06-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c06-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c06-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c06-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c06-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C06 + mapping: + - [B0, SD1B-C06-H] + - [A0, SD1B-C06-V] + - [A1, SD1B-C06-SQ] + - [B2, SD1B-C06-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c06-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c06-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c06-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c06-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C06 + mapping: + - [B0, SH2B-C06-H] + - [A0, SH2B-C06-V] + - [A1, SH2B-C06-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c06-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c06-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c06-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C06 + mapping: + - [B0, SD1D-C06-H] + - [A0, SD1D-C06-V] + - [A1, SD1D-C06-SQ] + - [B2, SD1D-C06-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c06-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c06-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c06-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c06-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C06 + mapping: + - [B0, SF2E-C06-H] + - [A0, SF2E-C06-V] + - [A1, SF2E-C06-SQ] + - [B2, SF2E-C06-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c06-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c06-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c06-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c06-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C06 + mapping: + - [B0, SD1E-C06-H] + - [A0, SD1E-C06-V] + - [A1, SD1E-C06-SQ] + - [B2, SD1E-C06-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c06-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c06-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c06-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c06-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C06 + mapping: + - [B0, SH3E-C06-H] + - [A0, SH3E-C06-V] + - [A1, SH3E-C06-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c06-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c06-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c06-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C07 + mapping: + - [B0, SH1A-C07-H] + - [A0, SH1A-C07-V] + - [A1, SH1A-C07-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c07-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c07-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c07-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C07 + mapping: + - [B0, SD1A-C07-H] + - [A0, SD1A-C07-V] + - [A1, SD1A-C07-SQ] + - [B2, SD1A-C07-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c07-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c07-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c07-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c07-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C07 + mapping: + - [B0, SF2A-C07-H] + - [A0, SF2A-C07-V] + - [A1, SF2A-C07-SQ] + - [B2, SF2A-C07-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c07-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c07-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c07-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c07-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C07 + mapping: + - [B0, SD1B-C07-H] + - [A0, SD1B-C07-V] + - [A1, SD1B-C07-SQ] + - [B2, SD1B-C07-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c07-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c07-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c07-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c07-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C07 + mapping: + - [B0, SH2B-C07-H] + - [A0, SH2B-C07-V] + - [A1, SH2B-C07-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c07-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c07-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c07-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C07 + mapping: + - [B0, SD1D-C07-H] + - [A0, SD1D-C07-V] + - [A1, SD1D-C07-SQ] + - [B2, SD1D-C07-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c07-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c07-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c07-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c07-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C07 + mapping: + - [B0, SF2E-C07-H] + - [A0, SF2E-C07-V] + - [A1, SF2E-C07-SQ] + - [B2, SF2E-C07-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c07-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c07-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c07-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c07-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C07 + mapping: + - [B0, SD1E-C07-H] + - [A0, SD1E-C07-V] + - [A1, SD1E-C07-SQ] + - [B2, SD1E-C07-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c07-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c07-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c07-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c07-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C07 + mapping: + - [B0, SH3E-C07-H] + - [A0, SH3E-C07-V] + - [A1, SH3E-C07-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c07-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c07-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c07-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C08 + mapping: + - [B0, SH1A-C08-H] + - [A0, SH1A-C08-V] + - [A1, SH1A-C08-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c08-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c08-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c08-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C08 + mapping: + - [B0, SD1A-C08-H] + - [A0, SD1A-C08-V] + - [A1, SD1A-C08-SQ] + - [B2, SD1A-C08-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c08-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c08-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c08-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c08-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C08 + mapping: + - [B0, SF2A-C08-H] + - [A0, SF2A-C08-V] + - [A1, SF2A-C08-SQ] + - [B2, SF2A-C08-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c08-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c08-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c08-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c08-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C08 + mapping: + - [B0, SD1B-C08-H] + - [A0, SD1B-C08-V] + - [A1, SD1B-C08-SQ] + - [B2, SD1B-C08-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c08-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c08-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c08-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c08-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C08 + mapping: + - [B0, SH2B-C08-H] + - [A0, SH2B-C08-V] + - [A1, SH2B-C08-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c08-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c08-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c08-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C08 + mapping: + - [B0, SD1D-C08-H] + - [A0, SD1D-C08-V] + - [A1, SD1D-C08-SQ] + - [B2, SD1D-C08-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c08-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c08-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c08-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c08-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C08 + mapping: + - [B0, SF2E-C08-H] + - [A0, SF2E-C08-V] + - [A1, SF2E-C08-SQ] + - [B2, SF2E-C08-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c08-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c08-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c08-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c08-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C08 + mapping: + - [B0, SD1E-C08-H] + - [A0, SD1E-C08-V] + - [A1, SD1E-C08-SQ] + - [B2, SD1E-C08-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c08-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c08-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c08-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c08-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C08 + mapping: + - [B0, SH3E-C08-H] + - [A0, SH3E-C08-V] + - [A1, SH3E-C08-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c08-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c08-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c08-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C09 + mapping: + - [B0, SH1A-C09-H] + - [A0, SH1A-C09-V] + - [A1, SH1A-C09-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c09-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c09-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c09-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C09 + mapping: + - [B0, SD1A-C09-H] + - [A0, SD1A-C09-V] + - [A1, SD1A-C09-SQ] + - [B2, SD1A-C09-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c09-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c09-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c09-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c09-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C09 + mapping: + - [B0, SF2A-C09-H] + - [A0, SF2A-C09-V] + - [A1, SF2A-C09-SQ] + - [B2, SF2A-C09-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c09-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c09-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c09-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c09-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C09 + mapping: + - [B0, SD1B-C09-H] + - [A0, SD1B-C09-V] + - [A1, SD1B-C09-SQ] + - [B2, SD1B-C09-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c09-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c09-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c09-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c09-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C09 + mapping: + - [B0, SH2B-C09-H] + - [A0, SH2B-C09-V] + - [A1, SH2B-C09-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c09-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c09-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c09-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C09 + mapping: + - [B0, SD1D-C09-H] + - [A0, SD1D-C09-V] + - [A1, SD1D-C09-SQ] + - [B2, SD1D-C09-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c09-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c09-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c09-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c09-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C09 + mapping: + - [B0, SF2E-C09-H] + - [A0, SF2E-C09-V] + - [A1, SF2E-C09-SQ] + - [B2, SF2E-C09-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c09-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c09-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c09-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c09-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C09 + mapping: + - [B0, SD1E-C09-H] + - [A0, SD1E-C09-V] + - [A1, SD1E-C09-SQ] + - [B2, SD1E-C09-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c09-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c09-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c09-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c09-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C09 + mapping: + - [B0, SH3E-C09-H] + - [A0, SH3E-C09-V] + - [A1, SH3E-C09-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c09-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c09-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c09-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C10 + mapping: + - [B0, SH1A-C10-H] + - [A0, SH1A-C10-V] + - [A1, SH1A-C10-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c10-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c10-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c10-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C10 + mapping: + - [B0, SD1A-C10-H] + - [A0, SD1A-C10-V] + - [A1, SD1A-C10-SQ] + - [B2, SD1A-C10-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c10-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c10-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c10-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c10-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C10 + mapping: + - [B0, SF2A-C10-H] + - [A0, SF2A-C10-V] + - [A1, SF2A-C10-SQ] + - [B2, SF2A-C10-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c10-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c10-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c10-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c10-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C10 + mapping: + - [B0, SD1B-C10-H] + - [A0, SD1B-C10-V] + - [A1, SD1B-C10-SQ] + - [B2, SD1B-C10-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c10-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c10-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c10-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c10-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C10 + mapping: + - [B0, SH2B-C10-H] + - [A0, SH2B-C10-V] + - [A1, SH2B-C10-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c10-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c10-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c10-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C10 + mapping: + - [B0, SD1D-C10-H] + - [A0, SD1D-C10-V] + - [A1, SD1D-C10-SQ] + - [B2, SD1D-C10-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c10-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c10-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c10-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c10-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C10 + mapping: + - [B0, SF2E-C10-H] + - [A0, SF2E-C10-V] + - [A1, SF2E-C10-SQ] + - [B2, SF2E-C10-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c10-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c10-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c10-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c10-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C10 + mapping: + - [B0, SD1E-C10-H] + - [A0, SD1E-C10-V] + - [A1, SD1E-C10-SQ] + - [B2, SD1E-C10-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c10-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c10-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c10-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c10-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C10 + mapping: + - [B0, SH3E-C10-H] + - [A0, SH3E-C10-V] + - [A1, SH3E-C10-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c10-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c10-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c10-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C11 + mapping: + - [B0, SH1A-C11-H] + - [A0, SH1A-C11-V] + - [A1, SH1A-C11-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c11-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c11-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c11-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C11 + mapping: + - [B0, SD1A-C11-H] + - [A0, SD1A-C11-V] + - [A1, SD1A-C11-SQ] + - [B2, SD1A-C11-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c11-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c11-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c11-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c11-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C11 + mapping: + - [B0, SF2A-C11-H] + - [A0, SF2A-C11-V] + - [A1, SF2A-C11-SQ] + - [B2, SF2A-C11-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c11-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c11-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c11-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c11-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C11 + mapping: + - [B0, SD1B-C11-H] + - [A0, SD1B-C11-V] + - [A1, SD1B-C11-SQ] + - [B2, SD1B-C11-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c11-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c11-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c11-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c11-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C11 + mapping: + - [B0, SH2B-C11-H] + - [A0, SH2B-C11-V] + - [A1, SH2B-C11-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c11-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c11-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c11-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C11 + mapping: + - [B0, SD1D-C11-H] + - [A0, SD1D-C11-V] + - [A1, SD1D-C11-SQ] + - [B2, SD1D-C11-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c11-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c11-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c11-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c11-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C11 + mapping: + - [B0, SF2E-C11-H] + - [A0, SF2E-C11-V] + - [A1, SF2E-C11-SQ] + - [B2, SF2E-C11-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c11-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c11-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c11-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c11-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C11 + mapping: + - [B0, SD1E-C11-H] + - [A0, SD1E-C11-V] + - [A1, SD1E-C11-SQ] + - [B2, SD1E-C11-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c11-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c11-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c11-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c11-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C11 + mapping: + - [B0, SH3E-C11-H] + - [A0, SH3E-C11-V] + - [A1, SH3E-C11-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c11-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c11-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c11-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C12 + mapping: + - [B0, SH1A-C12-H] + - [A0, SH1A-C12-V] + - [A1, SH1A-C12-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c12-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c12-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c12-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C12 + mapping: + - [B0, SD1A-C12-H] + - [A0, SD1A-C12-V] + - [A1, SD1A-C12-SQ] + - [B2, SD1A-C12-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c12-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c12-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c12-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c12-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C12 + mapping: + - [B0, SF2A-C12-H] + - [A0, SF2A-C12-V] + - [A1, SF2A-C12-SQ] + - [B2, SF2A-C12-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c12-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c12-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c12-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c12-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C12 + mapping: + - [B0, SD1B-C12-H] + - [A0, SD1B-C12-V] + - [A1, SD1B-C12-SQ] + - [B2, SD1B-C12-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c12-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c12-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c12-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c12-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C12 + mapping: + - [B0, SH2B-C12-H] + - [A0, SH2B-C12-V] + - [A1, SH2B-C12-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c12-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c12-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c12-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C12 + mapping: + - [B0, SD1D-C12-H] + - [A0, SD1D-C12-V] + - [A1, SD1D-C12-SQ] + - [B2, SD1D-C12-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c12-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c12-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c12-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c12-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C12 + mapping: + - [B0, SF2E-C12-H] + - [A0, SF2E-C12-V] + - [A1, SF2E-C12-SQ] + - [B2, SF2E-C12-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c12-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c12-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c12-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c12-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C12 + mapping: + - [B0, SD1E-C12-H] + - [A0, SD1E-C12-V] + - [A1, SD1E-C12-SQ] + - [B2, SD1E-C12-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c12-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c12-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c12-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c12-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C12 + mapping: + - [B0, SH3E-C12-H] + - [A0, SH3E-C12-V] + - [A1, SH3E-C12-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c12-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c12-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c12-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C13 + mapping: + - [B0, SH1A-C13-H] + - [A0, SH1A-C13-V] + - [A1, SH1A-C13-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c13-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c13-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c13-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C13 + mapping: + - [B0, SD1A-C13-H] + - [A0, SD1A-C13-V] + - [A1, SD1A-C13-SQ] + - [B2, SD1A-C13-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c13-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c13-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c13-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c13-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C13 + mapping: + - [B0, SF2A-C13-H] + - [A0, SF2A-C13-V] + - [A1, SF2A-C13-SQ] + - [B2, SF2A-C13-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c13-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c13-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c13-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c13-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C13 + mapping: + - [B0, SD1B-C13-H] + - [A0, SD1B-C13-V] + - [A1, SD1B-C13-SQ] + - [B2, SD1B-C13-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c13-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c13-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c13-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c13-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C13 + mapping: + - [B0, SH2B-C13-H] + - [A0, SH2B-C13-V] + - [A1, SH2B-C13-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c13-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c13-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c13-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C13 + mapping: + - [B0, SD1D-C13-H] + - [A0, SD1D-C13-V] + - [A1, SD1D-C13-SQ] + - [B2, SD1D-C13-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c13-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c13-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c13-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c13-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C13 + mapping: + - [B0, SF2E-C13-H] + - [A0, SF2E-C13-V] + - [A1, SF2E-C13-SQ] + - [B2, SF2E-C13-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c13-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c13-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c13-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c13-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C13 + mapping: + - [B0, SD1E-C13-H] + - [A0, SD1E-C13-V] + - [A1, SD1E-C13-SQ] + - [B2, SD1E-C13-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c13-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c13-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c13-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c13-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C13 + mapping: + - [B0, SH3E-C13-H] + - [A0, SH3E-C13-V] + - [A1, SH3E-C13-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c13-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c13-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c13-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C14 + mapping: + - [B0, SH1A-C14-H] + - [A0, SH1A-C14-V] + - [A1, SH1A-C14-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c14-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c14-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c14-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C14 + mapping: + - [B0, SD1A-C14-H] + - [A0, SD1A-C14-V] + - [A1, SD1A-C14-SQ] + - [B2, SD1A-C14-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c14-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c14-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c14-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c14-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C14 + mapping: + - [B0, SF2A-C14-H] + - [A0, SF2A-C14-V] + - [A1, SF2A-C14-SQ] + - [B2, SF2A-C14-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c14-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c14-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c14-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c14-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C14 + mapping: + - [B0, SD1B-C14-H] + - [A0, SD1B-C14-V] + - [A1, SD1B-C14-SQ] + - [B2, SD1B-C14-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c14-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c14-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c14-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c14-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C14 + mapping: + - [B0, SH2B-C14-H] + - [A0, SH2B-C14-V] + - [A1, SH2B-C14-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c14-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c14-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c14-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C14 + mapping: + - [B0, SD1D-C14-H] + - [A0, SD1D-C14-V] + - [A1, SD1D-C14-SQ] + - [B2, SD1D-C14-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c14-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c14-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c14-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c14-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C14 + mapping: + - [B0, SF2E-C14-H] + - [A0, SF2E-C14-V] + - [A1, SF2E-C14-SQ] + - [B2, SF2E-C14-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c14-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c14-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c14-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c14-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C14 + mapping: + - [B0, SD1E-C14-H] + - [A0, SD1E-C14-V] + - [A1, SD1E-C14-SQ] + - [B2, SD1E-C14-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c14-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c14-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c14-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c14-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C14 + mapping: + - [B0, SH3E-C14-H] + - [A0, SH3E-C14-V] + - [A1, SH3E-C14-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c14-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c14-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c14-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C15 + mapping: + - [B0, SH1A-C15-H] + - [A0, SH1A-C15-V] + - [A1, SH1A-C15-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c15-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c15-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c15-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C15 + mapping: + - [B0, SD1A-C15-H] + - [A0, SD1A-C15-V] + - [A1, SD1A-C15-SQ] + - [B2, SD1A-C15-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c15-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c15-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c15-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c15-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C15 + mapping: + - [B0, SF2A-C15-H] + - [A0, SF2A-C15-V] + - [A1, SF2A-C15-SQ] + - [B2, SF2A-C15-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c15-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c15-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c15-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c15-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C15 + mapping: + - [B0, SD1B-C15-H] + - [A0, SD1B-C15-V] + - [A1, SD1B-C15-SQ] + - [B2, SD1B-C15-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c15-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c15-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c15-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c15-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C15 + mapping: + - [B0, SH2B-C15-H] + - [A0, SH2B-C15-V] + - [A1, SH2B-C15-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c15-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c15-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c15-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C15 + mapping: + - [B0, SD1D-C15-H] + - [A0, SD1D-C15-V] + - [A1, SD1D-C15-SQ] + - [B2, SD1D-C15-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c15-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c15-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c15-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c15-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C15 + mapping: + - [B0, SF2E-C15-H] + - [A0, SF2E-C15-V] + - [A1, SF2E-C15-SQ] + - [B2, SF2E-C15-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c15-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c15-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c15-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c15-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C15 + mapping: + - [B0, SD1E-C15-H] + - [A0, SD1E-C15-V] + - [A1, SD1E-C15-SQ] + - [B2, SD1E-C15-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c15-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c15-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c15-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c15-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C15 + mapping: + - [B0, SH3E-C15-H] + - [A0, SH3E-C15-V] + - [A1, SH3E-C15-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c15-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c15-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c15-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C16 + mapping: + - [B0, SH1A-C16-H] + - [A0, SH1A-C16-V] + - [A1, SH1A-C16-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c16-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c16-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c16-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C16 + mapping: + - [B0, SD1A-C16-H] + - [A0, SD1A-C16-V] + - [A1, SD1A-C16-SQ] + - [B2, SD1A-C16-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c16-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c16-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c16-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c16-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C16 + mapping: + - [B0, SF2A-C16-H] + - [A0, SF2A-C16-V] + - [A1, SF2A-C16-SQ] + - [B2, SF2A-C16-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c16-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c16-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c16-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c16-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C16 + mapping: + - [B0, SD1B-C16-H] + - [A0, SD1B-C16-V] + - [A1, SD1B-C16-SQ] + - [B2, SD1B-C16-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c16-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c16-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c16-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c16-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C16 + mapping: + - [B0, SH2B-C16-H] + - [A0, SH2B-C16-V] + - [A1, SH2B-C16-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c16-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c16-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c16-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C16 + mapping: + - [B0, SD1D-C16-H] + - [A0, SD1D-C16-V] + - [A1, SD1D-C16-SQ] + - [B2, SD1D-C16-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c16-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c16-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c16-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c16-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C16 + mapping: + - [B0, SF2E-C16-H] + - [A0, SF2E-C16-V] + - [A1, SF2E-C16-SQ] + - [B2, SF2E-C16-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c16-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c16-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c16-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c16-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C16 + mapping: + - [B0, SD1E-C16-H] + - [A0, SD1E-C16-V] + - [A1, SD1E-C16-SQ] + - [B2, SD1E-C16-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c16-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c16-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c16-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c16-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C16 + mapping: + - [B0, SH3E-C16-H] + - [A0, SH3E-C16-V] + - [A1, SH3E-C16-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c16-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c16-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c16-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C17 + mapping: + - [B0, SH1A-C17-H] + - [A0, SH1A-C17-V] + - [A1, SH1A-C17-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c17-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c17-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c17-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C17 + mapping: + - [B0, SD1A-C17-H] + - [A0, SD1A-C17-V] + - [A1, SD1A-C17-SQ] + - [B2, SD1A-C17-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c17-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c17-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c17-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c17-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C17 + mapping: + - [B0, SF2A-C17-H] + - [A0, SF2A-C17-V] + - [A1, SF2A-C17-SQ] + - [B2, SF2A-C17-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c17-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c17-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c17-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c17-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C17 + mapping: + - [B0, SD1B-C17-H] + - [A0, SD1B-C17-V] + - [A1, SD1B-C17-SQ] + - [B2, SD1B-C17-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c17-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c17-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c17-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c17-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C17 + mapping: + - [B0, SH2B-C17-H] + - [A0, SH2B-C17-V] + - [A1, SH2B-C17-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c17-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c17-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c17-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C17 + mapping: + - [B0, SD1D-C17-H] + - [A0, SD1D-C17-V] + - [A1, SD1D-C17-SQ] + - [B2, SD1D-C17-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c17-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c17-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c17-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c17-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C17 + mapping: + - [B0, SF2E-C17-H] + - [A0, SF2E-C17-V] + - [A1, SF2E-C17-SQ] + - [B2, SF2E-C17-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c17-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c17-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c17-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c17-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C17 + mapping: + - [B0, SD1E-C17-H] + - [A0, SD1E-C17-V] + - [A1, SD1E-C17-SQ] + - [B2, SD1E-C17-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c17-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c17-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c17-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c17-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C17 + mapping: + - [B0, SH3E-C17-H] + - [A0, SH3E-C17-V] + - [A1, SH3E-C17-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c17-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c17-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c17-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C18 + mapping: + - [B0, SH1A-C18-H] + - [A0, SH1A-C18-V] + - [A1, SH1A-C18-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c18-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c18-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c18-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C18 + mapping: + - [B0, SD1A-C18-H] + - [A0, SD1A-C18-V] + - [A1, SD1A-C18-SQ] + - [B2, SD1A-C18-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c18-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c18-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c18-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c18-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C18 + mapping: + - [B0, SF2A-C18-H] + - [A0, SF2A-C18-V] + - [A1, SF2A-C18-SQ] + - [B2, SF2A-C18-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c18-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c18-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c18-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c18-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C18 + mapping: + - [B0, SD1B-C18-H] + - [A0, SD1B-C18-V] + - [A1, SD1B-C18-SQ] + - [B2, SD1B-C18-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c18-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c18-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c18-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c18-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C18 + mapping: + - [B0, SH2B-C18-H] + - [A0, SH2B-C18-V] + - [A1, SH2B-C18-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c18-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c18-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c18-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C18 + mapping: + - [B0, SD1D-C18-H] + - [A0, SD1D-C18-V] + - [A1, SD1D-C18-SQ] + - [B2, SD1D-C18-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c18-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c18-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c18-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c18-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C18 + mapping: + - [B0, SF2E-C18-H] + - [A0, SF2E-C18-V] + - [A1, SF2E-C18-SQ] + - [B2, SF2E-C18-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c18-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c18-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c18-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c18-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C18 + mapping: + - [B0, SD1E-C18-H] + - [A0, SD1E-C18-V] + - [A1, SD1E-C18-SQ] + - [B2, SD1E-C18-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c18-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c18-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c18-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c18-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C18 + mapping: + - [B0, SH3E-C18-H] + - [A0, SH3E-C18-V] + - [A1, SH3E-C18-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c18-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c18-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c18-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C19 + mapping: + - [B0, SH1A-C19-H] + - [A0, SH1A-C19-V] + - [A1, SH1A-C19-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c19-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c19-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c19-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C19 + mapping: + - [B0, SD1A-C19-H] + - [A0, SD1A-C19-V] + - [A1, SD1A-C19-SQ] + - [B2, SD1A-C19-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c19-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c19-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c19-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c19-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C19 + mapping: + - [B0, SF2A-C19-H] + - [A0, SF2A-C19-V] + - [A1, SF2A-C19-SQ] + - [B2, SF2A-C19-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c19-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c19-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c19-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c19-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C19 + mapping: + - [B0, SD1B-C19-H] + - [A0, SD1B-C19-V] + - [A1, SD1B-C19-SQ] + - [B2, SD1B-C19-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c19-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c19-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c19-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c19-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C19 + mapping: + - [B0, SH2B-C19-H] + - [A0, SH2B-C19-V] + - [A1, SH2B-C19-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c19-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c19-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c19-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C19 + mapping: + - [B0, SD1D-C19-H] + - [A0, SD1D-C19-V] + - [A1, SD1D-C19-SQ] + - [B2, SD1D-C19-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c19-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c19-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c19-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c19-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C19 + mapping: + - [B0, SF2E-C19-H] + - [A0, SF2E-C19-V] + - [A1, SF2E-C19-SQ] + - [B2, SF2E-C19-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c19-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c19-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c19-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c19-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C19 + mapping: + - [B0, SD1E-C19-H] + - [A0, SD1E-C19-V] + - [A1, SD1E-C19-SQ] + - [B2, SD1E-C19-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c19-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c19-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c19-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c19-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C19 + mapping: + - [B0, SH3E-C19-H] + - [A0, SH3E-C19-V] + - [A1, SH3E-C19-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c19-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c19-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c19-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C20 + mapping: + - [B0, SH1A-C20-H] + - [A0, SH1A-C20-V] + - [A1, SH1A-C20-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c20-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c20-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c20-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C20 + mapping: + - [B0, SD1A-C20-H] + - [A0, SD1A-C20-V] + - [A1, SD1A-C20-SQ] + - [B2, SD1A-C20-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c20-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c20-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c20-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c20-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C20 + mapping: + - [B0, SF2A-C20-H] + - [A0, SF2A-C20-V] + - [A1, SF2A-C20-SQ] + - [B2, SF2A-C20-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c20-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c20-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c20-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c20-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C20 + mapping: + - [B0, SD1B-C20-H] + - [A0, SD1B-C20-V] + - [A1, SD1B-C20-SQ] + - [B2, SD1B-C20-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c20-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c20-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c20-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c20-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C20 + mapping: + - [B0, SH2B-C20-H] + - [A0, SH2B-C20-V] + - [A1, SH2B-C20-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c20-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c20-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c20-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C20 + mapping: + - [B0, SD1D-C20-H] + - [A0, SD1D-C20-V] + - [A1, SD1D-C20-SQ] + - [B2, SD1D-C20-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c20-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c20-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c20-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c20-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C20 + mapping: + - [B0, SF2E-C20-H] + - [A0, SF2E-C20-V] + - [A1, SF2E-C20-SQ] + - [B2, SF2E-C20-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c20-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c20-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c20-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c20-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C20 + mapping: + - [B0, SD1E-C20-H] + - [A0, SD1E-C20-V] + - [A1, SD1E-C20-SQ] + - [B2, SD1E-C20-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c20-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c20-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c20-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c20-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C20 + mapping: + - [B0, SH3E-C20-H] + - [A0, SH3E-C20-V] + - [A1, SH3E-C20-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c20-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c20-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c20-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C21 + mapping: + - [B0, SH1A-C21-H] + - [A0, SH1A-C21-V] + - [A1, SH1A-C21-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c21-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c21-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c21-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C21 + mapping: + - [B0, SD1A-C21-H] + - [A0, SD1A-C21-V] + - [A1, SD1A-C21-SQ] + - [B2, SD1A-C21-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c21-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c21-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c21-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c21-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C21 + mapping: + - [B0, SF2A-C21-H] + - [A0, SF2A-C21-V] + - [A1, SF2A-C21-SQ] + - [B2, SF2A-C21-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c21-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c21-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c21-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c21-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C21 + mapping: + - [B0, SD1B-C21-H] + - [A0, SD1B-C21-V] + - [A1, SD1B-C21-SQ] + - [B2, SD1B-C21-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c21-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c21-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c21-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c21-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C21 + mapping: + - [B0, SH2B-C21-H] + - [A0, SH2B-C21-V] + - [A1, SH2B-C21-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c21-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c21-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c21-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C21 + mapping: + - [B0, SD1D-C21-H] + - [A0, SD1D-C21-V] + - [A1, SD1D-C21-SQ] + - [B2, SD1D-C21-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c21-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c21-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c21-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c21-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C21 + mapping: + - [B0, SF2E-C21-H] + - [A0, SF2E-C21-V] + - [A1, SF2E-C21-SQ] + - [B2, SF2E-C21-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c21-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c21-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c21-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c21-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C21 + mapping: + - [B0, SD1E-C21-H] + - [A0, SD1E-C21-V] + - [A1, SD1E-C21-SQ] + - [B2, SD1E-C21-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c21-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c21-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c21-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c21-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C21 + mapping: + - [B0, SH3E-C21-H] + - [A0, SH3E-C21-V] + - [A1, SH3E-C21-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c21-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c21-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c21-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C22 + mapping: + - [B0, SH1A-C22-H] + - [A0, SH1A-C22-V] + - [A1, SH1A-C22-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c22-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c22-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c22-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C22 + mapping: + - [B0, SD1A-C22-H] + - [A0, SD1A-C22-V] + - [A1, SD1A-C22-SQ] + - [B2, SD1A-C22-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c22-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c22-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c22-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c22-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C22 + mapping: + - [B0, SF2A-C22-H] + - [A0, SF2A-C22-V] + - [A1, SF2A-C22-SQ] + - [B2, SF2A-C22-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c22-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c22-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c22-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c22-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C22 + mapping: + - [B0, SD1B-C22-H] + - [A0, SD1B-C22-V] + - [A1, SD1B-C22-SQ] + - [B2, SD1B-C22-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c22-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c22-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c22-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c22-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C22 + mapping: + - [B0, SH2B-C22-H] + - [A0, SH2B-C22-V] + - [A1, SH2B-C22-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c22-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c22-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c22-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C22 + mapping: + - [B0, SD1D-C22-H] + - [A0, SD1D-C22-V] + - [A1, SD1D-C22-SQ] + - [B2, SD1D-C22-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c22-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c22-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c22-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c22-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C22 + mapping: + - [B0, SF2E-C22-H] + - [A0, SF2E-C22-V] + - [A1, SF2E-C22-SQ] + - [B2, SF2E-C22-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c22-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c22-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c22-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c22-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C22 + mapping: + - [B0, SD1E-C22-H] + - [A0, SD1E-C22-V] + - [A1, SD1E-C22-SQ] + - [B2, SD1E-C22-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c22-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c22-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c22-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c22-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C22 + mapping: + - [B0, SH3E-C22-H] + - [A0, SH3E-C22-V] + - [A1, SH3E-C22-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c22-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c22-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c22-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C23 + mapping: + - [B0, SH1A-C23-H] + - [A0, SH1A-C23-V] + - [A1, SH1A-C23-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c23-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c23-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c23-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C23 + mapping: + - [B0, SD1A-C23-H] + - [A0, SD1A-C23-V] + - [A1, SD1A-C23-SQ] + - [B2, SD1A-C23-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c23-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c23-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c23-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c23-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C23 + mapping: + - [B0, SF2A-C23-H] + - [A0, SF2A-C23-V] + - [A1, SF2A-C23-SQ] + - [B2, SF2A-C23-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c23-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c23-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c23-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c23-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C23 + mapping: + - [B0, SD1B-C23-H] + - [A0, SD1B-C23-V] + - [A1, SD1B-C23-SQ] + - [B2, SD1B-C23-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c23-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c23-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c23-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c23-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C23 + mapping: + - [B0, SH2B-C23-H] + - [A0, SH2B-C23-V] + - [A1, SH2B-C23-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c23-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c23-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c23-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C23 + mapping: + - [B0, SD1D-C23-H] + - [A0, SD1D-C23-V] + - [A1, SD1D-C23-SQ] + - [B2, SD1D-C23-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c23-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c23-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c23-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c23-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C23 + mapping: + - [B0, SF2E-C23-H] + - [A0, SF2E-C23-V] + - [A1, SF2E-C23-SQ] + - [B2, SF2E-C23-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c23-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c23-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c23-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c23-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C23 + mapping: + - [B0, SD1E-C23-H] + - [A0, SD1E-C23-V] + - [A1, SD1E-C23-SQ] + - [B2, SD1E-C23-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c23-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c23-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c23-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c23-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C23 + mapping: + - [B0, SH3E-C23-H] + - [A0, SH3E-C23-V] + - [A1, SH3E-C23-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c23-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c23-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c23-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C24 + mapping: + - [B0, SH1A-C24-H] + - [A0, SH1A-C24-V] + - [A1, SH1A-C24-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c24-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c24-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c24-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C24 + mapping: + - [B0, SD1A-C24-H] + - [A0, SD1A-C24-V] + - [A1, SD1A-C24-SQ] + - [B2, SD1A-C24-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c24-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c24-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c24-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c24-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C24 + mapping: + - [B0, SF2A-C24-H] + - [A0, SF2A-C24-V] + - [A1, SF2A-C24-SQ] + - [B2, SF2A-C24-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c24-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c24-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c24-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c24-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C24 + mapping: + - [B0, SD1B-C24-H] + - [A0, SD1B-C24-V] + - [A1, SD1B-C24-SQ] + - [B2, SD1B-C24-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c24-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c24-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c24-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c24-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C24 + mapping: + - [B0, SH2B-C24-H] + - [A0, SH2B-C24-V] + - [A1, SH2B-C24-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c24-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c24-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c24-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C24 + mapping: + - [B0, SD1D-C24-H] + - [A0, SD1D-C24-V] + - [A1, SD1D-C24-SQ] + - [B2, SD1D-C24-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c24-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c24-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c24-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c24-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C24 + mapping: + - [B0, SF2E-C24-H] + - [A0, SF2E-C24-V] + - [A1, SF2E-C24-SQ] + - [B2, SF2E-C24-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c24-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c24-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c24-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c24-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C24 + mapping: + - [B0, SD1E-C24-H] + - [A0, SD1E-C24-V] + - [A1, SD1E-C24-SQ] + - [B2, SD1E-C24-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c24-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c24-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c24-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c24-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C24 + mapping: + - [B0, SH3E-C24-H] + - [A0, SH3E-C24-V] + - [A1, SH3E-C24-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c24-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c24-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c24-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C25 + mapping: + - [B0, SH1A-C25-H] + - [A0, SH1A-C25-V] + - [A1, SH1A-C25-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c25-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c25-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c25-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C25 + mapping: + - [B0, SD1A-C25-H] + - [A0, SD1A-C25-V] + - [A1, SD1A-C25-SQ] + - [B2, SD1A-C25-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c25-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c25-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c25-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c25-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C25 + mapping: + - [B0, SF2A-C25-H] + - [A0, SF2A-C25-V] + - [A1, SF2A-C25-SQ] + - [B2, SF2A-C25-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c25-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c25-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c25-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c25-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C25 + mapping: + - [B0, SD1B-C25-H] + - [A0, SD1B-C25-V] + - [A1, SD1B-C25-SQ] + - [B2, SD1B-C25-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c25-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c25-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c25-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c25-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C25 + mapping: + - [B0, SH2B-C25-H] + - [A0, SH2B-C25-V] + - [A1, SH2B-C25-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c25-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c25-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c25-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C25 + mapping: + - [B0, SD1D-C25-H] + - [A0, SD1D-C25-V] + - [A1, SD1D-C25-SQ] + - [B2, SD1D-C25-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c25-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c25-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c25-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c25-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C25 + mapping: + - [B0, SF2E-C25-H] + - [A0, SF2E-C25-V] + - [A1, SF2E-C25-SQ] + - [B2, SF2E-C25-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c25-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c25-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c25-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c25-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C25 + mapping: + - [B0, SD1E-C25-H] + - [A0, SD1E-C25-V] + - [A1, SD1E-C25-SQ] + - [B2, SD1E-C25-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c25-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c25-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c25-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c25-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C25 + mapping: + - [B0, SH3E-C25-H] + - [A0, SH3E-C25-V] + - [A1, SH3E-C25-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c25-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c25-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c25-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C26 + mapping: + - [B0, SH1A-C26-H] + - [A0, SH1A-C26-V] + - [A1, SH1A-C26-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c26-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c26-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c26-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C26 + mapping: + - [B0, SD1A-C26-H] + - [A0, SD1A-C26-V] + - [A1, SD1A-C26-SQ] + - [B2, SD1A-C26-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c26-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c26-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c26-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c26-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C26 + mapping: + - [B0, SF2A-C26-H] + - [A0, SF2A-C26-V] + - [A1, SF2A-C26-SQ] + - [B2, SF2A-C26-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c26-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c26-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c26-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c26-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C26 + mapping: + - [B0, SD1B-C26-H] + - [A0, SD1B-C26-V] + - [A1, SD1B-C26-SQ] + - [B2, SD1B-C26-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c26-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c26-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c26-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c26-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C26 + mapping: + - [B0, SH2B-C26-H] + - [A0, SH2B-C26-V] + - [A1, SH2B-C26-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c26-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c26-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c26-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C26 + mapping: + - [B0, SD1D-C26-H] + - [A0, SD1D-C26-V] + - [A1, SD1D-C26-SQ] + - [B2, SD1D-C26-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c26-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c26-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c26-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c26-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C26 + mapping: + - [B0, SF2E-C26-H] + - [A0, SF2E-C26-V] + - [A1, SF2E-C26-SQ] + - [B2, SF2E-C26-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c26-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c26-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c26-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c26-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C26 + mapping: + - [B0, SD1E-C26-H] + - [A0, SD1E-C26-V] + - [A1, SD1E-C26-SQ] + - [B2, SD1E-C26-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c26-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c26-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c26-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c26-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C26 + mapping: + - [B0, SH3E-C26-H] + - [A0, SH3E-C26-V] + - [A1, SH3E-C26-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c26-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c26-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c26-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C27 + mapping: + - [B0, SH1A-C27-H] + - [A0, SH1A-C27-V] + - [A1, SH1A-C27-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c27-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c27-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c27-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C27 + mapping: + - [B0, SD1A-C27-H] + - [A0, SD1A-C27-V] + - [A1, SD1A-C27-SQ] + - [B2, SD1A-C27-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c27-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c27-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c27-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c27-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C27 + mapping: + - [B0, SF2A-C27-H] + - [A0, SF2A-C27-V] + - [A1, SF2A-C27-SQ] + - [B2, SF2A-C27-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c27-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c27-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c27-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c27-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C27 + mapping: + - [B0, SD1B-C27-H] + - [A0, SD1B-C27-V] + - [A1, SD1B-C27-SQ] + - [B2, SD1B-C27-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c27-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c27-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c27-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c27-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C27 + mapping: + - [B0, SH2B-C27-H] + - [A0, SH2B-C27-V] + - [A1, SH2B-C27-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c27-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c27-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c27-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C27 + mapping: + - [B0, SD1D-C27-H] + - [A0, SD1D-C27-V] + - [A1, SD1D-C27-SQ] + - [B2, SD1D-C27-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c27-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c27-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c27-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c27-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C27 + mapping: + - [B0, SF2E-C27-H] + - [A0, SF2E-C27-V] + - [A1, SF2E-C27-SQ] + - [B2, SF2E-C27-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c27-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c27-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c27-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c27-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C27 + mapping: + - [B0, SD1E-C27-H] + - [A0, SD1E-C27-V] + - [A1, SD1E-C27-SQ] + - [B2, SD1E-C27-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c27-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c27-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c27-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c27-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C27 + mapping: + - [B0, SH3E-C27-H] + - [A0, SH3E-C27-V] + - [A1, SH3E-C27-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c27-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c27-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c27-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C28 + mapping: + - [B0, SH1A-C28-H] + - [A0, SH1A-C28-V] + - [A1, SH1A-C28-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c28-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c28-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c28-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C28 + mapping: + - [B0, SD1A-C28-H] + - [A0, SD1A-C28-V] + - [A1, SD1A-C28-SQ] + - [B2, SD1A-C28-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c28-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c28-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c28-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c28-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C28 + mapping: + - [B0, SF2A-C28-H] + - [A0, SF2A-C28-V] + - [A1, SF2A-C28-SQ] + - [B2, SF2A-C28-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c28-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c28-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c28-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c28-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C28 + mapping: + - [B0, SD1B-C28-H] + - [A0, SD1B-C28-V] + - [A1, SD1B-C28-SQ] + - [B2, SD1B-C28-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c28-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c28-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c28-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c28-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C28 + mapping: + - [B0, SH2B-C28-H] + - [A0, SH2B-C28-V] + - [A1, SH2B-C28-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c28-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c28-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c28-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C28 + mapping: + - [B0, SD1D-C28-H] + - [A0, SD1D-C28-V] + - [A1, SD1D-C28-SQ] + - [B2, SD1D-C28-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c28-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c28-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c28-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c28-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C28 + mapping: + - [B0, SF2E-C28-H] + - [A0, SF2E-C28-V] + - [A1, SF2E-C28-SQ] + - [B2, SF2E-C28-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c28-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c28-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c28-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c28-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C28 + mapping: + - [B0, SD1E-C28-H] + - [A0, SD1E-C28-V] + - [A1, SD1E-C28-SQ] + - [B2, SD1E-C28-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c28-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c28-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c28-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c28-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C28 + mapping: + - [B0, SH3E-C28-H] + - [A0, SH3E-C28-V] + - [A1, SH3E-C28-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c28-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c28-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c28-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C29 + mapping: + - [B0, SH1A-C29-H] + - [A0, SH1A-C29-V] + - [A1, SH1A-C29-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c29-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c29-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c29-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C29 + mapping: + - [B0, SD1A-C29-H] + - [A0, SD1A-C29-V] + - [A1, SD1A-C29-SQ] + - [B2, SD1A-C29-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c29-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c29-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c29-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c29-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C29 + mapping: + - [B0, SF2A-C29-H] + - [A0, SF2A-C29-V] + - [A1, SF2A-C29-SQ] + - [B2, SF2A-C29-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c29-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c29-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c29-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c29-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C29 + mapping: + - [B0, SD1B-C29-H] + - [A0, SD1B-C29-V] + - [A1, SD1B-C29-SQ] + - [B2, SD1B-C29-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c29-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c29-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c29-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c29-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C29 + mapping: + - [B0, SH2B-C29-H] + - [A0, SH2B-C29-V] + - [A1, SH2B-C29-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c29-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c29-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c29-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C29 + mapping: + - [B0, SD1D-C29-H] + - [A0, SD1D-C29-V] + - [A1, SD1D-C29-SQ] + - [B2, SD1D-C29-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c29-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c29-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c29-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c29-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C29 + mapping: + - [B0, SF2E-C29-H] + - [A0, SF2E-C29-V] + - [A1, SF2E-C29-SQ] + - [B2, SF2E-C29-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c29-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c29-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c29-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c29-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C29 + mapping: + - [B0, SD1E-C29-H] + - [A0, SD1E-C29-V] + - [A1, SD1E-C29-SQ] + - [B2, SD1E-C29-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c29-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c29-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c29-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c29-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C29 + mapping: + - [B0, SH3E-C29-H] + - [A0, SH3E-C29-V] + - [A1, SH3E-C29-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c29-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c29-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c29-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C30 + mapping: + - [B0, SH1A-C30-H] + - [A0, SH1A-C30-V] + - [A1, SH1A-C30-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c30-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c30-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c30-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C30 + mapping: + - [B0, SD1A-C30-H] + - [A0, SD1A-C30-V] + - [A1, SD1A-C30-SQ] + - [B2, SD1A-C30-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c30-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c30-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c30-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c30-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C30 + mapping: + - [B0, SF2A-C30-H] + - [A0, SF2A-C30-V] + - [A1, SF2A-C30-SQ] + - [B2, SF2A-C30-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c30-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c30-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c30-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c30-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C30 + mapping: + - [B0, SD1B-C30-H] + - [A0, SD1B-C30-V] + - [A1, SD1B-C30-SQ] + - [B2, SD1B-C30-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c30-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c30-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c30-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c30-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C30 + mapping: + - [B0, SH2B-C30-H] + - [A0, SH2B-C30-V] + - [A1, SH2B-C30-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c30-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c30-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c30-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C30 + mapping: + - [B0, SD1D-C30-H] + - [A0, SD1D-C30-V] + - [A1, SD1D-C30-SQ] + - [B2, SD1D-C30-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c30-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c30-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c30-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c30-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C30 + mapping: + - [B0, SF2E-C30-H] + - [A0, SF2E-C30-V] + - [A1, SF2E-C30-SQ] + - [B2, SF2E-C30-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c30-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c30-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c30-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c30-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C30 + mapping: + - [B0, SD1E-C30-H] + - [A0, SD1E-C30-V] + - [A1, SD1E-C30-SQ] + - [B2, SD1E-C30-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c30-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c30-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c30-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c30-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C30 + mapping: + - [B0, SH3E-C30-H] + - [A0, SH3E-C30-V] + - [A1, SH3E-C30-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c30-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c30-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c30-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C31 + mapping: + - [B0, SH1A-C31-H] + - [A0, SH1A-C31-V] + - [A1, SH1A-C31-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c31-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c31-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c31-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C31 + mapping: + - [B0, SD1A-C31-H] + - [A0, SD1A-C31-V] + - [A1, SD1A-C31-SQ] + - [B2, SD1A-C31-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c31-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c31-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c31-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c31-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C31 + mapping: + - [B0, SF2A-C31-H] + - [A0, SF2A-C31-V] + - [A1, SF2A-C31-SQ] + - [B2, SF2A-C31-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c31-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c31-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c31-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c31-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C31 + mapping: + - [B0, SD1B-C31-H] + - [A0, SD1B-C31-V] + - [A1, SD1B-C31-SQ] + - [B2, SD1B-C31-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c31-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c31-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c31-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c31-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C31 + mapping: + - [B0, SH2B-C31-H] + - [A0, SH2B-C31-V] + - [A1, SH2B-C31-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c31-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c31-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c31-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C31 + mapping: + - [B0, SD1D-C31-H] + - [A0, SD1D-C31-V] + - [A1, SD1D-C31-SQ] + - [B2, SD1D-C31-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c31-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c31-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c31-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c31-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C31 + mapping: + - [B0, SF2E-C31-H] + - [A0, SF2E-C31-V] + - [A1, SF2E-C31-SQ] + - [B2, SF2E-C31-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c31-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c31-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c31-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c31-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C31 + mapping: + - [B0, SD1E-C31-H] + - [A0, SD1E-C31-V] + - [A1, SD1E-C31-SQ] + - [B2, SD1E-C31-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c31-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c31-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c31-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c31-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C31 + mapping: + - [B0, SH3E-C31-H] + - [A0, SH3E-C31-V] + - [A1, SH3E-C31-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c31-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c31-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c31-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C32 + mapping: + - [B0, SH1A-C32-H] + - [A0, SH1A-C32-V] + - [A1, SH1A-C32-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c32-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c32-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c32-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C32 + mapping: + - [B0, SD1A-C32-H] + - [A0, SD1A-C32-V] + - [A1, SD1A-C32-SQ] + - [B2, SD1A-C32-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c32-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c32-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c32-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c32-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C32 + mapping: + - [B0, SF2A-C32-H] + - [A0, SF2A-C32-V] + - [A1, SF2A-C32-SQ] + - [B2, SF2A-C32-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c32-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c32-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c32-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c32-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C32 + mapping: + - [B0, SD1B-C32-H] + - [A0, SD1B-C32-V] + - [A1, SD1B-C32-SQ] + - [B2, SD1B-C32-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c32-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c32-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c32-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c32-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C32 + mapping: + - [B0, SH2B-C32-H] + - [A0, SH2B-C32-V] + - [A1, SH2B-C32-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c32-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c32-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c32-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C32 + mapping: + - [B0, SD1D-C32-H] + - [A0, SD1D-C32-V] + - [A1, SD1D-C32-SQ] + - [B2, SD1D-C32-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c32-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c32-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c32-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c32-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C32 + mapping: + - [B0, SF2E-C32-H] + - [A0, SF2E-C32-V] + - [A1, SF2E-C32-SQ] + - [B2, SF2E-C32-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c32-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c32-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c32-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c32-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C32 + mapping: + - [B0, SD1E-C32-H] + - [A0, SD1E-C32-V] + - [A1, SD1E-C32-SQ] + - [B2, SD1E-C32-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c32-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c32-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c32-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c32-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C32 + mapping: + - [B0, SH3E-C32-H] + - [A0, SH3E-C32-V] + - [A1, SH3E-C32-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c32-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c32-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c32-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C01 + mapping: + - [B0, SH1A-C01-H] + - [A0, SH1A-C01-V] + - [A1, SH1A-C01-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c01-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c01-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c01-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C01 + mapping: + - [B0, SD1A-C01-H] + - [A0, SD1A-C01-V] + - [A1, SD1A-C01-SQ] + - [B2, SD1A-C01-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c01-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c01-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c01-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c01-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C01 + mapping: + - [B0, SF2A-C01-H] + - [A0, SF2A-C01-V] + - [A1, SF2A-C01-SQ] + - [B2, SF2A-C01-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c01-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c01-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c01-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c01-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C01 + mapping: + - [B0, SD1B-C01-H] + - [A0, SD1B-C01-V] + - [A1, SD1B-C01-SQ] + - [B2, SD1B-C01-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c01-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c01-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c01-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c01-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C01 + mapping: + - [B0, SH2B-C01-H] + - [A0, SH2B-C01-V] + - [A1, SH2B-C01-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c01-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c01-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c01-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C01 + mapping: + - [B0, SD1D-C01-H] + - [A0, SD1D-C01-V] + - [A1, SD1D-C01-SQ] + - [B2, SD1D-C01-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c01-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c01-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c01-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c01-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C01 + mapping: + - [B0, SF2E-C01-H] + - [A0, SF2E-C01-V] + - [A1, SF2E-C01-SQ] + - [B2, SF2E-C01-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c01-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c01-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c01-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c01-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C01 + mapping: + - [B0, SD1E-C01-H] + - [A0, SD1E-C01-V] + - [A1, SD1E-C01-SQ] + - [B2, SD1E-C01-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c01-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c01-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c01-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c01-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C01 + mapping: + - [B0, SH3E-C01-H] + - [A0, SH3E-C01-V] + - [A1, SH3E-C01-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c01-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c01-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c01-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C02 + mapping: + - [B0, SH1A-C02-H] + - [A0, SH1A-C02-V] + - [A1, SH1A-C02-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c02-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c02-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c02-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1A-C02 + mapping: + - [B0, SD1A-C02-H] + - [A0, SD1A-C02-V] + - [A1, SD1A-C02-SQ] + - [B2, SD1A-C02-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c02-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c02-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c02-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c02-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2A-C02 + mapping: + - [B0, SF2A-C02-H] + - [A0, SF2A-C02-V] + - [A1, SF2A-C02-SQ] + - [B2, SF2A-C02-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c02-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c02-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c02-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c02-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1B-C02 + mapping: + - [B0, SD1B-C02-H] + - [A0, SD1B-C02-V] + - [A1, SD1B-C02-SQ] + - [B2, SD1B-C02-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c02-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c02-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c02-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c02-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C02 + mapping: + - [B0, SH2B-C02-H] + - [A0, SH2B-C02-V] + - [A1, SH2B-C02-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c02-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c02-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c02-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SD1D-C02 + mapping: + - [B0, SD1D-C02-H] + - [A0, SD1D-C02-V] + - [A1, SD1D-C02-SQ] + - [B2, SD1D-C02-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c02-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c02-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c02-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c02-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SF2E-C02 + mapping: + - [B0, SF2E-C02-H] + - [A0, SF2E-C02-V] + - [A1, SF2E-C02-SQ] + - [B2, SF2E-C02-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c02-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c02-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c02-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c02-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SD1E-C02 + mapping: + - [B0, SD1E-C02-H] + - [A0, SD1E-C02-V] + - [A1, SD1E-C02-SQ] + - [B2, SD1E-C02-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c02-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c02-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c02-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c02-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C02 + mapping: + - [B0, SH3E-C02-H] + - [A0, SH3E-C02-V] + - [A1, SH3E-C02-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c02-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c02-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c02-e-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SH1A-C03 + mapping: + - [B0, SH1A-C03-H] + - [A0, SH1A-C03-V] + - [A1, SH1A-C03-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH1_SH3_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c03-a-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c03-a-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c03-a-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SI1A-C03 + mapping: + - [B0, SI1A-C03-H] + - [A0, SI1A-C03-V] + - [A1, SI1A-C03-SQ] + - [B2, SI1A-C03-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c03-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c03-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c03-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c03-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SI2A-C03 + mapping: + - [B0, SI2A-C03-H] + - [A0, SI2A-C03-V] + - [A1, SI2A-C03-SQ] + - [B2, SI2A-C03-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c03-a/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c03-a/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c03-a/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c03-a/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SI1B-C03 + mapping: + - [B0, SI1B-C03-H] + - [A0, SI1B-C03-V] + - [A1, SI1B-C03-SQ] + - [B2, SI1B-C03-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c03-b/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c03-b/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c03-b/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c03-b/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH2B-C03 + mapping: + - [B0, SH2B-C03-H] + - [A0, SH2B-C03-V] + - [A1, SH2B-C03-SQ] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1] + units: [rad,rad,m-1] + pseudo_factors: [1.0,-1.0,-1.0] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SH2_sq_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SH_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c03-b-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c03-b-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh2/c03-b-ch3/current + unit: A + - type: pyaml.magnet.cfm_magnet + name: SI1D-C03 + mapping: + - [B0, SI1D-C03-H] + - [A0, SI1D-C03-V] + - [A1, SI1D-C03-SQ] + - [B2, SI1D-C03-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c03-d/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c03-d/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c03-d/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c03-d/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SI2E-C03 + mapping: + - [B0, SI2E-C03-H] + - [A0, SI2E-C03-V] + - [A1, SI2E-C03-SQ] + - [B2, SI2E-C03-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c03-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c03-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c03-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sf2/c03-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SI1E-C03 + mapping: + - [B0, SI1E-C03-H] + - [A0, SI1E-C03-V] + - [A1, SI1E-C03-SQ] + - [B2, SI1E-C03-S] + model: + type: pyaml.magnet.identity_cfm_model + multipoles: [B0,A0,A1,B2] + units: [rad,rad,m-1,m-2] + physics: + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c03-e/Strength_H + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c03-e/Strength_V + unit: rad + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c03-e/Strength_SQ + unit: m-1 + - type: tango.pyaml.attribute + attribute: srmag/m-sd1/c03-e/Strength + unit: m-2 + - type: pyaml.magnet.cfm_magnet + name: SH3E-C03 + mapping: + - [B0, SH3E-C03-H] + - [A0, SH3E-C03-V] + - [A1, SH3E-C03-SQ] + - [B2, SH3E-C03-S] + model: + type: pyaml.magnet.linear_cfm_model + multipoles: [B0,A0,A1,B2] + pseudo_factors: [1.0,-1.0,-1.0,-1.0] + units: [rad,rad,m-1,m-2] + curves: + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SHI_h_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SHI_v_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SHI_sq_strength.csv + - type: pyaml.configuration.csvcurve + file: sr/magnet_models/SHI_sext_strength.csv + matrix: + type: pyaml.configuration.csvmatrix + file: sr/magnet_models/SHI_matrix.csv + powerconverters: + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c03-e-ch1/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c03-e-ch2/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c03-e-ch3/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c03-e-ch5/current + unit: A + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh3/c03-e-ch6/current + unit: A + - type: pyaml.bpm.bpm + name: BPM_C04-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/04-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/04-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C04-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/04-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/04-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C04-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/04-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/04-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C04-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/04-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/04-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C04-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/04-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/04-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C04-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/04-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/04-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C04-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/04-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/04-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C04-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/04-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/04-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C04-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/04-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/04-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C04-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/04-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/04-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C05-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/05-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/05-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C05-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/05-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/05-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C05-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/05-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/05-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C05-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/05-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/05-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C05-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/05-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/05-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C05-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/05-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/05-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C05-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/05-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/05-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C05-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/05-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/05-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C05-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/05-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/05-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C05-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/05-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/05-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C06-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/06-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/06-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C06-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/06-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/06-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C06-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/06-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/06-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C06-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/06-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/06-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C06-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/06-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/06-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C06-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/06-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/06-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C06-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/06-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/06-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C06-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/06-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/06-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C06-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/06-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/06-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C06-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/06-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/06-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C07-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/07-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/07-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C07-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/07-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/07-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C07-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/07-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/07-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C07-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/07-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/07-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C07-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/07-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/07-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C07-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/07-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/07-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C07-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/07-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/07-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C07-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/07-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/07-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C07-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/07-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/07-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C07-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/07-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/07-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C08-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/08-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/08-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C08-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/08-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/08-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C08-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/08-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/08-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C08-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/08-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/08-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C08-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/08-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/08-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C08-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/08-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/08-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C08-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/08-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/08-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C08-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/08-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/08-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C08-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/08-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/08-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C08-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/08-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/08-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C09-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/09-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/09-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C09-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/09-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/09-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C09-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/09-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/09-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C09-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/09-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/09-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C09-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/09-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/09-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C09-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/09-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/09-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C09-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/09-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/09-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C09-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/09-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/09-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C09-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/09-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/09-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C09-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/09-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/09-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C10-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/10-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/10-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C10-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/10-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/10-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C10-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/10-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/10-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C10-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/10-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/10-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C10-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/10-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/10-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C10-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/10-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/10-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C10-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/10-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/10-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C10-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/10-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/10-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C10-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/10-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/10-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C10-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/10-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/10-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C11-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/11-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/11-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C11-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/11-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/11-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C11-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/11-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/11-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C11-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/11-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/11-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C11-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/11-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/11-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C11-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/11-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/11-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C11-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/11-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/11-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C11-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/11-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/11-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C11-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/11-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/11-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C11-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/11-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/11-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C12-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/12-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/12-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C12-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/12-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/12-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C12-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/12-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/12-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C12-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/12-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/12-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C12-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/12-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/12-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C12-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/12-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/12-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C12-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/12-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/12-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C12-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/12-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/12-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C12-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/12-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/12-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C12-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/12-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/12-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C13-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/13-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/13-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C13-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/13-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/13-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C13-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/13-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/13-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C13-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/13-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/13-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C13-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/13-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/13-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C13-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/13-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/13-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C13-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/13-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/13-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C13-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/13-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/13-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C13-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/13-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/13-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C13-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/13-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/13-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C14-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/14-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/14-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C14-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/14-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/14-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C14-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/14-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/14-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C14-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/14-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/14-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C14-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/14-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/14-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C14-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/14-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/14-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C14-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/14-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/14-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C14-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/14-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/14-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C14-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/14-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/14-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C14-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/14-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/14-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C15-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/15-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/15-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C15-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/15-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/15-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C15-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/15-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/15-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C15-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/15-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/15-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C15-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/15-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/15-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C15-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/15-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/15-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C15-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/15-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/15-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C15-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/15-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/15-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C15-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/15-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/15-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C15-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/15-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/15-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C16-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/16-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/16-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C16-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/16-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/16-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C16-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/16-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/16-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C16-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/16-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/16-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C16-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/16-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/16-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C16-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/16-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/16-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C16-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/16-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/16-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C16-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/16-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/16-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C16-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/16-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/16-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C16-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/16-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/16-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C17-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/17-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/17-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C17-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/17-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/17-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C17-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/17-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/17-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C17-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/17-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/17-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C17-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/17-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/17-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C17-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/17-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/17-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C17-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/17-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/17-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C17-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/17-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/17-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C17-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/17-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/17-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C17-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/17-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/17-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C18-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/18-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/18-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C18-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/18-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/18-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C18-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/18-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/18-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C18-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/18-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/18-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C18-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/18-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/18-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C18-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/18-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/18-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C18-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/18-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/18-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C18-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/18-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/18-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C18-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/18-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/18-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C18-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/18-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/18-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C19-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/19-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/19-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C19-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/19-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/19-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C19-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/19-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/19-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C19-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/19-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/19-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C19-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/19-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/19-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C19-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/19-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/19-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C19-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/19-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/19-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C19-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/19-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/19-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C19-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/19-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/19-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C19-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/19-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/19-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C20-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/20-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/20-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C20-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/20-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/20-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C20-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/20-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/20-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C20-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/20-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/20-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C20-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/20-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/20-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C20-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/20-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/20-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C20-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/20-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/20-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C20-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/20-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/20-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C20-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/20-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/20-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C20-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/20-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/20-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C21-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/21-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/21-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C21-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/21-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/21-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C21-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/21-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/21-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C21-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/21-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/21-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C21-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/21-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/21-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C21-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/21-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/21-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C21-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/21-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/21-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C21-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/21-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/21-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C21-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/21-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/21-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C21-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/21-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/21-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C22-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/22-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/22-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C22-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/22-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/22-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C22-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/22-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/22-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C22-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/22-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/22-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C22-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/22-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/22-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C22-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/22-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/22-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C22-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/22-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/22-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C22-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/22-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/22-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C22-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/22-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/22-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C22-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/22-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/22-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C23-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/23-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/23-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C23-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/23-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/23-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C23-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/23-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/23-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C23-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/23-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/23-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C23-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/23-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/23-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C23-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/23-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/23-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C23-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/23-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/23-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C23-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/23-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/23-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C23-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/23-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/23-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C23-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/23-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/23-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C24-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/24-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/24-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C24-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/24-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/24-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C24-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/24-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/24-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C24-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/24-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/24-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C24-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/24-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/24-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C24-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/24-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/24-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C24-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/24-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/24-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C24-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/24-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/24-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C24-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/24-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/24-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C24-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/24-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/24-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C25-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/25-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/25-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C25-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/25-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/25-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C25-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/25-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/25-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C25-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/25-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/25-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C25-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/25-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/25-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C25-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/25-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/25-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C25-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/25-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/25-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C25-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/25-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/25-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C25-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/25-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/25-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C25-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/25-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/25-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C26-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/26-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/26-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C26-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/26-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/26-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C26-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/26-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/26-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C26-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/26-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/26-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C26-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/26-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/26-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C26-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/26-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/26-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C26-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/26-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/26-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C26-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/26-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/26-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C26-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/26-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/26-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C26-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/26-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/26-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C27-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/27-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/27-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C27-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/27-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/27-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C27-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/27-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/27-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C27-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/27-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/27-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C27-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/27-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/27-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C27-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/27-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/27-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C27-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/27-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/27-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C27-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/27-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/27-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C27-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/27-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/27-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C27-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/27-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/27-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C28-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/28-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/28-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C28-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/28-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/28-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C28-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/28-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/28-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C28-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/28-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/28-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C28-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/28-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/28-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C28-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/28-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/28-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C28-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/28-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/28-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C28-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/28-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/28-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C28-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/28-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/28-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C28-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/28-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/28-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C29-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/29-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/29-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C29-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/29-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/29-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C29-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/29-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/29-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C29-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/29-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/29-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C29-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/29-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/29-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C29-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/29-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/29-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C29-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/29-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/29-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C29-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/29-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/29-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C29-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/29-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/29-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C29-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/29-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/29-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C30-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/30-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/30-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C30-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/30-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/30-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C30-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/30-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/30-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C30-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/30-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/30-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C30-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/30-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/30-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C30-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/30-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/30-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C30-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/30-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/30-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C30-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/30-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/30-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C30-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/30-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/30-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C30-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/30-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/30-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C31-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/31-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/31-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C31-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/31-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/31-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C31-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/31-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/31-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C31-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/31-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/31-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C31-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/31-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/31-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C31-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/31-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/31-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C31-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/31-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/31-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C31-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/31-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/31-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C31-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/31-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/31-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C31-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/31-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/31-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C32-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/32-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/32-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C32-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/32-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/32-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C32-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/32-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/32-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C32-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/32-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/32-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C32-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/32-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/32-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C32-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/32-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/32-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C32-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/32-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/32-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C32-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/32-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/32-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C32-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/32-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/32-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C32-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/32-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/32-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C01-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/01-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/01-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C01-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/01-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/01-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C01-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/01-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/01-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C01-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/01-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/01-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C01-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/01-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/01-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C01-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/01-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/01-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C01-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/01-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/01-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C01-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/01-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/01-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C01-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/01-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/01-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C01-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/01-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/01-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C02-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/02-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/02-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C02-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/02-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/02-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C02-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/02-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/02-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C02-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/02-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/02-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C02-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/02-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/02-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C02-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/02-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/02-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C02-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/02-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/02-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C02-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/02-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/02-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C02-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/02-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/02-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C02-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/02-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/02-10/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C03-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/03-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/03-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C03-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/03-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/03-02/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C03-03 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/03-03/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/03-03/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C03-04 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/03-04/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/03-04/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C03-05 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/03-05/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/03-05/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C03-06 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/03-06/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/03-06/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C03-07 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/03-07/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/03-07/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C03-08 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/03-08/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/03-08/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C03-09 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/03-09/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/03-09/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C03-10 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/03-10/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/03-10/SA_VPosition + unit: m diff --git a/tests/config/sr/magnet_models/SH1AC01.yaml b/tests/config/sr/magnet_models/SH1AC01.yaml index f556c3f5..c4b7af92 100644 --- a/tests/config/sr/magnet_models/SH1AC01.yaml +++ b/tests/config/sr/magnet_models/SH1AC01.yaml @@ -4,11 +4,11 @@ pseudo_factors: [1.0,-1.0,-1.0] curves: - type: pyaml.configuration.csvcurve - file: sr/magnet_models/SH_h_strength.csv + file: sr/magnet_models/SH1_SH3_h_strength.csv - type: pyaml.configuration.csvcurve - file: sr/magnet_models/SH_v_strength.csv + file: sr/magnet_models/SH1_SH3_v_strength.csv - type: pyaml.configuration.csvcurve - file: sr/magnet_models/SH_sq_strength.csv + file: sr/magnet_models/SH1_SH3_sq_strength.csv matrix: type: pyaml.configuration.csvmatrix file: sr/magnet_models/SH_matrix.csv diff --git a/tests/config/sr/magnet_models/SH1AC02.yaml b/tests/config/sr/magnet_models/SH1AC02.yaml index 49d07f88..a3b50465 100644 --- a/tests/config/sr/magnet_models/SH1AC02.yaml +++ b/tests/config/sr/magnet_models/SH1AC02.yaml @@ -4,30 +4,21 @@ pseudo_factors: [1.0,-1.0,-1.0] curves: - type: pyaml.configuration.csvcurve - file: sr/magnet_models/SH_h_strength.csv + file: sr/magnet_models/SH1_SH3_h_strength.csv - type: pyaml.configuration.csvcurve - file: sr/magnet_models/SH_v_strength.csv + file: sr/magnet_models/SH1_SH3_v_strength.csv - type: pyaml.configuration.csvcurve - file: sr/magnet_models/SH_sq_strength.csv + file: sr/magnet_models/SH1_SH3_sq_strength.csv matrix: type: pyaml.configuration.csvmatrix file: sr/magnet_models/SH_matrix.csv powerconverters: -# - type: tango.pyaml.attribute -# attribute: srmag/ps-corr-sh1/c02-a-ch1/current - - type: pyaml.control.device - setpoint: srmag/ps-corr-sh1/c02-a-ch1/current - readback: srmag/ps-corr-sh1/c02-a-ch1/current + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c02-a-ch1/current unit: A -# - type: tango.pyaml.attribute -# attribute: srmag/ps-corr-sh1/c02-a-ch2/current - - type: pyaml.control.device - setpoint: srmag/ps-corr-sh1/c02-a-ch2/current - readback: srmag/ps-corr-sh1/c02-a-ch2/current + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c02-a-ch2/current unit: A -# - type: tango.pyaml.attribute -# attribute: srmag/ps-corr-sh1/c02-a-ch3/current - - type: pyaml.control.device - setpoint: srmag/ps-corr-sh1/c02-a-ch3/current - readback: srmag/ps-corr-sh1/c02-a-ch3/current + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c02-a-ch3/current unit: A \ No newline at end of file diff --git a/tests/config/sr/magnet_models/SH1_SH3_h_strength.csv b/tests/config/sr/magnet_models/SH1_SH3_h_strength.csv new file mode 100644 index 00000000..71dfe85a --- /dev/null +++ b/tests/config/sr/magnet_models/SH1_SH3_h_strength.csv @@ -0,0 +1,19 @@ +-2.4,-0.016516378 +-2.1333,-0.0147084 +-1.8667,-0.012888188 +-1.6,-0.011055744 +-1.3333,-0.009203181 +-1.0667,-0.007349891 +-0.8,-0.005495871 +-0.53333,-0.003637018 +-0.26667,-0.001805061 +0.0,0.0 +0.26667,0.001805061 +0.53333,0.003637018 +0.8,0.005495871 +1.0667,0.007349891 +1.3333,0.009203181 +1.6,0.011055744 +1.8667,0.012888188 +2.1333,0.0147084 +2.4,0.016516378 diff --git a/tests/config/sr/magnet_models/SH1_SH3_sq_strength.csv b/tests/config/sr/magnet_models/SH1_SH3_sq_strength.csv new file mode 100644 index 00000000..0372cffb --- /dev/null +++ b/tests/config/sr/magnet_models/SH1_SH3_sq_strength.csv @@ -0,0 +1,17 @@ +-4.2667,-0.53024685 +-3.7333,-0.49480939 +-3.2,-0.45147696 +-2.6667,-0.39314961 +-2.1333,-0.31870389 +-1.6,-0.24073587 +-1.0667,-0.16134213 +-0.53333,-0.081016541 +0.0,0.0 +0.53333,0.081016541 +1.0667,0.16134213 +1.6,0.24073587 +2.1333,0.31870389 +2.6667,0.39314961 +3.2,0.45147696 +3.7333,0.49480939 +4.2667,0.53024685 diff --git a/tests/config/sr/magnet_models/SH1_SH3_v_strength.csv b/tests/config/sr/magnet_models/SH1_SH3_v_strength.csv new file mode 100644 index 00000000..c29ae483 --- /dev/null +++ b/tests/config/sr/magnet_models/SH1_SH3_v_strength.csv @@ -0,0 +1,19 @@ +-4.8,-0.011256173 +-4.2667,-0.010400214 +-3.7333,-0.009291842 +-3.2,-0.008060268 +-2.6667,-0.006750694 +-2.1333,-0.005414052 +-1.6,-0.004067117 +-1.0667,-0.002715177 +-0.53333,-0.001360387 +0.0,0.0 +0.53333,0.001360387 +1.0667,0.002715177 +1.6,0.004067117 +2.1333,0.005414052 +2.6667,0.006750694 +3.2,0.008060268 +3.7333,0.009291842 +4.2667,0.010400214 +4.8,0.011256173 diff --git a/tests/config/sr/magnet_models/SH2_h_strength.csv b/tests/config/sr/magnet_models/SH2_h_strength.csv new file mode 100644 index 00000000..71dfe85a --- /dev/null +++ b/tests/config/sr/magnet_models/SH2_h_strength.csv @@ -0,0 +1,19 @@ +-2.4,-0.016516378 +-2.1333,-0.0147084 +-1.8667,-0.012888188 +-1.6,-0.011055744 +-1.3333,-0.009203181 +-1.0667,-0.007349891 +-0.8,-0.005495871 +-0.53333,-0.003637018 +-0.26667,-0.001805061 +0.0,0.0 +0.26667,0.001805061 +0.53333,0.003637018 +0.8,0.005495871 +1.0667,0.007349891 +1.3333,0.009203181 +1.6,0.011055744 +1.8667,0.012888188 +2.1333,0.0147084 +2.4,0.016516378 diff --git a/tests/config/sr/magnet_models/SH2_sq_strength.csv b/tests/config/sr/magnet_models/SH2_sq_strength.csv new file mode 100644 index 00000000..5a162df1 --- /dev/null +++ b/tests/config/sr/magnet_models/SH2_sq_strength.csv @@ -0,0 +1,17 @@ +-4.2667,-0.523618764 +-3.7333,-0.488624273 +-3.2,-0.445833498 +-2.6667,-0.38823524 +-2.1333,-0.314720091 +-1.6,-0.237726672 +-1.0667,-0.159325353 +-0.53333,-0.080003834 +0.0,0.0 +0.53333,0.080003834 +1.0667,0.159325353 +1.6,0.237726672 +2.1333,0.314720091 +2.6667,0.38823524 +3.2,0.445833498 +3.7333,0.488624273 +4.2667,0.523618764 diff --git a/tests/config/sr/magnet_models/SH2_v_strength.csv b/tests/config/sr/magnet_models/SH2_v_strength.csv new file mode 100644 index 00000000..ee54f295 --- /dev/null +++ b/tests/config/sr/magnet_models/SH2_v_strength.csv @@ -0,0 +1,19 @@ +-4.8,-0.011115471 +-4.2667,-0.010270211 +-3.7333,-0.009175693 +-3.2,-0.007959515 +-2.6667,-0.00666631 +-2.1333,-0.005346376 +-1.6,-0.004016278 +-1.0667,-0.002681237 +-0.53333,-0.001343383 +0.0,0.0 +0.53333,0.001343383 +1.0667,0.002681237 +1.6,0.004016278 +2.1333,0.005346376 +2.6667,0.00666631 +3.2,0.007959515 +3.7333,0.009175693 +4.2667,0.010270211 +4.8,0.011115471 diff --git a/tests/config/sr/magnet_models/SHI_h_strength.csv b/tests/config/sr/magnet_models/SHI_h_strength.csv new file mode 100644 index 00000000..85f634b1 --- /dev/null +++ b/tests/config/sr/magnet_models/SHI_h_strength.csv @@ -0,0 +1,17 @@ +-2.4,-0.0161824 +-2.1,-0.0141826 +-1.8,-0.0121738 +-1.5,-0.01014483 +-1.2,-0.00811586 +-0.9,-0.0060869 +-0.6,-0.004057933333 +-0.3,-0.002028966667 +0.0,0.0 +0.3,0.002028966667 +0.6,0.004057933333 +0.9,0.0060869 +1.2,0.00811586 +1.5,0.01014483 +1.8,0.0121738 +2.1,0.0141826 +2.4,0.0161824 diff --git a/tests/config/sr/magnet_models/SHI_matrix.csv b/tests/config/sr/magnet_models/SHI_matrix.csv new file mode 100644 index 00000000..ca893a25 --- /dev/null +++ b/tests/config/sr/magnet_models/SHI_matrix.csv @@ -0,0 +1,4 @@ +1,-0.0886,0.0493,0.0886,-0.0493 +0,1,-1,1,-1 +0,1,1,1,1 +-0.35,-1.31,1,1.31,-1 diff --git a/tests/config/sr/magnet_models/SHI_sext_strength.csv b/tests/config/sr/magnet_models/SHI_sext_strength.csv new file mode 100644 index 00000000..8bce6bc2 --- /dev/null +++ b/tests/config/sr/magnet_models/SHI_sext_strength.csv @@ -0,0 +1,21 @@ +-10.0,-27.5725 +-9.0,-25.8065 +-8.0,-23.6602 +-7.0,-20.97822704 +-6.0,-17.98133746 +-5.0,-14.98444789 +-4.0,-11.987558 +-3.0,-8.990668 +-2.0,-5.993779154 +-1.0,-2.996889577 +0.0,0.0 +1.0,2.996889577 +2.0,5.993779154 +3.0,8.990668 +4.0,11.987558 +5.0,14.98444789 +6.0,17.98133746 +7.0,20.97822704 +8.0,23.6602 +9.0,25.8065 +10.0,27.5725 diff --git a/tests/config/sr/magnet_models/SHI_sq_strength.csv b/tests/config/sr/magnet_models/SHI_sq_strength.csv new file mode 100644 index 00000000..7370225b --- /dev/null +++ b/tests/config/sr/magnet_models/SHI_sq_strength.csv @@ -0,0 +1,19 @@ +-9.59999,-0.53335905 +-8.53333,-0.5026322 +-7.46666,-0.4659577 +-6.39999,-0.41839668 +-5.33333,-0.35644257 +-4.26666,-0.28783524 +-3.19999,-0.21716061 +-2.13333,-0.14531671 +-1.06666,-0.072921909 +0.0,0.0 +1.06666,0.072921909 +2.13333,0.14531671 +3.19999,0.21716061 +4.26666,0.28783524 +5.33333,0.35644257 +6.39999,0.41839668 +7.46666,0.4659577 +8.53333,0.5026322 +9.59999,0.53335905 diff --git a/tests/config/sr/magnet_models/SHI_v_strength.csv b/tests/config/sr/magnet_models/SHI_v_strength.csv new file mode 100644 index 00000000..8d5d2ead --- /dev/null +++ b/tests/config/sr/magnet_models/SHI_v_strength.csv @@ -0,0 +1,19 @@ +-9.59999,-0.010499059 +-8.53333,-0.0095203075 +-7.46666,-0.0084496508 +-6.39999,-0.0072807183 +-5.33333,-0.0060823154 +-4.26666,-0.0048763485 +-3.19999,-0.0036616087 +-2.13333,-0.0024446759 +-1.06666,-0.0012244331 +0.0,0.0 +1.06666,0.0012244331 +2.13333,0.0024446759 +3.19999,0.0036616087 +4.26666,0.0048763485 +5.33333,0.0060823154 +6.39999,0.0072807183 +7.46666,0.0084496508 +8.53333,0.0095203075 +9.59999,0.010499059 diff --git a/tests/config/sr/magnet_models/SH_h_strength.csv b/tests/config/sr/magnet_models/SH_h_strength.csv deleted file mode 100644 index 3209fc17..00000000 --- a/tests/config/sr/magnet_models/SH_h_strength.csv +++ /dev/null @@ -1,19 +0,0 @@ - -2.4, -0.016516378 - -2.1333, -0.0147084 - -1.8667, -0.012888188 - -1.6, -0.011055744 - -1.3333, -0.009203181 - -1.0667, -0.007349891 - -0.8, -0.005495871 --0.53333, -0.003637018 --0.26667, -0.001805061 - 0, 0 - 0.26667, 0.001805061 - 0.53333, 0.003637018 - 0.8, 0.005495871 - 1.0667, 0.007349891 - 1.3333, 0.009203181 - 1.6, 0.011055744 - 1.8667, 0.012888188 - 2.1333, 0.0147084 - 2.4, 0.016516378 diff --git a/tests/config/sr/magnet_models/SH_sq_strength.csv b/tests/config/sr/magnet_models/SH_sq_strength.csv deleted file mode 100644 index 7a2acf48..00000000 --- a/tests/config/sr/magnet_models/SH_sq_strength.csv +++ /dev/null @@ -1,17 +0,0 @@ - -4.2667, -0.53024685 - -3.7333, -0.49480939 - -3.2, -0.45147696 - -2.6667, -0.39314961 - -2.1333, -0.31870389 - -1.6, -0.24073587 - -1.0667, -0.16134213 - -0.53333, -0.081016541 - 0, 0 - 0.53333, 0.081016541 - 1.0667, 0.16134213 - 1.6, 0.24073587 - 2.1333, 0.31870389 - 2.6667, 0.39314961 - 3.2, 0.45147696 - 3.7333, 0.49480939 - 4.2667, 0.53024685 diff --git a/tests/config/sr/magnet_models/SH_v_strength.csv b/tests/config/sr/magnet_models/SH_v_strength.csv deleted file mode 100644 index c053c49a..00000000 --- a/tests/config/sr/magnet_models/SH_v_strength.csv +++ /dev/null @@ -1,19 +0,0 @@ - -4.8, -0.011256173 - -4.2667, -0.010400214 - -3.7333, -0.009291842 - -3.2, -0.008060268 - -2.6667, -0.006750694 - -2.1333, -0.005414052 - -1.6, -0.004067117 - -1.0667, -0.002715177 --0.53333, -0.001360387 - 0, 0 - 0.53333, 0.001360387 - 1.0667, 0.002715177 - 1.6, 0.004067117 - 2.1333, 0.005414052 - 2.6667, 0.006750694 - 3.2, 0.008060268 - 3.7333, 0.009291842 - 4.2667, 0.010400214 - 4.8, 0.011256173 diff --git a/tests/conftest.py b/tests/conftest.py index be3675eb..d1d378ed 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -62,11 +62,7 @@ def test_x(install_test_package): # Remove from sys.modules to avoid caching issues sys.modules.pop(package_name, None) - # Import the module freshly - module = importlib.import_module(package_name) - - yield module - + yield None # Uninstall package subprocess.call([ diff --git a/tests/dummy_cs/tango/pyproject.toml b/tests/dummy_cs/tango-pyaml/pyproject.toml similarity index 85% rename from tests/dummy_cs/tango/pyproject.toml rename to tests/dummy_cs/tango-pyaml/pyproject.toml index 53258ebc..31ae252e 100644 --- a/tests/dummy_cs/tango/pyproject.toml +++ b/tests/dummy_cs/tango-pyaml/pyproject.toml @@ -6,10 +6,10 @@ build-backend = "hatchling.build" path = "tango/__init__.py" [tool.hatch.build.targets.wheel] -packages = ["tango"] +packages = ["tango-pyaml"] [project] -name = "tango" +name = "tango-pyaml" description = "PyAML Tango CS mocking" requires-python = ">=3.8" dynamic = ["version"] diff --git a/tests/dummy_cs/tango/tango/__init__.py b/tests/dummy_cs/tango-pyaml/tango/__init__.py similarity index 100% rename from tests/dummy_cs/tango/tango/__init__.py rename to tests/dummy_cs/tango-pyaml/tango/__init__.py diff --git a/tests/dummy_cs/tango/tango/pyaml/__init__.py b/tests/dummy_cs/tango-pyaml/tango/pyaml/__init__.py similarity index 100% rename from tests/dummy_cs/tango/tango/pyaml/__init__.py rename to tests/dummy_cs/tango-pyaml/tango/pyaml/__init__.py diff --git a/tests/dummy_cs/tango/tango/pyaml/attribute.py b/tests/dummy_cs/tango-pyaml/tango/pyaml/attribute.py similarity index 100% rename from tests/dummy_cs/tango/tango/pyaml/attribute.py rename to tests/dummy_cs/tango-pyaml/tango/pyaml/attribute.py diff --git a/tests/dummy_cs/tango/tango/pyaml/attribute_read_only.py b/tests/dummy_cs/tango-pyaml/tango/pyaml/attribute_read_only.py similarity index 100% rename from tests/dummy_cs/tango/tango/pyaml/attribute_read_only.py rename to tests/dummy_cs/tango-pyaml/tango/pyaml/attribute_read_only.py diff --git a/tests/dummy_cs/tango/tango/pyaml/attribute_with_tango_powersupply_mocking_behaviour.py b/tests/dummy_cs/tango-pyaml/tango/pyaml/attribute_with_tango_powersupply_mocking_behaviour.py similarity index 100% rename from tests/dummy_cs/tango/tango/pyaml/attribute_with_tango_powersupply_mocking_behaviour.py rename to tests/dummy_cs/tango-pyaml/tango/pyaml/attribute_with_tango_powersupply_mocking_behaviour.py diff --git a/tests/dummy_cs/tango/tango/pyaml/controlsystem.py b/tests/dummy_cs/tango-pyaml/tango/pyaml/controlsystem.py similarity index 100% rename from tests/dummy_cs/tango/tango/pyaml/controlsystem.py rename to tests/dummy_cs/tango-pyaml/tango/pyaml/controlsystem.py diff --git a/tests/dummy_cs/tango/tango/pyaml/multi_attribute.py b/tests/dummy_cs/tango-pyaml/tango/pyaml/multi_attribute.py similarity index 100% rename from tests/dummy_cs/tango/tango/pyaml/multi_attribute.py rename to tests/dummy_cs/tango-pyaml/tango/pyaml/multi_attribute.py diff --git a/tests/lattice_info.py b/tests/lattice_info.py index 89f6e3db..52f8f3f8 100644 --- a/tests/lattice_info.py +++ b/tests/lattice_info.py @@ -25,7 +25,7 @@ def prepare_and_save(): def dump(): # Dump lattice for e in ring: - if e.FamName.startswith("QD"): + if e.FamName.startswith("SI"): print(e) dump() \ No newline at end of file diff --git a/tests/test_aggregator.py b/tests/test_aggregator.py index f363cdcc..c961aadf 100644 --- a/tests/test_aggregator.py +++ b/tests/test_aggregator.py @@ -5,8 +5,8 @@ import pytest @pytest.mark.parametrize("install_test_package", [{ - "name": "tango", - "path": "tests/dummy_cs/tango" + "name": "tango-pyaml", + "path": "tests/dummy_cs/tango-pyaml" }], indirect=True) def test_tune(install_test_package,capfd): diff --git a/tests/test_bpm.py b/tests/test_bpm.py index 4a2411ca..294e4384 100644 --- a/tests/test_bpm.py +++ b/tests/test_bpm.py @@ -6,8 +6,8 @@ import pytest @pytest.mark.parametrize("install_test_package", [{ - "name": "tango", - "path": "tests/dummy_cs/tango" + "name": "tango-pyaml", + "path": "tests/dummy_cs/tango-pyaml" }], indirect=True) def test_simulator_bpm_tilt(install_test_package): @@ -22,8 +22,8 @@ def test_simulator_bpm_tilt(install_test_package): Factory.clear() @pytest.mark.parametrize("install_test_package", [{ - "name": "tango", - "path": "tests/dummy_cs/tango" + "name": "tango-pyaml", + "path": "tests/dummy_cs/tango-pyaml" }], indirect=True) def test_simulator_bpm_offset(install_test_package): @@ -42,8 +42,8 @@ def test_simulator_bpm_offset(install_test_package): Factory.clear() @pytest.mark.parametrize("install_test_package", [{ - "name": "tango", - "path": "tests/dummy_cs/tango" + "name": "tango-pyaml", + "path": "tests/dummy_cs/tango-pyaml" }], indirect=True) def test_simulator_bpm_position(install_test_package): @@ -59,8 +59,8 @@ def test_simulator_bpm_position(install_test_package): Factory.clear() @pytest.mark.parametrize("install_test_package", [{ - "name": "tango", - "path": "tests/dummy_cs/tango" + "name": "tango-pyaml", + "path": "tests/dummy_cs/tango-pyaml" }], indirect=True) def test_simulator_bpm_position_with_bad_corrector_strength(install_test_package): diff --git a/tests/test_bpm_controlsystem.py b/tests/test_bpm_controlsystem.py index d1d2518f..aaef2485 100644 --- a/tests/test_bpm_controlsystem.py +++ b/tests/test_bpm_controlsystem.py @@ -7,8 +7,8 @@ import pytest @pytest.mark.parametrize("install_test_package", [{ - "name": "tango", - "path": "tests/dummy_cs/tango" + "name": "pyaml-tango", + "path": "tests/dummy_cs/tango-pyaml" }], indirect=True) def test_controlsystem_bpm_tilt(install_test_package): @@ -24,8 +24,8 @@ def test_controlsystem_bpm_tilt(install_test_package): Factory.clear() @pytest.mark.parametrize("install_test_package", [{ - "name": "tango", - "path": "tests/dummy_cs/tango" + "name": "tango-pyaml", + "path": "tests/dummy_cs/tango-pyaml" }], indirect=True) def test_controlsystem_bpm_offset(install_test_package): @@ -43,8 +43,8 @@ def test_controlsystem_bpm_offset(install_test_package): Factory.clear() @pytest.mark.parametrize("install_test_package", [{ - "name": "tango", - "path": "tests/dummy_cs/tango" + "name": "tango-pyaml", + "path": "tests/dummy_cs/tango-pyaml" }], indirect=True) def test_controlsystem_bpm_position(install_test_package): diff --git a/tests/test_ident_models.py b/tests/test_ident_models.py index 272ca2f0..9e68f27f 100644 --- a/tests/test_ident_models.py +++ b/tests/test_ident_models.py @@ -12,7 +12,7 @@ @pytest.mark.parametrize( ("magnet_file", "install_test_package"), [ - ("tests/config/sr-ident-cfm.yaml", {"name": "tango", "path": "tests/dummy_cs/tango"}), + ("tests/config/sr-ident-cfm.yaml", {"name": "tango-pyaml", "path": "tests/dummy_cs/tango-pyaml"}), ], indirect=["install_test_package"], ) diff --git a/tests/test_load_quad.py b/tests/test_load_quad.py index 70330827..129358dd 100644 --- a/tests/test_load_quad.py +++ b/tests/test_load_quad.py @@ -38,8 +38,8 @@ def test_quad_external_model(install_test_package, config_root_dir): ("magnet_file", "install_test_package"), [ ("sr/quadrupoles/QF1AC01.yaml", None), - ("sr/quadrupoles/QF1AC01-IDENT-STRGTH.yaml", {"name": "tango", "path": "tests/dummy_cs/tango"}), - ("sr/quadrupoles/QF1AC01-IDENT-HW.yaml", {"name": "tango", "path": "tests/dummy_cs/tango"}), + ("sr/quadrupoles/QF1AC01-IDENT-STRGTH.yaml", {"name": "tango-pyaml", "path": "tests/dummy_cs/tango-pyaml"}), + ("sr/quadrupoles/QF1AC01-IDENT-HW.yaml", {"name": "tango-pyaml", "path": "tests/dummy_cs/tango-pyaml"}), ("sr/quadrupoles/QF1AC01.json", None), ], indirect=["install_test_package"], diff --git a/tests/test_tune.py b/tests/test_tune.py index d3df17bf..57bb7bf5 100644 --- a/tests/test_tune.py +++ b/tests/test_tune.py @@ -6,8 +6,8 @@ import pytest @pytest.mark.parametrize("install_test_package", [{ - "name": "tango", - "path": "tests/dummy_cs/tango" + "name": "tango-pyaml", + "path": "tests/dummy_cs/tango-pyaml" }], indirect=True) def test_tune(install_test_package): diff --git a/tests/test_tune_hardware.py b/tests/test_tune_hardware.py index e5c21a03..9296b9db 100644 --- a/tests/test_tune_hardware.py +++ b/tests/test_tune_hardware.py @@ -6,8 +6,8 @@ import pytest @pytest.mark.parametrize("install_test_package", [{ - "name": "tango", - "path": "tests/dummy_cs/tango" + "name": "tango-pyaml", + "path": "tests/dummy_cs/tango-pyaml" }], indirect=True) def test_tune(install_test_package): From b29c3aa1c86311f14aca58d3a45716697aa48ec9 Mon Sep 17 00:00:00 2001 From: PONS Date: Thu, 30 Oct 2025 15:54:14 +0100 Subject: [PATCH 3/5] Restructuring for arrays and aggregator --- pyaml/arrays/array.py | 3 +- pyaml/arrays/bpm.py | 2 +- pyaml/arrays/bpm_array.py | 26 +++----- pyaml/arrays/magnet.py | 3 +- pyaml/arrays/magnet_array.py | 30 ++++----- pyaml/bpm/bpm.py | 2 +- pyaml/common/__init__.py | 4 ++ pyaml/{control => common}/abstract.py | 0 pyaml/common/abstract_aggregator.py | 34 ++++++++++ pyaml/{lattice => common}/element_holder.py | 70 +++++++++++---------- pyaml/control/abstract_impl.py | 41 ++++++++++-- pyaml/control/controlsystem.py | 32 ++++++++-- pyaml/lattice/abstract_impl.py | 70 +++++++++++++++++++-- pyaml/lattice/simulator.py | 20 +++++- pyaml/magnet/cfm_magnet.py | 4 +- pyaml/magnet/magnet.py | 2 +- pyaml/rf/rf_plant.py | 2 +- pyaml/rf/rf_transmitter.py | 2 +- 18 files changed, 253 insertions(+), 94 deletions(-) create mode 100644 pyaml/common/__init__.py rename pyaml/{control => common}/abstract.py (100%) create mode 100644 pyaml/common/abstract_aggregator.py rename pyaml/{lattice => common}/element_holder.py (86%) diff --git a/pyaml/arrays/array.py b/pyaml/arrays/array.py index 742f1f70..711ca970 100644 --- a/pyaml/arrays/array.py +++ b/pyaml/arrays/array.py @@ -1,10 +1,9 @@ """ Magnet array configuration """ +from ..common.element_holder import ElementHolder -import numpy as np from pydantic import BaseModel,ConfigDict -from ..lattice.element_holder import ElementHolder class ArrayConfigModel(BaseModel): diff --git a/pyaml/arrays/bpm.py b/pyaml/arrays/bpm.py index c0d02c8d..2355cd7f 100644 --- a/pyaml/arrays/bpm.py +++ b/pyaml/arrays/bpm.py @@ -1,5 +1,5 @@ from .array import ArrayConfigModel,ArrayConfig -from ..lattice.element_holder import ElementHolder +from ..common.element_holder import ElementHolder # Define the main class name for this module PYAMLCLASS = "BPM" diff --git a/pyaml/arrays/bpm_array.py b/pyaml/arrays/bpm_array.py index 724a261a..32ddccaa 100644 --- a/pyaml/arrays/bpm_array.py +++ b/pyaml/arrays/bpm_array.py @@ -1,8 +1,9 @@ -from ..control.abstract import ReadFloatArray +from ..common.abstract import ReadFloatArray from ..bpm.bpm import BPM -import numpy as np from ..control.deviceaccesslist import DeviceAccessList +import numpy as np + class RWBPMPosition(ReadFloatArray): def __init__(self, name:str, bpms:list[BPM]): @@ -56,7 +57,7 @@ class BPMArray(list[BPM]): Class that implements access to a BPM array """ - def __init__(self,arrayName:str,bpms:list[BPM],agg:DeviceAccessList|None=None,aggh:DeviceAccessList|None=None,aggv:DeviceAccessList|None=None): + def __init__(self,arrayName:str,bpms:list[BPM],holder): """ Construct a BPM array @@ -66,8 +67,8 @@ def __init__(self,arrayName:str,bpms:list[BPM],agg:DeviceAccessList|None=None,ag Array name bpms: list[BPM] BPM iterator - agg : DeviceAccessList - Control system aggregator (Parralel access to list of device) + holder : Element holder + Holder that contains element of this array (Simulator or Control System) """ super().__init__(i for i in bpms) self.__name = arrayName @@ -75,17 +76,10 @@ def __init__(self,arrayName:str,bpms:list[BPM],agg:DeviceAccessList|None=None,ag self.__hpos = RWBPMSinglePosition(arrayName,bpms,0) self.__vpos = RWBPMSinglePosition(arrayName,bpms,1) - if agg is not None: - # Fill magnet aggregator - for b in bpms: - devs = b.model.get_pos_devices() - agg.add_devices(devs) - aggh.add_devices(devs[0]) - aggv.add_devices(devs[1]) - - self.__hvpos.set_aggregator(agg) - self.__hpos.set_aggregator(aggh) - self.__vpos.set_aggregator(aggv) + aggs = holder.create_bpm_aggregators(bpms) + self.__hvpos.set_aggregator(aggs[0]) + self.__hpos.set_aggregator(aggs[1]) + self.__vpos.set_aggregator(aggs[2]) @property def positions(self) -> RWBPMPosition: diff --git a/pyaml/arrays/magnet.py b/pyaml/arrays/magnet.py index fe84017b..0e7c26ec 100644 --- a/pyaml/arrays/magnet.py +++ b/pyaml/arrays/magnet.py @@ -1,6 +1,5 @@ from .array import ArrayConfigModel,ArrayConfig -from ..control.controlsystem import ControlSystem -from ..lattice.element_holder import ElementHolder +from ..common.element_holder import ElementHolder # Define the main class name for this module PYAMLCLASS = "Magnet" diff --git a/pyaml/arrays/magnet_array.py b/pyaml/arrays/magnet_array.py index bbb75684..09d0ccf7 100644 --- a/pyaml/arrays/magnet_array.py +++ b/pyaml/arrays/magnet_array.py @@ -1,14 +1,15 @@ -from ..control.abstract import ReadWriteFloatArray +from ..common.abstract import ReadWriteFloatArray from ..magnet.magnet import Magnet +from ..common.abstract_aggregator import ScalarAggregator + import numpy as np -from ..control.deviceaccesslist import DeviceAccessList class RWMagnetStrength(ReadWriteFloatArray): def __init__(self, name:str, magnets:list[Magnet]): self.__magnets = magnets self.__name = name - self.aggregator:DeviceAccessList = None + self.aggregator:ScalarAggregator = None # Gets the values def get(self) -> np.array: @@ -21,7 +22,7 @@ def get(self) -> np.array: idx = 0 for m in self.__magnets: nbDev = len(m.model.get_devices()) - allStrength[idx] = m.model.compute_strengths(allHardwareValues[idx:idx+nbDev])[m.strength.index()] + allStrength[mIdx] = m.model.compute_strengths(allHardwareValues[idx:idx+nbDev])[m.strength.index()] mIdx += 1 idx += nbDev return allStrength @@ -58,7 +59,7 @@ def unit(self) -> list[str]: return [m.strength.unit() for m in self.__magnets] # Set the aggregator (Control system only) - def set_aggregator(self,agg:DeviceAccessList): + def set_aggregator(self,agg:ScalarAggregator): self.aggregator = agg class RWMagnetHardware(ReadWriteFloatArray): @@ -66,7 +67,7 @@ class RWMagnetHardware(ReadWriteFloatArray): def __init__(self, name:str, magnets:list[Magnet]): self.__name = name self.__magnets = magnets - self.aggregator:DeviceAccessList = None + self.aggregator:ScalarAggregator = None self.hasHardwareMapping = True # Gets the values @@ -98,8 +99,8 @@ def set_and_wait(self, value:np.array): def unit(self) -> list[str]: return [m.hardware.unit() for m in self.__magnets] - # Set the aggregator (Control system only) - def set_aggregator(self,agg:DeviceAccessList): + # Set the aggregator + def set_aggregator(self,agg:ScalarAggregator): self.aggregator = agg for m in self.__magnets: self.hasHardwareMapping |= m.model.has_hardware() @@ -109,7 +110,7 @@ class MagnetArray(list[Magnet]): Class that implements access to a magnet array """ - def __init__(self,arrayName:str,magnets:list[Magnet],agg:DeviceAccessList|None=None): + def __init__(self,arrayName:str,magnets:list[Magnet],holder): """ Construct a magnet array @@ -119,20 +120,15 @@ def __init__(self,arrayName:str,magnets:list[Magnet],agg:DeviceAccessList|None=N Array name magnets: list[Magnet] Magnet iterator - agg : DeviceAccessList - Control system aggregator (Parralel access to list of device) + holder : Element holder + Holder that contains element of this array (Simulator or Control System) """ super().__init__(i for i in magnets) self.__name = arrayName self.__rwstrengths = RWMagnetStrength(arrayName,magnets) self.__rwhardwares = RWMagnetHardware(arrayName,magnets) - if agg is not None: - # Fill magnet aggregator - for m in magnets: - devs = m.model.get_devices() - agg.add_devices(devs) - + agg = holder.create_magnet_aggregator(magnets) self.__rwstrengths.set_aggregator(agg) self.__rwhardwares.set_aggregator(agg) diff --git a/pyaml/bpm/bpm.py b/pyaml/bpm/bpm.py index 2841fd24..7374534f 100644 --- a/pyaml/bpm/bpm.py +++ b/pyaml/bpm/bpm.py @@ -1,7 +1,7 @@ from pyaml.lattice.element import Element, ElementConfigModel from pyaml.lattice.abstract_impl import RBpmArray, RWBpmOffsetArray, RWBpmTiltScalar from ..control.deviceaccess import DeviceAccess -from ..control import abstract +from ..common import abstract from typing import Self from pyaml.bpm.bpm_model import BPMModel diff --git a/pyaml/common/__init__.py b/pyaml/common/__init__.py new file mode 100644 index 00000000..b8cd9de3 --- /dev/null +++ b/pyaml/common/__init__.py @@ -0,0 +1,4 @@ +""" +PyAML common module +Contains code common to both simulator and control system +""" diff --git a/pyaml/control/abstract.py b/pyaml/common/abstract.py similarity index 100% rename from pyaml/control/abstract.py rename to pyaml/common/abstract.py diff --git a/pyaml/common/abstract_aggregator.py b/pyaml/common/abstract_aggregator.py new file mode 100644 index 00000000..18b62a66 --- /dev/null +++ b/pyaml/common/abstract_aggregator.py @@ -0,0 +1,34 @@ +from abc import ABCMeta, abstractmethod + +import numpy.typing as npt +import numpy as np + +class ScalarAggregator(metaclass=ABCMeta): + """ + Abstract class providing access to a list of scalar variables + """ + + @abstractmethod + def set(self, value: npt.NDArray[np.float64]): + """Write a list of variable""" + pass + + @abstractmethod + def set_and_wait(self, value: npt.NDArray[np.float64]): + """Write a list of variable and wait that setpoint are reached""" + pass + + @abstractmethod + def get(self) -> npt.NDArray[np.float64]: + """Return a list variables""" + pass + + @abstractmethod + def readback(self) -> np.array: + """Return a list variables (measurements)""" + pass + + @abstractmethod + def unit(self) -> str: + """Return the variables unit""" + pass diff --git a/pyaml/lattice/element_holder.py b/pyaml/common/element_holder.py similarity index 86% rename from pyaml/lattice/element_holder.py rename to pyaml/common/element_holder.py index ea82c1e5..aa6afca5 100644 --- a/pyaml/lattice/element_holder.py +++ b/pyaml/common/element_holder.py @@ -1,13 +1,12 @@ """ Module handling element references for simulators and control system """ -from .element import Element +from ..lattice.element import Element from ..magnet.magnet import Magnet from ..rf.rf_plant import RFPlant from ..rf.rf_transmitter import RFTransmitter from ..arrays.magnet_array import MagnetArray from ..arrays.bpm_array import BPMArray -from ..control.deviceaccesslist import DeviceAccessList class ElementHolder(object): """ @@ -26,15 +25,11 @@ def __init__(self): self.__MAGNET_ARRAYS: dict = {} self.__BPM_ARRAYS: dict = {} - def create_scalar_aggregator(self) -> DeviceAccessList: - """ - Returns a control system scalar aggretor - """ - return None - def fill_device(self,elements:list[Element]): raise "ElementHolder.fill_device() is not subclassed" + # Magnets + def fill_magnet_array(self,arrayName:str,elementNames:list[str]): a = [] for name in elementNames: @@ -42,7 +37,25 @@ def fill_magnet_array(self,arrayName:str,elementNames:list[str]): a.append(self.get_magnet(name)) except Exception as err: raise Exception(f"MagnetArray {arrayName} : {err}") - self.__MAGNET_ARRAYS[arrayName] = MagnetArray(arrayName,a,self.create_scalar_aggregator()) + self.__MAGNET_ARRAYS[arrayName] = MagnetArray(arrayName,a,self) + + def get_magnet(self,name:str) -> Magnet: + if name not in self.__MAGNETS: + raise Exception(f"Magnet {name} not defined") + return self.__MAGNETS[name] + + def add_magnet(self,name:str,m:Magnet): + self.__MAGNETS[name] = m + + def get_magnets(self,name:str) -> MagnetArray: + if name not in self.__MAGNET_ARRAYS: + raise Exception(f"Magnet array {name} not defined") + return self.__MAGNET_ARRAYS[name] + + def get_all_magnets(self) -> dict: + return self.__MAGNETS + + # BPMs def fill_bpm_array(self,arrayName:str,elementNames:list[str]): a = [] @@ -51,18 +64,22 @@ def fill_bpm_array(self,arrayName:str,elementNames:list[str]): a.append(self.get_bpm(name)) except Exception as err: raise Exception(f"BpmArray {arrayName} : {err}") - hv = self.create_scalar_aggregator() - h = self.create_scalar_aggregator() - v = self.create_scalar_aggregator() - self.__BPM_ARRAYS[arrayName] = BPMArray(arrayName,a,hv,h,v) + self.__BPM_ARRAYS[arrayName] = BPMArray(arrayName,a,self) - def get_magnet(self,name:str) -> Magnet: - if name not in self.__MAGNETS: - raise Exception(f"Magnet {name} not defined") - return self.__MAGNETS[name] - - def add_magnet(self,name:str,m:Magnet): - self.__MAGNETS[name] = m + def get_bpm(self,name:str) -> Element: + if name not in self.__BPMS: + raise Exception(f"BPM {name} not defined") + return self.__BPMS[name] + + def add_bpm(self,name:str,bpm:Element): + self.__BPMS[name] = bpm + + def get_bpms(self,name:str) -> BPMArray: + if name not in self.__BPM_ARRAYS: + raise Exception(f"BPM array {name} not defined") + return self.__BPM_ARRAYS[name] + + # RF def get_rf_plant(self,name:str) -> RFPlant: if name not in self.__RFPLANT: @@ -85,19 +102,6 @@ def get_rf_trasnmitter(self,name:str) -> RFTransmitter: raise Exception(f"RFTransmitter {name} not defined") return self.__RFTRANSMITTER[name] - def get_all_magnets(self) -> dict: - return self.__MAGNETS - def get_magnets(self,name:str) -> MagnetArray: - if name not in self.__MAGNET_ARRAYS: - raise Exception(f"Magnet array {name} not defined") - return self.__MAGNET_ARRAYS[name] - def get_bpm(self,name:str) -> Element: - if name not in self.__BPMS: - raise Exception(f"BPM {name} not defined") - return self.__BPMS[name] - - def add_bpm(self,name:str,bpm:Element): - self.__BPMS[name] = bpm diff --git a/pyaml/control/abstract_impl.py b/pyaml/control/abstract_impl.py index d42841bc..ee6f4b77 100644 --- a/pyaml/control/abstract_impl.py +++ b/pyaml/control/abstract_impl.py @@ -1,11 +1,44 @@ -from numpy import double -from pyaml.control import abstract -from pyaml.magnet.model import MagnetModel -from pyaml.bpm.bpm_model import BPMModel +from ..common import abstract +from ..control.deviceaccesslist import DeviceAccessList +from ..control.deviceaccess import DeviceAccess +from ..magnet.model import MagnetModel +from ..bpm.bpm_model import BPMModel from ..rf.rf_plant import RFPlant from ..rf.rf_transmitter import RFTransmitter +from ..common.abstract_aggregator import ScalarAggregator + +from numpy import double import numpy as np from numpy.typing import NDArray + +#------------------------------------------------------------------------------ + +class CSScalarAggregator(ScalarAggregator): + """ + Control system aggregator for a scalar value + """ + + def __init__(self, devs:DeviceAccessList): + self.__devs = devs + + def add_devices(self, devices:DeviceAccess | list[DeviceAccess] ): + self.__devs.add_devices(devices) + + def set(self, value: NDArray[np.float64]): + self.__devs.set(value) + + def set_and_wait(self, value: NDArray[np.float64]): + self.__devs.set_and_wait(value) + + def get(self) -> NDArray[np.float64]: + return self.__devs.get() + + def readback(self) -> np.array: + return self.__devs.readback() + + def unit(self) -> str: + return self.__devs.unit() + #------------------------------------------------------------------------------ class RWHardwareScalar(abstract.ReadWriteFloatScalar): diff --git a/pyaml/control/controlsystem.py b/pyaml/control/controlsystem.py index adac5c6c..99512029 100644 --- a/pyaml/control/controlsystem.py +++ b/pyaml/control/controlsystem.py @@ -1,15 +1,16 @@ from abc import ABCMeta, abstractmethod -from ..lattice.element_holder import ElementHolder +from ..common.element_holder import ElementHolder from ..lattice.element import Element from ..control.abstract_impl import RWHardwareScalar,RWHardwareArray,RWStrengthScalar,RWStrengthArray from ..bpm.bpm import BPM from ..control.abstract_impl import RWBpmTiltScalar,RWBpmOffsetArray, RBpmArray from ..control.abstract_impl import RWRFFrequencyScalar,RWRFVoltageScalar,RWRFPhaseScalar +from ..control.abstract_impl import CSScalarAggregator +from ..common.abstract_aggregator import ScalarAggregator from ..magnet.magnet import Magnet from ..magnet.cfm_magnet import CombinedFunctionMagnet from ..rf.rf_plant import RFPlant,RWTotalVoltage from ..rf.rf_transmitter import RFTransmitter -from ..control.deviceaccesslist import DeviceAccessList from ..configuration.factory import Factory class ControlSystem(ElementHolder,metaclass=ABCMeta): @@ -25,10 +26,6 @@ def init_cs(self): """Initialize control system""" pass - def create_scalar_aggregator(self) -> DeviceAccessList: - mod = self.scalar_aggregator() - return Factory.build_object({"type":mod}) if mod is not None else None - @abstractmethod def name(self) -> str: """Return control system name (i.e. live)""" @@ -43,7 +40,30 @@ def scalar_aggregator(self) -> str | None: def vector_aggregator(self) -> str | None: """Returns the module name used for handling aggregator of DeviceVectorAccess""" return None + + def create_scalar_aggregator(self) -> ScalarAggregator: + mod = self.scalar_aggregator() + agg = Factory.build_object({"type":mod}) if mod is not None else None + return CSScalarAggregator(agg) + def create_magnet_aggregator(self,magnets:list[Magnet]) -> ScalarAggregator: + agg = self.create_scalar_aggregator() + for m in magnets: + agg.add_devices(m.model.get_devices()) + return agg + + def create_bpm_aggregators(self,bpms:list[BPM]) -> list[ScalarAggregator]: + agg = self.create_scalar_aggregator() + aggh = self.create_scalar_aggregator() + aggv = self.create_scalar_aggregator() + for b in bpms: + devs = b.model.get_pos_devices() + agg.add_devices(devs) + aggh.add_devices(devs[0]) + aggv.add_devices(devs[1]) + return [agg,aggh,aggv] + + def set_energy(self,E:float): """ Sets the energy on magnets belonging to this control system diff --git a/pyaml/lattice/abstract_impl.py b/pyaml/lattice/abstract_impl.py index a78f80b4..862ba0c0 100644 --- a/pyaml/lattice/abstract_impl.py +++ b/pyaml/lattice/abstract_impl.py @@ -1,12 +1,14 @@ -import numpy as np -import at -from scipy.constants import speed_of_light - -from ..control import abstract +from ..common import abstract from ..magnet.model import MagnetModel from .polynom_info import PolynomInfo from ..rf.rf_plant import RFPlant from ..rf.rf_transmitter import RFTransmitter +from ..common.abstract_aggregator import ScalarAggregator + +import numpy as np +import at +from scipy.constants import speed_of_light +from numpy.typing import NDArray # TODO handle serialized magnets @@ -148,6 +150,60 @@ def unit(self) -> list[str]: #------------------------------------------------------------------------------ +class BPMScalarAggregator(ScalarAggregator): + """ + BPM simulator aggregator + """ + + def __init__(self, ring:at.Lattice): + self.__ring = ring + self.__elts = [] + self.__refpts =[] + + def add_elem(self,elem:at.Element): + self.__elts.append(elem) + self.__refpts.append(self.__ring.index(elem)) + + def set(self, value: NDArray[np.float64]): + pass + + def set_and_wait(self, value: NDArray[np.float64]): + pass + + def get(self) -> np.array: + _, orbit = at.find_orbit(self.__ring, refpts=self.__refpts) + return orbit[:, [0, 2]] + + def readback(self) -> np.array: + return self.get() + + def unit(self) -> str: + return 'm' + +#------------------------------------------------------------------------------ + +class BPMVScalarAggregator(BPMScalarAggregator): + """ + Vertical BPM simulator aggregator + """ + + def get(self) -> np.array: + _, orbit = at.find_orbit(self.__ring, refpts=self.__refpts) + return orbit[:, 0] + +#------------------------------------------------------------------------------ + +class BPMHScalarAggregator(BPMScalarAggregator): + """ + Horizontal BPM simulator aggregator + """ + + def get(self) -> np.array: + _, orbit = at.find_orbit(self.__ring, refpts=self.__refpts) + return orbit[:, 2] + +#------------------------------------------------------------------------------ + class RBpmArray(abstract.ReadFloatArray): """ Class providing read access to a BPM position (array) of a simulator. @@ -169,7 +225,7 @@ def get(self) -> np.array: # Gets the unit of the value def unit(self) -> str: - return 'mm' + return 'm' #------------------------------------------------------------------------------ @@ -242,6 +298,8 @@ def set_and_wait(self, value:float): def unit(self) -> str: return 'rad' # Assuming BPM tilts are in rad +#------------------------------------------------------------------------------ + class RWRFVoltageScalar(abstract.ReadWriteFloatScalar): """ Class providing read write access to a cavity voltage of a simulator for a given RF trasnmitter. diff --git a/pyaml/lattice/simulator.py b/pyaml/lattice/simulator.py index 8fa858c9..ddbdc66b 100644 --- a/pyaml/lattice/simulator.py +++ b/pyaml/lattice/simulator.py @@ -14,8 +14,11 @@ from ..lattice.abstract_impl import RWHardwareScalar,RWHardwareArray from ..lattice.abstract_impl import RWStrengthScalar,RWStrengthArray from ..lattice.abstract_impl import RWRFFrequencyScalar,RWRFVoltageScalar,RWRFPhaseScalar -from .element_holder import ElementHolder +from ..common.element_holder import ElementHolder +from ..common.abstract_aggregator import ScalarAggregator from ..lattice.abstract_impl import RWBpmTiltScalar,RWBpmOffsetArray, RBpmArray +from ..lattice.abstract_impl import BPMHScalarAggregator,BPMScalarAggregator,BPMVScalarAggregator + # Define the main class name for this module PYAMLCLASS = "Simulator" @@ -61,6 +64,21 @@ def set_energy(self,E:float): # For current calculation for m in self.get_all_magnets().items(): m[1].set_energy(E) + + def create_magnet_aggregator(self,magnets:list[Magnet]) -> ScalarAggregator: + # No magnet aggregator for simulator + return None + + def create_bpm_aggregators(self,bpms:list[BPM]) -> list[ScalarAggregator]: + agg = BPMScalarAggregator(self.get_lattice()) + aggh = BPMHScalarAggregator(self.get_lattice()) + aggv = BPMVScalarAggregator(self.get_lattice()) + for b in bpms: + e = self.get_at_elems(b)[0] + agg.add_elem(e) + aggh.add_elem(e) + aggv.add_elem(e) + return [agg,aggh,aggv] def fill_device(self,elements:list[Element]): for e in elements: diff --git a/pyaml/magnet/cfm_magnet.py b/pyaml/magnet/cfm_magnet.py index 39befa50..4195e067 100644 --- a/pyaml/magnet/cfm_magnet.py +++ b/pyaml/magnet/cfm_magnet.py @@ -3,8 +3,8 @@ from .model import MagnetModel from ..lattice.element import Element,ElementConfigModel -from ..control import abstract -from ..control.abstract import RWMapper +from ..common import abstract +from ..common.abstract import RWMapper from .hcorrector import HCorrector from .vcorrector import VCorrector diff --git a/pyaml/magnet/magnet.py b/pyaml/magnet/magnet.py index 362c03ac..22021b71 100644 --- a/pyaml/magnet/magnet.py +++ b/pyaml/magnet/magnet.py @@ -1,7 +1,7 @@ from pyaml.lattice.element import Element,ElementConfigModel from .. import PyAMLException from ..control.deviceaccess import DeviceAccess -from ..control import abstract +from ..common import abstract from .model import MagnetModel from scipy.constants import speed_of_light try: diff --git a/pyaml/rf/rf_plant.py b/pyaml/rf/rf_plant.py index 62f6536e..e39f4ee0 100644 --- a/pyaml/rf/rf_plant.py +++ b/pyaml/rf/rf_plant.py @@ -9,7 +9,7 @@ from .. import PyAMLException from ..control.deviceaccess import DeviceAccess from ..lattice.element import Element,ElementConfigModel -from ..control import abstract +from ..common import abstract # Define the main class name for this module PYAMLCLASS = "RFPlant" diff --git a/pyaml/rf/rf_transmitter.py b/pyaml/rf/rf_transmitter.py index a41d87d4..db8ceb5e 100644 --- a/pyaml/rf/rf_transmitter.py +++ b/pyaml/rf/rf_transmitter.py @@ -8,7 +8,7 @@ from .. import PyAMLException from ..control.deviceaccess import DeviceAccess from ..lattice.element import Element,ElementConfigModel -from ..control import abstract +from ..common import abstract # Define the main class name for this module PYAMLCLASS = "RFTransmitter" From f314a541c1ff4388c9fdeebe6e92347ca6da66fb Mon Sep 17 00:00:00 2001 From: PONS Date: Fri, 31 Oct 2025 14:26:50 +0100 Subject: [PATCH 4/5] Fix for live, unit --- pyaml/arrays/bpm_array.py | 8 +- pyaml/control/abstract_impl.py | 10 +- pyaml/lattice/abstract_impl.py | 18 +- tests/config/EBSOrbit.yaml | 1280 ++++++++++++++++---------------- 4 files changed, 657 insertions(+), 659 deletions(-) diff --git a/pyaml/arrays/bpm_array.py b/pyaml/arrays/bpm_array.py index 32ddccaa..54cac1dd 100644 --- a/pyaml/arrays/bpm_array.py +++ b/pyaml/arrays/bpm_array.py @@ -15,8 +15,8 @@ def __init__(self, name:str, bpms:list[BPM]): def get(self) -> np.array: if not self.aggregator: return np.array([b.positions.get() for b in self.__bpms]) - else: - return self.aggregator.get() + else: + return self.aggregator.get().reshape(len(self.__bpms),2) # Gets the unit of the values def unit(self) -> list[str]: @@ -44,7 +44,7 @@ def get(self) -> np.array: # Gets the unit of the values def unit(self) -> list[str]: - return [b.positions.unit()[self.__idx] for b in self.__bpms] + return [b.positions.unit() for b in self.__bpms] # Set the aggregator (Control system only) def set_aggregator(self,agg:DeviceAccessList): @@ -98,7 +98,7 @@ def h(self) -> RWBPMSinglePosition: @property def v(self) -> RWBPMSinglePosition: """ - Give access to bpm H posttions of each bpm of this array + Give access to bpm V posttions of each bpm of this array """ return self.__vpos diff --git a/pyaml/control/abstract_impl.py b/pyaml/control/abstract_impl.py index ee6f4b77..8e55cc77 100644 --- a/pyaml/control/abstract_impl.py +++ b/pyaml/control/abstract_impl.py @@ -162,9 +162,9 @@ def __init__(self, model:BPMModel): def get(self) -> np.array: return self.__model.read_position() - # Gets the unit of the value - def unit(self) -> list[str]: - return [self.__model.__x_pos.unit(), self.__model.__y_pos.unit()] + # Gets the unit of the value Assume that x and y has the same unit + def unit(self) -> str: + return self.__model.get_pos_devices()[0].unit() #------------------------------------------------------------------------------ @@ -186,7 +186,7 @@ def set_and_wait(self, value: NDArray[np.float64]): raise NotImplementedError("Not implemented yet.") # Gets the unit of the value def unit(self) -> str: - return self.__model.__tilt.unit() + return self.__model.get_tilt_device().unit() #------------------------------------------------------------------------------ @@ -208,7 +208,7 @@ def set_and_wait(self, value: NDArray[np.float64]): raise NotImplementedError("Not implemented yet.") # Gets the unit of the value def unit(self) -> str: - return self.__model.__x_offset.unit() + return self.__model.get_offset_devices()[0].unit() #------------------------------------------------------------------------------ diff --git a/pyaml/lattice/abstract_impl.py b/pyaml/lattice/abstract_impl.py index 862ba0c0..3580e7ce 100644 --- a/pyaml/lattice/abstract_impl.py +++ b/pyaml/lattice/abstract_impl.py @@ -156,13 +156,11 @@ class BPMScalarAggregator(ScalarAggregator): """ def __init__(self, ring:at.Lattice): - self.__ring = ring - self.__elts = [] - self.__refpts =[] + self.lattice = ring + self.refpts = [] def add_elem(self,elem:at.Element): - self.__elts.append(elem) - self.__refpts.append(self.__ring.index(elem)) + self.refpts.append(self.lattice.index(elem)) def set(self, value: NDArray[np.float64]): pass @@ -171,8 +169,8 @@ def set_and_wait(self, value: NDArray[np.float64]): pass def get(self) -> np.array: - _, orbit = at.find_orbit(self.__ring, refpts=self.__refpts) - return orbit[:, [0, 2]] + _, orbit = at.find_orbit(self.lattice, refpts=self.refpts) + return orbit[:, [0, 2]].flatten() def readback(self) -> np.array: return self.get() @@ -188,7 +186,7 @@ class BPMVScalarAggregator(BPMScalarAggregator): """ def get(self) -> np.array: - _, orbit = at.find_orbit(self.__ring, refpts=self.__refpts) + _, orbit = at.find_orbit(self.lattice, refpts=self.refpts) return orbit[:, 0] #------------------------------------------------------------------------------ @@ -199,7 +197,7 @@ class BPMHScalarAggregator(BPMScalarAggregator): """ def get(self) -> np.array: - _, orbit = at.find_orbit(self.__ring, refpts=self.__refpts) + _, orbit = at.find_orbit(self.lattice, refpts=self.refpts) return orbit[:, 2] #------------------------------------------------------------------------------ @@ -262,7 +260,7 @@ def set_and_wait(self, value:np.array): # Gets the unit of the value def unit(self) -> str: - return 'mm' # Assuming all offsets are in mm + return 'm' # Assuming all offsets are in m #------------------------------------------------------------------------------ diff --git a/tests/config/EBSOrbit.yaml b/tests/config/EBSOrbit.yaml index b22c8110..04bdf4e1 100644 --- a/tests/config/EBSOrbit.yaml +++ b/tests/config/EBSOrbit.yaml @@ -8543,11 +8543,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/04-01/SA_HPosition + attribute: srdiag/bpm/c04-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/04-01/SA_VPosition + attribute: srdiag/bpm/c04-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C04-02 @@ -8555,11 +8555,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/04-02/SA_HPosition + attribute: srdiag/bpm/c04-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/04-02/SA_VPosition + attribute: srdiag/bpm/c04-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C04-03 @@ -8567,11 +8567,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/04-03/SA_HPosition + attribute: srdiag/bpm/c04-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/04-03/SA_VPosition + attribute: srdiag/bpm/c04-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C04-04 @@ -8579,11 +8579,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/04-04/SA_HPosition + attribute: srdiag/bpm/c04-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/04-04/SA_VPosition + attribute: srdiag/bpm/c04-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C04-05 @@ -8591,11 +8591,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/04-05/SA_HPosition + attribute: srdiag/bpm/c04-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/04-05/SA_VPosition + attribute: srdiag/bpm/c04-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C04-06 @@ -8603,11 +8603,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/04-06/SA_HPosition + attribute: srdiag/bpm/c04-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/04-06/SA_VPosition + attribute: srdiag/bpm/c04-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C04-07 @@ -8615,11 +8615,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/04-07/SA_HPosition + attribute: srdiag/bpm/c04-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/04-07/SA_VPosition + attribute: srdiag/bpm/c04-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C04-08 @@ -8627,11 +8627,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/04-08/SA_HPosition + attribute: srdiag/bpm/c04-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/04-08/SA_VPosition + attribute: srdiag/bpm/c04-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C04-09 @@ -8639,11 +8639,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/04-09/SA_HPosition + attribute: srdiag/bpm/c04-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/04-09/SA_VPosition + attribute: srdiag/bpm/c04-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C04-10 @@ -8651,11 +8651,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/04-10/SA_HPosition + attribute: srdiag/bpm/c04-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/04-10/SA_VPosition + attribute: srdiag/bpm/c04-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C05-01 @@ -8663,11 +8663,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/05-01/SA_HPosition + attribute: srdiag/bpm/c05-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/05-01/SA_VPosition + attribute: srdiag/bpm/c05-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C05-02 @@ -8675,11 +8675,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/05-02/SA_HPosition + attribute: srdiag/bpm/c05-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/05-02/SA_VPosition + attribute: srdiag/bpm/c05-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C05-03 @@ -8687,11 +8687,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/05-03/SA_HPosition + attribute: srdiag/bpm/c05-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/05-03/SA_VPosition + attribute: srdiag/bpm/c05-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C05-04 @@ -8699,11 +8699,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/05-04/SA_HPosition + attribute: srdiag/bpm/c05-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/05-04/SA_VPosition + attribute: srdiag/bpm/c05-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C05-05 @@ -8711,11 +8711,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/05-05/SA_HPosition + attribute: srdiag/bpm/c05-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/05-05/SA_VPosition + attribute: srdiag/bpm/c05-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C05-06 @@ -8723,11 +8723,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/05-06/SA_HPosition + attribute: srdiag/bpm/c05-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/05-06/SA_VPosition + attribute: srdiag/bpm/c05-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C05-07 @@ -8735,11 +8735,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/05-07/SA_HPosition + attribute: srdiag/bpm/c05-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/05-07/SA_VPosition + attribute: srdiag/bpm/c05-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C05-08 @@ -8747,11 +8747,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/05-08/SA_HPosition + attribute: srdiag/bpm/c05-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/05-08/SA_VPosition + attribute: srdiag/bpm/c05-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C05-09 @@ -8759,11 +8759,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/05-09/SA_HPosition + attribute: srdiag/bpm/c05-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/05-09/SA_VPosition + attribute: srdiag/bpm/c05-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C05-10 @@ -8771,11 +8771,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/05-10/SA_HPosition + attribute: srdiag/bpm/c05-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/05-10/SA_VPosition + attribute: srdiag/bpm/c05-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C06-01 @@ -8783,11 +8783,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/06-01/SA_HPosition + attribute: srdiag/bpm/c06-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/06-01/SA_VPosition + attribute: srdiag/bpm/c06-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C06-02 @@ -8795,11 +8795,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/06-02/SA_HPosition + attribute: srdiag/bpm/c06-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/06-02/SA_VPosition + attribute: srdiag/bpm/c06-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C06-03 @@ -8807,11 +8807,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/06-03/SA_HPosition + attribute: srdiag/bpm/c06-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/06-03/SA_VPosition + attribute: srdiag/bpm/c06-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C06-04 @@ -8819,11 +8819,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/06-04/SA_HPosition + attribute: srdiag/bpm/c06-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/06-04/SA_VPosition + attribute: srdiag/bpm/c06-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C06-05 @@ -8831,11 +8831,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/06-05/SA_HPosition + attribute: srdiag/bpm/c06-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/06-05/SA_VPosition + attribute: srdiag/bpm/c06-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C06-06 @@ -8843,11 +8843,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/06-06/SA_HPosition + attribute: srdiag/bpm/c06-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/06-06/SA_VPosition + attribute: srdiag/bpm/c06-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C06-07 @@ -8855,11 +8855,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/06-07/SA_HPosition + attribute: srdiag/bpm/c06-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/06-07/SA_VPosition + attribute: srdiag/bpm/c06-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C06-08 @@ -8867,11 +8867,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/06-08/SA_HPosition + attribute: srdiag/bpm/c06-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/06-08/SA_VPosition + attribute: srdiag/bpm/c06-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C06-09 @@ -8879,11 +8879,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/06-09/SA_HPosition + attribute: srdiag/bpm/c06-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/06-09/SA_VPosition + attribute: srdiag/bpm/c06-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C06-10 @@ -8891,11 +8891,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/06-10/SA_HPosition + attribute: srdiag/bpm/c06-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/06-10/SA_VPosition + attribute: srdiag/bpm/c06-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C07-01 @@ -8903,11 +8903,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/07-01/SA_HPosition + attribute: srdiag/bpm/c07-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/07-01/SA_VPosition + attribute: srdiag/bpm/c07-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C07-02 @@ -8915,11 +8915,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/07-02/SA_HPosition + attribute: srdiag/bpm/c07-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/07-02/SA_VPosition + attribute: srdiag/bpm/c07-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C07-03 @@ -8927,11 +8927,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/07-03/SA_HPosition + attribute: srdiag/bpm/c07-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/07-03/SA_VPosition + attribute: srdiag/bpm/c07-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C07-04 @@ -8939,11 +8939,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/07-04/SA_HPosition + attribute: srdiag/bpm/c07-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/07-04/SA_VPosition + attribute: srdiag/bpm/c07-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C07-05 @@ -8951,11 +8951,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/07-05/SA_HPosition + attribute: srdiag/bpm/c07-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/07-05/SA_VPosition + attribute: srdiag/bpm/c07-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C07-06 @@ -8963,11 +8963,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/07-06/SA_HPosition + attribute: srdiag/bpm/c07-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/07-06/SA_VPosition + attribute: srdiag/bpm/c07-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C07-07 @@ -8975,11 +8975,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/07-07/SA_HPosition + attribute: srdiag/bpm/c07-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/07-07/SA_VPosition + attribute: srdiag/bpm/c07-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C07-08 @@ -8987,11 +8987,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/07-08/SA_HPosition + attribute: srdiag/bpm/c07-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/07-08/SA_VPosition + attribute: srdiag/bpm/c07-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C07-09 @@ -8999,11 +8999,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/07-09/SA_HPosition + attribute: srdiag/bpm/c07-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/07-09/SA_VPosition + attribute: srdiag/bpm/c07-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C07-10 @@ -9011,11 +9011,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/07-10/SA_HPosition + attribute: srdiag/bpm/c07-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/07-10/SA_VPosition + attribute: srdiag/bpm/c07-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C08-01 @@ -9023,11 +9023,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/08-01/SA_HPosition + attribute: srdiag/bpm/c08-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/08-01/SA_VPosition + attribute: srdiag/bpm/c08-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C08-02 @@ -9035,11 +9035,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/08-02/SA_HPosition + attribute: srdiag/bpm/c08-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/08-02/SA_VPosition + attribute: srdiag/bpm/c08-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C08-03 @@ -9047,11 +9047,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/08-03/SA_HPosition + attribute: srdiag/bpm/c08-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/08-03/SA_VPosition + attribute: srdiag/bpm/c08-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C08-04 @@ -9059,11 +9059,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/08-04/SA_HPosition + attribute: srdiag/bpm/c08-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/08-04/SA_VPosition + attribute: srdiag/bpm/c08-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C08-05 @@ -9071,11 +9071,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/08-05/SA_HPosition + attribute: srdiag/bpm/c08-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/08-05/SA_VPosition + attribute: srdiag/bpm/c08-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C08-06 @@ -9083,11 +9083,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/08-06/SA_HPosition + attribute: srdiag/bpm/c08-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/08-06/SA_VPosition + attribute: srdiag/bpm/c08-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C08-07 @@ -9095,11 +9095,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/08-07/SA_HPosition + attribute: srdiag/bpm/c08-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/08-07/SA_VPosition + attribute: srdiag/bpm/c08-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C08-08 @@ -9107,11 +9107,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/08-08/SA_HPosition + attribute: srdiag/bpm/c08-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/08-08/SA_VPosition + attribute: srdiag/bpm/c08-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C08-09 @@ -9119,11 +9119,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/08-09/SA_HPosition + attribute: srdiag/bpm/c08-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/08-09/SA_VPosition + attribute: srdiag/bpm/c08-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C08-10 @@ -9131,11 +9131,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/08-10/SA_HPosition + attribute: srdiag/bpm/c08-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/08-10/SA_VPosition + attribute: srdiag/bpm/c08-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C09-01 @@ -9143,11 +9143,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/09-01/SA_HPosition + attribute: srdiag/bpm/c09-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/09-01/SA_VPosition + attribute: srdiag/bpm/c09-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C09-02 @@ -9155,11 +9155,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/09-02/SA_HPosition + attribute: srdiag/bpm/c09-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/09-02/SA_VPosition + attribute: srdiag/bpm/c09-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C09-03 @@ -9167,11 +9167,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/09-03/SA_HPosition + attribute: srdiag/bpm/c09-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/09-03/SA_VPosition + attribute: srdiag/bpm/c09-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C09-04 @@ -9179,11 +9179,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/09-04/SA_HPosition + attribute: srdiag/bpm/c09-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/09-04/SA_VPosition + attribute: srdiag/bpm/c09-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C09-05 @@ -9191,11 +9191,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/09-05/SA_HPosition + attribute: srdiag/bpm/c09-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/09-05/SA_VPosition + attribute: srdiag/bpm/c09-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C09-06 @@ -9203,11 +9203,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/09-06/SA_HPosition + attribute: srdiag/bpm/c09-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/09-06/SA_VPosition + attribute: srdiag/bpm/c09-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C09-07 @@ -9215,11 +9215,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/09-07/SA_HPosition + attribute: srdiag/bpm/c09-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/09-07/SA_VPosition + attribute: srdiag/bpm/c09-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C09-08 @@ -9227,11 +9227,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/09-08/SA_HPosition + attribute: srdiag/bpm/c09-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/09-08/SA_VPosition + attribute: srdiag/bpm/c09-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C09-09 @@ -9239,11 +9239,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/09-09/SA_HPosition + attribute: srdiag/bpm/c09-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/09-09/SA_VPosition + attribute: srdiag/bpm/c09-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C09-10 @@ -9251,11 +9251,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/09-10/SA_HPosition + attribute: srdiag/bpm/c09-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/09-10/SA_VPosition + attribute: srdiag/bpm/c09-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C10-01 @@ -9263,11 +9263,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/10-01/SA_HPosition + attribute: srdiag/bpm/c10-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/10-01/SA_VPosition + attribute: srdiag/bpm/c10-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C10-02 @@ -9275,11 +9275,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/10-02/SA_HPosition + attribute: srdiag/bpm/c10-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/10-02/SA_VPosition + attribute: srdiag/bpm/c10-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C10-03 @@ -9287,11 +9287,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/10-03/SA_HPosition + attribute: srdiag/bpm/c10-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/10-03/SA_VPosition + attribute: srdiag/bpm/c10-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C10-04 @@ -9299,11 +9299,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/10-04/SA_HPosition + attribute: srdiag/bpm/c10-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/10-04/SA_VPosition + attribute: srdiag/bpm/c10-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C10-05 @@ -9311,11 +9311,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/10-05/SA_HPosition + attribute: srdiag/bpm/c10-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/10-05/SA_VPosition + attribute: srdiag/bpm/c10-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C10-06 @@ -9323,11 +9323,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/10-06/SA_HPosition + attribute: srdiag/bpm/c10-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/10-06/SA_VPosition + attribute: srdiag/bpm/c10-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C10-07 @@ -9335,11 +9335,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/10-07/SA_HPosition + attribute: srdiag/bpm/c10-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/10-07/SA_VPosition + attribute: srdiag/bpm/c10-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C10-08 @@ -9347,11 +9347,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/10-08/SA_HPosition + attribute: srdiag/bpm/c10-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/10-08/SA_VPosition + attribute: srdiag/bpm/c10-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C10-09 @@ -9359,11 +9359,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/10-09/SA_HPosition + attribute: srdiag/bpm/c10-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/10-09/SA_VPosition + attribute: srdiag/bpm/c10-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C10-10 @@ -9371,11 +9371,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/10-10/SA_HPosition + attribute: srdiag/bpm/c10-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/10-10/SA_VPosition + attribute: srdiag/bpm/c10-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C11-01 @@ -9383,11 +9383,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/11-01/SA_HPosition + attribute: srdiag/bpm/c11-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/11-01/SA_VPosition + attribute: srdiag/bpm/c11-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C11-02 @@ -9395,11 +9395,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/11-02/SA_HPosition + attribute: srdiag/bpm/c11-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/11-02/SA_VPosition + attribute: srdiag/bpm/c11-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C11-03 @@ -9407,11 +9407,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/11-03/SA_HPosition + attribute: srdiag/bpm/c11-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/11-03/SA_VPosition + attribute: srdiag/bpm/c11-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C11-04 @@ -9419,11 +9419,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/11-04/SA_HPosition + attribute: srdiag/bpm/c11-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/11-04/SA_VPosition + attribute: srdiag/bpm/c11-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C11-05 @@ -9431,11 +9431,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/11-05/SA_HPosition + attribute: srdiag/bpm/c11-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/11-05/SA_VPosition + attribute: srdiag/bpm/c11-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C11-06 @@ -9443,11 +9443,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/11-06/SA_HPosition + attribute: srdiag/bpm/c11-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/11-06/SA_VPosition + attribute: srdiag/bpm/c11-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C11-07 @@ -9455,11 +9455,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/11-07/SA_HPosition + attribute: srdiag/bpm/c11-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/11-07/SA_VPosition + attribute: srdiag/bpm/c11-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C11-08 @@ -9467,11 +9467,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/11-08/SA_HPosition + attribute: srdiag/bpm/c11-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/11-08/SA_VPosition + attribute: srdiag/bpm/c11-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C11-09 @@ -9479,11 +9479,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/11-09/SA_HPosition + attribute: srdiag/bpm/c11-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/11-09/SA_VPosition + attribute: srdiag/bpm/c11-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C11-10 @@ -9491,11 +9491,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/11-10/SA_HPosition + attribute: srdiag/bpm/c11-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/11-10/SA_VPosition + attribute: srdiag/bpm/c11-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C12-01 @@ -9503,11 +9503,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/12-01/SA_HPosition + attribute: srdiag/bpm/c12-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/12-01/SA_VPosition + attribute: srdiag/bpm/c12-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C12-02 @@ -9515,11 +9515,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/12-02/SA_HPosition + attribute: srdiag/bpm/c12-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/12-02/SA_VPosition + attribute: srdiag/bpm/c12-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C12-03 @@ -9527,11 +9527,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/12-03/SA_HPosition + attribute: srdiag/bpm/c12-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/12-03/SA_VPosition + attribute: srdiag/bpm/c12-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C12-04 @@ -9539,11 +9539,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/12-04/SA_HPosition + attribute: srdiag/bpm/c12-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/12-04/SA_VPosition + attribute: srdiag/bpm/c12-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C12-05 @@ -9551,11 +9551,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/12-05/SA_HPosition + attribute: srdiag/bpm/c12-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/12-05/SA_VPosition + attribute: srdiag/bpm/c12-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C12-06 @@ -9563,11 +9563,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/12-06/SA_HPosition + attribute: srdiag/bpm/c12-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/12-06/SA_VPosition + attribute: srdiag/bpm/c12-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C12-07 @@ -9575,11 +9575,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/12-07/SA_HPosition + attribute: srdiag/bpm/c12-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/12-07/SA_VPosition + attribute: srdiag/bpm/c12-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C12-08 @@ -9587,11 +9587,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/12-08/SA_HPosition + attribute: srdiag/bpm/c12-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/12-08/SA_VPosition + attribute: srdiag/bpm/c12-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C12-09 @@ -9599,11 +9599,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/12-09/SA_HPosition + attribute: srdiag/bpm/c12-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/12-09/SA_VPosition + attribute: srdiag/bpm/c12-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C12-10 @@ -9611,11 +9611,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/12-10/SA_HPosition + attribute: srdiag/bpm/c12-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/12-10/SA_VPosition + attribute: srdiag/bpm/c12-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C13-01 @@ -9623,11 +9623,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/13-01/SA_HPosition + attribute: srdiag/bpm/c13-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/13-01/SA_VPosition + attribute: srdiag/bpm/c13-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C13-02 @@ -9635,11 +9635,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/13-02/SA_HPosition + attribute: srdiag/bpm/c13-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/13-02/SA_VPosition + attribute: srdiag/bpm/c13-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C13-03 @@ -9647,11 +9647,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/13-03/SA_HPosition + attribute: srdiag/bpm/c13-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/13-03/SA_VPosition + attribute: srdiag/bpm/c13-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C13-04 @@ -9659,11 +9659,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/13-04/SA_HPosition + attribute: srdiag/bpm/c13-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/13-04/SA_VPosition + attribute: srdiag/bpm/c13-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C13-05 @@ -9671,11 +9671,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/13-05/SA_HPosition + attribute: srdiag/bpm/c13-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/13-05/SA_VPosition + attribute: srdiag/bpm/c13-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C13-06 @@ -9683,11 +9683,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/13-06/SA_HPosition + attribute: srdiag/bpm/c13-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/13-06/SA_VPosition + attribute: srdiag/bpm/c13-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C13-07 @@ -9695,11 +9695,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/13-07/SA_HPosition + attribute: srdiag/bpm/c13-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/13-07/SA_VPosition + attribute: srdiag/bpm/c13-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C13-08 @@ -9707,11 +9707,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/13-08/SA_HPosition + attribute: srdiag/bpm/c13-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/13-08/SA_VPosition + attribute: srdiag/bpm/c13-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C13-09 @@ -9719,11 +9719,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/13-09/SA_HPosition + attribute: srdiag/bpm/c13-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/13-09/SA_VPosition + attribute: srdiag/bpm/c13-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C13-10 @@ -9731,11 +9731,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/13-10/SA_HPosition + attribute: srdiag/bpm/c13-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/13-10/SA_VPosition + attribute: srdiag/bpm/c13-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C14-01 @@ -9743,11 +9743,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/14-01/SA_HPosition + attribute: srdiag/bpm/c14-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/14-01/SA_VPosition + attribute: srdiag/bpm/c14-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C14-02 @@ -9755,11 +9755,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/14-02/SA_HPosition + attribute: srdiag/bpm/c14-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/14-02/SA_VPosition + attribute: srdiag/bpm/c14-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C14-03 @@ -9767,11 +9767,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/14-03/SA_HPosition + attribute: srdiag/bpm/c14-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/14-03/SA_VPosition + attribute: srdiag/bpm/c14-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C14-04 @@ -9779,11 +9779,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/14-04/SA_HPosition + attribute: srdiag/bpm/c14-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/14-04/SA_VPosition + attribute: srdiag/bpm/c14-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C14-05 @@ -9791,11 +9791,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/14-05/SA_HPosition + attribute: srdiag/bpm/c14-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/14-05/SA_VPosition + attribute: srdiag/bpm/c14-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C14-06 @@ -9803,11 +9803,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/14-06/SA_HPosition + attribute: srdiag/bpm/c14-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/14-06/SA_VPosition + attribute: srdiag/bpm/c14-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C14-07 @@ -9815,11 +9815,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/14-07/SA_HPosition + attribute: srdiag/bpm/c14-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/14-07/SA_VPosition + attribute: srdiag/bpm/c14-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C14-08 @@ -9827,11 +9827,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/14-08/SA_HPosition + attribute: srdiag/bpm/c14-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/14-08/SA_VPosition + attribute: srdiag/bpm/c14-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C14-09 @@ -9839,11 +9839,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/14-09/SA_HPosition + attribute: srdiag/bpm/c14-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/14-09/SA_VPosition + attribute: srdiag/bpm/c14-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C14-10 @@ -9851,11 +9851,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/14-10/SA_HPosition + attribute: srdiag/bpm/c14-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/14-10/SA_VPosition + attribute: srdiag/bpm/c14-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C15-01 @@ -9863,11 +9863,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/15-01/SA_HPosition + attribute: srdiag/bpm/c15-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/15-01/SA_VPosition + attribute: srdiag/bpm/c15-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C15-02 @@ -9875,11 +9875,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/15-02/SA_HPosition + attribute: srdiag/bpm/c15-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/15-02/SA_VPosition + attribute: srdiag/bpm/c15-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C15-03 @@ -9887,11 +9887,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/15-03/SA_HPosition + attribute: srdiag/bpm/c15-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/15-03/SA_VPosition + attribute: srdiag/bpm/c15-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C15-04 @@ -9899,11 +9899,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/15-04/SA_HPosition + attribute: srdiag/bpm/c15-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/15-04/SA_VPosition + attribute: srdiag/bpm/c15-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C15-05 @@ -9911,11 +9911,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/15-05/SA_HPosition + attribute: srdiag/bpm/c15-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/15-05/SA_VPosition + attribute: srdiag/bpm/c15-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C15-06 @@ -9923,11 +9923,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/15-06/SA_HPosition + attribute: srdiag/bpm/c15-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/15-06/SA_VPosition + attribute: srdiag/bpm/c15-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C15-07 @@ -9935,11 +9935,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/15-07/SA_HPosition + attribute: srdiag/bpm/c15-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/15-07/SA_VPosition + attribute: srdiag/bpm/c15-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C15-08 @@ -9947,11 +9947,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/15-08/SA_HPosition + attribute: srdiag/bpm/c15-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/15-08/SA_VPosition + attribute: srdiag/bpm/c15-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C15-09 @@ -9959,11 +9959,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/15-09/SA_HPosition + attribute: srdiag/bpm/c15-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/15-09/SA_VPosition + attribute: srdiag/bpm/c15-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C15-10 @@ -9971,11 +9971,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/15-10/SA_HPosition + attribute: srdiag/bpm/c15-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/15-10/SA_VPosition + attribute: srdiag/bpm/c15-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C16-01 @@ -9983,11 +9983,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/16-01/SA_HPosition + attribute: srdiag/bpm/c16-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/16-01/SA_VPosition + attribute: srdiag/bpm/c16-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C16-02 @@ -9995,11 +9995,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/16-02/SA_HPosition + attribute: srdiag/bpm/c16-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/16-02/SA_VPosition + attribute: srdiag/bpm/c16-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C16-03 @@ -10007,11 +10007,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/16-03/SA_HPosition + attribute: srdiag/bpm/c16-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/16-03/SA_VPosition + attribute: srdiag/bpm/c16-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C16-04 @@ -10019,11 +10019,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/16-04/SA_HPosition + attribute: srdiag/bpm/c16-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/16-04/SA_VPosition + attribute: srdiag/bpm/c16-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C16-05 @@ -10031,11 +10031,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/16-05/SA_HPosition + attribute: srdiag/bpm/c16-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/16-05/SA_VPosition + attribute: srdiag/bpm/c16-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C16-06 @@ -10043,11 +10043,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/16-06/SA_HPosition + attribute: srdiag/bpm/c16-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/16-06/SA_VPosition + attribute: srdiag/bpm/c16-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C16-07 @@ -10055,11 +10055,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/16-07/SA_HPosition + attribute: srdiag/bpm/c16-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/16-07/SA_VPosition + attribute: srdiag/bpm/c16-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C16-08 @@ -10067,11 +10067,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/16-08/SA_HPosition + attribute: srdiag/bpm/c16-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/16-08/SA_VPosition + attribute: srdiag/bpm/c16-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C16-09 @@ -10079,11 +10079,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/16-09/SA_HPosition + attribute: srdiag/bpm/c16-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/16-09/SA_VPosition + attribute: srdiag/bpm/c16-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C16-10 @@ -10091,11 +10091,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/16-10/SA_HPosition + attribute: srdiag/bpm/c16-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/16-10/SA_VPosition + attribute: srdiag/bpm/c16-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C17-01 @@ -10103,11 +10103,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/17-01/SA_HPosition + attribute: srdiag/bpm/c17-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/17-01/SA_VPosition + attribute: srdiag/bpm/c17-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C17-02 @@ -10115,11 +10115,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/17-02/SA_HPosition + attribute: srdiag/bpm/c17-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/17-02/SA_VPosition + attribute: srdiag/bpm/c17-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C17-03 @@ -10127,11 +10127,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/17-03/SA_HPosition + attribute: srdiag/bpm/c17-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/17-03/SA_VPosition + attribute: srdiag/bpm/c17-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C17-04 @@ -10139,11 +10139,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/17-04/SA_HPosition + attribute: srdiag/bpm/c17-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/17-04/SA_VPosition + attribute: srdiag/bpm/c17-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C17-05 @@ -10151,11 +10151,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/17-05/SA_HPosition + attribute: srdiag/bpm/c17-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/17-05/SA_VPosition + attribute: srdiag/bpm/c17-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C17-06 @@ -10163,11 +10163,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/17-06/SA_HPosition + attribute: srdiag/bpm/c17-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/17-06/SA_VPosition + attribute: srdiag/bpm/c17-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C17-07 @@ -10175,11 +10175,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/17-07/SA_HPosition + attribute: srdiag/bpm/c17-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/17-07/SA_VPosition + attribute: srdiag/bpm/c17-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C17-08 @@ -10187,11 +10187,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/17-08/SA_HPosition + attribute: srdiag/bpm/c17-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/17-08/SA_VPosition + attribute: srdiag/bpm/c17-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C17-09 @@ -10199,11 +10199,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/17-09/SA_HPosition + attribute: srdiag/bpm/c17-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/17-09/SA_VPosition + attribute: srdiag/bpm/c17-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C17-10 @@ -10211,11 +10211,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/17-10/SA_HPosition + attribute: srdiag/bpm/c17-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/17-10/SA_VPosition + attribute: srdiag/bpm/c17-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C18-01 @@ -10223,11 +10223,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/18-01/SA_HPosition + attribute: srdiag/bpm/c18-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/18-01/SA_VPosition + attribute: srdiag/bpm/c18-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C18-02 @@ -10235,11 +10235,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/18-02/SA_HPosition + attribute: srdiag/bpm/c18-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/18-02/SA_VPosition + attribute: srdiag/bpm/c18-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C18-03 @@ -10247,11 +10247,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/18-03/SA_HPosition + attribute: srdiag/bpm/c18-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/18-03/SA_VPosition + attribute: srdiag/bpm/c18-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C18-04 @@ -10259,11 +10259,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/18-04/SA_HPosition + attribute: srdiag/bpm/c18-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/18-04/SA_VPosition + attribute: srdiag/bpm/c18-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C18-05 @@ -10271,11 +10271,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/18-05/SA_HPosition + attribute: srdiag/bpm/c18-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/18-05/SA_VPosition + attribute: srdiag/bpm/c18-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C18-06 @@ -10283,11 +10283,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/18-06/SA_HPosition + attribute: srdiag/bpm/c18-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/18-06/SA_VPosition + attribute: srdiag/bpm/c18-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C18-07 @@ -10295,11 +10295,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/18-07/SA_HPosition + attribute: srdiag/bpm/c18-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/18-07/SA_VPosition + attribute: srdiag/bpm/c18-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C18-08 @@ -10307,11 +10307,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/18-08/SA_HPosition + attribute: srdiag/bpm/c18-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/18-08/SA_VPosition + attribute: srdiag/bpm/c18-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C18-09 @@ -10319,11 +10319,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/18-09/SA_HPosition + attribute: srdiag/bpm/c18-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/18-09/SA_VPosition + attribute: srdiag/bpm/c18-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C18-10 @@ -10331,11 +10331,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/18-10/SA_HPosition + attribute: srdiag/bpm/c18-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/18-10/SA_VPosition + attribute: srdiag/bpm/c18-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C19-01 @@ -10343,11 +10343,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/19-01/SA_HPosition + attribute: srdiag/bpm/c19-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/19-01/SA_VPosition + attribute: srdiag/bpm/c19-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C19-02 @@ -10355,11 +10355,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/19-02/SA_HPosition + attribute: srdiag/bpm/c19-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/19-02/SA_VPosition + attribute: srdiag/bpm/c19-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C19-03 @@ -10367,11 +10367,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/19-03/SA_HPosition + attribute: srdiag/bpm/c19-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/19-03/SA_VPosition + attribute: srdiag/bpm/c19-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C19-04 @@ -10379,11 +10379,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/19-04/SA_HPosition + attribute: srdiag/bpm/c19-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/19-04/SA_VPosition + attribute: srdiag/bpm/c19-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C19-05 @@ -10391,11 +10391,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/19-05/SA_HPosition + attribute: srdiag/bpm/c19-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/19-05/SA_VPosition + attribute: srdiag/bpm/c19-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C19-06 @@ -10403,11 +10403,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/19-06/SA_HPosition + attribute: srdiag/bpm/c19-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/19-06/SA_VPosition + attribute: srdiag/bpm/c19-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C19-07 @@ -10415,11 +10415,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/19-07/SA_HPosition + attribute: srdiag/bpm/c19-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/19-07/SA_VPosition + attribute: srdiag/bpm/c19-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C19-08 @@ -10427,11 +10427,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/19-08/SA_HPosition + attribute: srdiag/bpm/c19-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/19-08/SA_VPosition + attribute: srdiag/bpm/c19-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C19-09 @@ -10439,11 +10439,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/19-09/SA_HPosition + attribute: srdiag/bpm/c19-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/19-09/SA_VPosition + attribute: srdiag/bpm/c19-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C19-10 @@ -10451,11 +10451,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/19-10/SA_HPosition + attribute: srdiag/bpm/c19-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/19-10/SA_VPosition + attribute: srdiag/bpm/c19-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C20-01 @@ -10463,11 +10463,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/20-01/SA_HPosition + attribute: srdiag/bpm/c20-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/20-01/SA_VPosition + attribute: srdiag/bpm/c20-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C20-02 @@ -10475,11 +10475,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/20-02/SA_HPosition + attribute: srdiag/bpm/c20-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/20-02/SA_VPosition + attribute: srdiag/bpm/c20-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C20-03 @@ -10487,11 +10487,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/20-03/SA_HPosition + attribute: srdiag/bpm/c20-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/20-03/SA_VPosition + attribute: srdiag/bpm/c20-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C20-04 @@ -10499,11 +10499,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/20-04/SA_HPosition + attribute: srdiag/bpm/c20-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/20-04/SA_VPosition + attribute: srdiag/bpm/c20-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C20-05 @@ -10511,11 +10511,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/20-05/SA_HPosition + attribute: srdiag/bpm/c20-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/20-05/SA_VPosition + attribute: srdiag/bpm/c20-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C20-06 @@ -10523,11 +10523,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/20-06/SA_HPosition + attribute: srdiag/bpm/c20-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/20-06/SA_VPosition + attribute: srdiag/bpm/c20-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C20-07 @@ -10535,11 +10535,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/20-07/SA_HPosition + attribute: srdiag/bpm/c20-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/20-07/SA_VPosition + attribute: srdiag/bpm/c20-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C20-08 @@ -10547,11 +10547,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/20-08/SA_HPosition + attribute: srdiag/bpm/c20-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/20-08/SA_VPosition + attribute: srdiag/bpm/c20-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C20-09 @@ -10559,11 +10559,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/20-09/SA_HPosition + attribute: srdiag/bpm/c20-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/20-09/SA_VPosition + attribute: srdiag/bpm/c20-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C20-10 @@ -10571,11 +10571,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/20-10/SA_HPosition + attribute: srdiag/bpm/c20-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/20-10/SA_VPosition + attribute: srdiag/bpm/c20-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C21-01 @@ -10583,11 +10583,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/21-01/SA_HPosition + attribute: srdiag/bpm/c21-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/21-01/SA_VPosition + attribute: srdiag/bpm/c21-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C21-02 @@ -10595,11 +10595,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/21-02/SA_HPosition + attribute: srdiag/bpm/c21-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/21-02/SA_VPosition + attribute: srdiag/bpm/c21-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C21-03 @@ -10607,11 +10607,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/21-03/SA_HPosition + attribute: srdiag/bpm/c21-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/21-03/SA_VPosition + attribute: srdiag/bpm/c21-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C21-04 @@ -10619,11 +10619,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/21-04/SA_HPosition + attribute: srdiag/bpm/c21-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/21-04/SA_VPosition + attribute: srdiag/bpm/c21-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C21-05 @@ -10631,11 +10631,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/21-05/SA_HPosition + attribute: srdiag/bpm/c21-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/21-05/SA_VPosition + attribute: srdiag/bpm/c21-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C21-06 @@ -10643,11 +10643,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/21-06/SA_HPosition + attribute: srdiag/bpm/c21-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/21-06/SA_VPosition + attribute: srdiag/bpm/c21-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C21-07 @@ -10655,11 +10655,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/21-07/SA_HPosition + attribute: srdiag/bpm/c21-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/21-07/SA_VPosition + attribute: srdiag/bpm/c21-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C21-08 @@ -10667,11 +10667,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/21-08/SA_HPosition + attribute: srdiag/bpm/c21-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/21-08/SA_VPosition + attribute: srdiag/bpm/c21-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C21-09 @@ -10679,11 +10679,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/21-09/SA_HPosition + attribute: srdiag/bpm/c21-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/21-09/SA_VPosition + attribute: srdiag/bpm/c21-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C21-10 @@ -10691,11 +10691,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/21-10/SA_HPosition + attribute: srdiag/bpm/c21-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/21-10/SA_VPosition + attribute: srdiag/bpm/c21-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C22-01 @@ -10703,11 +10703,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/22-01/SA_HPosition + attribute: srdiag/bpm/c22-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/22-01/SA_VPosition + attribute: srdiag/bpm/c22-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C22-02 @@ -10715,11 +10715,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/22-02/SA_HPosition + attribute: srdiag/bpm/c22-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/22-02/SA_VPosition + attribute: srdiag/bpm/c22-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C22-03 @@ -10727,11 +10727,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/22-03/SA_HPosition + attribute: srdiag/bpm/c22-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/22-03/SA_VPosition + attribute: srdiag/bpm/c22-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C22-04 @@ -10739,11 +10739,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/22-04/SA_HPosition + attribute: srdiag/bpm/c22-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/22-04/SA_VPosition + attribute: srdiag/bpm/c22-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C22-05 @@ -10751,11 +10751,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/22-05/SA_HPosition + attribute: srdiag/bpm/c22-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/22-05/SA_VPosition + attribute: srdiag/bpm/c22-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C22-06 @@ -10763,11 +10763,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/22-06/SA_HPosition + attribute: srdiag/bpm/c22-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/22-06/SA_VPosition + attribute: srdiag/bpm/c22-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C22-07 @@ -10775,11 +10775,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/22-07/SA_HPosition + attribute: srdiag/bpm/c22-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/22-07/SA_VPosition + attribute: srdiag/bpm/c22-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C22-08 @@ -10787,11 +10787,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/22-08/SA_HPosition + attribute: srdiag/bpm/c22-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/22-08/SA_VPosition + attribute: srdiag/bpm/c22-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C22-09 @@ -10799,11 +10799,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/22-09/SA_HPosition + attribute: srdiag/bpm/c22-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/22-09/SA_VPosition + attribute: srdiag/bpm/c22-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C22-10 @@ -10811,11 +10811,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/22-10/SA_HPosition + attribute: srdiag/bpm/c22-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/22-10/SA_VPosition + attribute: srdiag/bpm/c22-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C23-01 @@ -10823,11 +10823,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/23-01/SA_HPosition + attribute: srdiag/bpm/c23-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/23-01/SA_VPosition + attribute: srdiag/bpm/c23-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C23-02 @@ -10835,11 +10835,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/23-02/SA_HPosition + attribute: srdiag/bpm/c23-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/23-02/SA_VPosition + attribute: srdiag/bpm/c23-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C23-03 @@ -10847,11 +10847,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/23-03/SA_HPosition + attribute: srdiag/bpm/c23-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/23-03/SA_VPosition + attribute: srdiag/bpm/c23-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C23-04 @@ -10859,11 +10859,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/23-04/SA_HPosition + attribute: srdiag/bpm/c23-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/23-04/SA_VPosition + attribute: srdiag/bpm/c23-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C23-05 @@ -10871,11 +10871,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/23-05/SA_HPosition + attribute: srdiag/bpm/c23-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/23-05/SA_VPosition + attribute: srdiag/bpm/c23-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C23-06 @@ -10883,11 +10883,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/23-06/SA_HPosition + attribute: srdiag/bpm/c23-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/23-06/SA_VPosition + attribute: srdiag/bpm/c23-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C23-07 @@ -10895,11 +10895,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/23-07/SA_HPosition + attribute: srdiag/bpm/c23-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/23-07/SA_VPosition + attribute: srdiag/bpm/c23-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C23-08 @@ -10907,11 +10907,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/23-08/SA_HPosition + attribute: srdiag/bpm/c23-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/23-08/SA_VPosition + attribute: srdiag/bpm/c23-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C23-09 @@ -10919,11 +10919,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/23-09/SA_HPosition + attribute: srdiag/bpm/c23-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/23-09/SA_VPosition + attribute: srdiag/bpm/c23-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C23-10 @@ -10931,11 +10931,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/23-10/SA_HPosition + attribute: srdiag/bpm/c23-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/23-10/SA_VPosition + attribute: srdiag/bpm/c23-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C24-01 @@ -10943,11 +10943,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/24-01/SA_HPosition + attribute: srdiag/bpm/c24-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/24-01/SA_VPosition + attribute: srdiag/bpm/c24-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C24-02 @@ -10955,11 +10955,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/24-02/SA_HPosition + attribute: srdiag/bpm/c24-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/24-02/SA_VPosition + attribute: srdiag/bpm/c24-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C24-03 @@ -10967,11 +10967,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/24-03/SA_HPosition + attribute: srdiag/bpm/c24-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/24-03/SA_VPosition + attribute: srdiag/bpm/c24-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C24-04 @@ -10979,11 +10979,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/24-04/SA_HPosition + attribute: srdiag/bpm/c24-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/24-04/SA_VPosition + attribute: srdiag/bpm/c24-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C24-05 @@ -10991,11 +10991,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/24-05/SA_HPosition + attribute: srdiag/bpm/c24-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/24-05/SA_VPosition + attribute: srdiag/bpm/c24-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C24-06 @@ -11003,11 +11003,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/24-06/SA_HPosition + attribute: srdiag/bpm/c24-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/24-06/SA_VPosition + attribute: srdiag/bpm/c24-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C24-07 @@ -11015,11 +11015,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/24-07/SA_HPosition + attribute: srdiag/bpm/c24-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/24-07/SA_VPosition + attribute: srdiag/bpm/c24-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C24-08 @@ -11027,11 +11027,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/24-08/SA_HPosition + attribute: srdiag/bpm/c24-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/24-08/SA_VPosition + attribute: srdiag/bpm/c24-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C24-09 @@ -11039,11 +11039,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/24-09/SA_HPosition + attribute: srdiag/bpm/c24-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/24-09/SA_VPosition + attribute: srdiag/bpm/c24-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C24-10 @@ -11051,11 +11051,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/24-10/SA_HPosition + attribute: srdiag/bpm/c24-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/24-10/SA_VPosition + attribute: srdiag/bpm/c24-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C25-01 @@ -11063,11 +11063,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/25-01/SA_HPosition + attribute: srdiag/bpm/c25-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/25-01/SA_VPosition + attribute: srdiag/bpm/c25-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C25-02 @@ -11075,11 +11075,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/25-02/SA_HPosition + attribute: srdiag/bpm/c25-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/25-02/SA_VPosition + attribute: srdiag/bpm/c25-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C25-03 @@ -11087,11 +11087,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/25-03/SA_HPosition + attribute: srdiag/bpm/c25-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/25-03/SA_VPosition + attribute: srdiag/bpm/c25-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C25-04 @@ -11099,11 +11099,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/25-04/SA_HPosition + attribute: srdiag/bpm/c25-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/25-04/SA_VPosition + attribute: srdiag/bpm/c25-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C25-05 @@ -11111,11 +11111,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/25-05/SA_HPosition + attribute: srdiag/bpm/c25-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/25-05/SA_VPosition + attribute: srdiag/bpm/c25-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C25-06 @@ -11123,11 +11123,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/25-06/SA_HPosition + attribute: srdiag/bpm/c25-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/25-06/SA_VPosition + attribute: srdiag/bpm/c25-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C25-07 @@ -11135,11 +11135,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/25-07/SA_HPosition + attribute: srdiag/bpm/c25-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/25-07/SA_VPosition + attribute: srdiag/bpm/c25-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C25-08 @@ -11147,11 +11147,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/25-08/SA_HPosition + attribute: srdiag/bpm/c25-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/25-08/SA_VPosition + attribute: srdiag/bpm/c25-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C25-09 @@ -11159,11 +11159,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/25-09/SA_HPosition + attribute: srdiag/bpm/c25-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/25-09/SA_VPosition + attribute: srdiag/bpm/c25-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C25-10 @@ -11171,11 +11171,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/25-10/SA_HPosition + attribute: srdiag/bpm/c25-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/25-10/SA_VPosition + attribute: srdiag/bpm/c25-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C26-01 @@ -11183,11 +11183,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/26-01/SA_HPosition + attribute: srdiag/bpm/c26-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/26-01/SA_VPosition + attribute: srdiag/bpm/c26-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C26-02 @@ -11195,11 +11195,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/26-02/SA_HPosition + attribute: srdiag/bpm/c26-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/26-02/SA_VPosition + attribute: srdiag/bpm/c26-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C26-03 @@ -11207,11 +11207,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/26-03/SA_HPosition + attribute: srdiag/bpm/c26-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/26-03/SA_VPosition + attribute: srdiag/bpm/c26-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C26-04 @@ -11219,11 +11219,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/26-04/SA_HPosition + attribute: srdiag/bpm/c26-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/26-04/SA_VPosition + attribute: srdiag/bpm/c26-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C26-05 @@ -11231,11 +11231,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/26-05/SA_HPosition + attribute: srdiag/bpm/c26-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/26-05/SA_VPosition + attribute: srdiag/bpm/c26-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C26-06 @@ -11243,11 +11243,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/26-06/SA_HPosition + attribute: srdiag/bpm/c26-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/26-06/SA_VPosition + attribute: srdiag/bpm/c26-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C26-07 @@ -11255,11 +11255,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/26-07/SA_HPosition + attribute: srdiag/bpm/c26-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/26-07/SA_VPosition + attribute: srdiag/bpm/c26-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C26-08 @@ -11267,11 +11267,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/26-08/SA_HPosition + attribute: srdiag/bpm/c26-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/26-08/SA_VPosition + attribute: srdiag/bpm/c26-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C26-09 @@ -11279,11 +11279,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/26-09/SA_HPosition + attribute: srdiag/bpm/c26-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/26-09/SA_VPosition + attribute: srdiag/bpm/c26-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C26-10 @@ -11291,11 +11291,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/26-10/SA_HPosition + attribute: srdiag/bpm/c26-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/26-10/SA_VPosition + attribute: srdiag/bpm/c26-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C27-01 @@ -11303,11 +11303,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/27-01/SA_HPosition + attribute: srdiag/bpm/c27-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/27-01/SA_VPosition + attribute: srdiag/bpm/c27-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C27-02 @@ -11315,11 +11315,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/27-02/SA_HPosition + attribute: srdiag/bpm/c27-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/27-02/SA_VPosition + attribute: srdiag/bpm/c27-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C27-03 @@ -11327,11 +11327,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/27-03/SA_HPosition + attribute: srdiag/bpm/c27-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/27-03/SA_VPosition + attribute: srdiag/bpm/c27-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C27-04 @@ -11339,11 +11339,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/27-04/SA_HPosition + attribute: srdiag/bpm/c27-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/27-04/SA_VPosition + attribute: srdiag/bpm/c27-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C27-05 @@ -11351,11 +11351,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/27-05/SA_HPosition + attribute: srdiag/bpm/c27-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/27-05/SA_VPosition + attribute: srdiag/bpm/c27-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C27-06 @@ -11363,11 +11363,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/27-06/SA_HPosition + attribute: srdiag/bpm/c27-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/27-06/SA_VPosition + attribute: srdiag/bpm/c27-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C27-07 @@ -11375,11 +11375,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/27-07/SA_HPosition + attribute: srdiag/bpm/c27-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/27-07/SA_VPosition + attribute: srdiag/bpm/c27-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C27-08 @@ -11387,11 +11387,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/27-08/SA_HPosition + attribute: srdiag/bpm/c27-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/27-08/SA_VPosition + attribute: srdiag/bpm/c27-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C27-09 @@ -11399,11 +11399,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/27-09/SA_HPosition + attribute: srdiag/bpm/c27-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/27-09/SA_VPosition + attribute: srdiag/bpm/c27-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C27-10 @@ -11411,11 +11411,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/27-10/SA_HPosition + attribute: srdiag/bpm/c27-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/27-10/SA_VPosition + attribute: srdiag/bpm/c27-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C28-01 @@ -11423,11 +11423,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/28-01/SA_HPosition + attribute: srdiag/bpm/c28-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/28-01/SA_VPosition + attribute: srdiag/bpm/c28-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C28-02 @@ -11435,11 +11435,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/28-02/SA_HPosition + attribute: srdiag/bpm/c28-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/28-02/SA_VPosition + attribute: srdiag/bpm/c28-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C28-03 @@ -11447,11 +11447,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/28-03/SA_HPosition + attribute: srdiag/bpm/c28-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/28-03/SA_VPosition + attribute: srdiag/bpm/c28-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C28-04 @@ -11459,11 +11459,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/28-04/SA_HPosition + attribute: srdiag/bpm/c28-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/28-04/SA_VPosition + attribute: srdiag/bpm/c28-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C28-05 @@ -11471,11 +11471,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/28-05/SA_HPosition + attribute: srdiag/bpm/c28-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/28-05/SA_VPosition + attribute: srdiag/bpm/c28-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C28-06 @@ -11483,11 +11483,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/28-06/SA_HPosition + attribute: srdiag/bpm/c28-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/28-06/SA_VPosition + attribute: srdiag/bpm/c28-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C28-07 @@ -11495,11 +11495,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/28-07/SA_HPosition + attribute: srdiag/bpm/c28-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/28-07/SA_VPosition + attribute: srdiag/bpm/c28-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C28-08 @@ -11507,11 +11507,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/28-08/SA_HPosition + attribute: srdiag/bpm/c28-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/28-08/SA_VPosition + attribute: srdiag/bpm/c28-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C28-09 @@ -11519,11 +11519,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/28-09/SA_HPosition + attribute: srdiag/bpm/c28-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/28-09/SA_VPosition + attribute: srdiag/bpm/c28-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C28-10 @@ -11531,11 +11531,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/28-10/SA_HPosition + attribute: srdiag/bpm/c28-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/28-10/SA_VPosition + attribute: srdiag/bpm/c28-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C29-01 @@ -11543,11 +11543,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/29-01/SA_HPosition + attribute: srdiag/bpm/c29-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/29-01/SA_VPosition + attribute: srdiag/bpm/c29-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C29-02 @@ -11555,11 +11555,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/29-02/SA_HPosition + attribute: srdiag/bpm/c29-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/29-02/SA_VPosition + attribute: srdiag/bpm/c29-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C29-03 @@ -11567,11 +11567,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/29-03/SA_HPosition + attribute: srdiag/bpm/c29-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/29-03/SA_VPosition + attribute: srdiag/bpm/c29-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C29-04 @@ -11579,11 +11579,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/29-04/SA_HPosition + attribute: srdiag/bpm/c29-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/29-04/SA_VPosition + attribute: srdiag/bpm/c29-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C29-05 @@ -11591,11 +11591,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/29-05/SA_HPosition + attribute: srdiag/bpm/c29-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/29-05/SA_VPosition + attribute: srdiag/bpm/c29-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C29-06 @@ -11603,11 +11603,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/29-06/SA_HPosition + attribute: srdiag/bpm/c29-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/29-06/SA_VPosition + attribute: srdiag/bpm/c29-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C29-07 @@ -11615,11 +11615,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/29-07/SA_HPosition + attribute: srdiag/bpm/c29-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/29-07/SA_VPosition + attribute: srdiag/bpm/c29-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C29-08 @@ -11627,11 +11627,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/29-08/SA_HPosition + attribute: srdiag/bpm/c29-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/29-08/SA_VPosition + attribute: srdiag/bpm/c29-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C29-09 @@ -11639,11 +11639,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/29-09/SA_HPosition + attribute: srdiag/bpm/c29-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/29-09/SA_VPosition + attribute: srdiag/bpm/c29-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C29-10 @@ -11651,11 +11651,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/29-10/SA_HPosition + attribute: srdiag/bpm/c29-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/29-10/SA_VPosition + attribute: srdiag/bpm/c29-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C30-01 @@ -11663,11 +11663,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/30-01/SA_HPosition + attribute: srdiag/bpm/c30-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/30-01/SA_VPosition + attribute: srdiag/bpm/c30-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C30-02 @@ -11675,11 +11675,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/30-02/SA_HPosition + attribute: srdiag/bpm/c30-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/30-02/SA_VPosition + attribute: srdiag/bpm/c30-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C30-03 @@ -11687,11 +11687,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/30-03/SA_HPosition + attribute: srdiag/bpm/c30-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/30-03/SA_VPosition + attribute: srdiag/bpm/c30-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C30-04 @@ -11699,11 +11699,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/30-04/SA_HPosition + attribute: srdiag/bpm/c30-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/30-04/SA_VPosition + attribute: srdiag/bpm/c30-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C30-05 @@ -11711,11 +11711,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/30-05/SA_HPosition + attribute: srdiag/bpm/c30-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/30-05/SA_VPosition + attribute: srdiag/bpm/c30-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C30-06 @@ -11723,11 +11723,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/30-06/SA_HPosition + attribute: srdiag/bpm/c30-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/30-06/SA_VPosition + attribute: srdiag/bpm/c30-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C30-07 @@ -11735,11 +11735,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/30-07/SA_HPosition + attribute: srdiag/bpm/c30-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/30-07/SA_VPosition + attribute: srdiag/bpm/c30-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C30-08 @@ -11747,11 +11747,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/30-08/SA_HPosition + attribute: srdiag/bpm/c30-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/30-08/SA_VPosition + attribute: srdiag/bpm/c30-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C30-09 @@ -11759,11 +11759,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/30-09/SA_HPosition + attribute: srdiag/bpm/c30-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/30-09/SA_VPosition + attribute: srdiag/bpm/c30-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C30-10 @@ -11771,11 +11771,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/30-10/SA_HPosition + attribute: srdiag/bpm/c30-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/30-10/SA_VPosition + attribute: srdiag/bpm/c30-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C31-01 @@ -11783,11 +11783,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/31-01/SA_HPosition + attribute: srdiag/bpm/c31-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/31-01/SA_VPosition + attribute: srdiag/bpm/c31-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C31-02 @@ -11795,11 +11795,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/31-02/SA_HPosition + attribute: srdiag/bpm/c31-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/31-02/SA_VPosition + attribute: srdiag/bpm/c31-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C31-03 @@ -11807,11 +11807,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/31-03/SA_HPosition + attribute: srdiag/bpm/c31-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/31-03/SA_VPosition + attribute: srdiag/bpm/c31-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C31-04 @@ -11819,11 +11819,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/31-04/SA_HPosition + attribute: srdiag/bpm/c31-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/31-04/SA_VPosition + attribute: srdiag/bpm/c31-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C31-05 @@ -11831,11 +11831,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/31-05/SA_HPosition + attribute: srdiag/bpm/c31-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/31-05/SA_VPosition + attribute: srdiag/bpm/c31-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C31-06 @@ -11843,11 +11843,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/31-06/SA_HPosition + attribute: srdiag/bpm/c31-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/31-06/SA_VPosition + attribute: srdiag/bpm/c31-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C31-07 @@ -11855,11 +11855,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/31-07/SA_HPosition + attribute: srdiag/bpm/c31-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/31-07/SA_VPosition + attribute: srdiag/bpm/c31-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C31-08 @@ -11867,11 +11867,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/31-08/SA_HPosition + attribute: srdiag/bpm/c31-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/31-08/SA_VPosition + attribute: srdiag/bpm/c31-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C31-09 @@ -11879,11 +11879,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/31-09/SA_HPosition + attribute: srdiag/bpm/c31-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/31-09/SA_VPosition + attribute: srdiag/bpm/c31-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C31-10 @@ -11891,11 +11891,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/31-10/SA_HPosition + attribute: srdiag/bpm/c31-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/31-10/SA_VPosition + attribute: srdiag/bpm/c31-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C32-01 @@ -11903,11 +11903,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/32-01/SA_HPosition + attribute: srdiag/bpm/c32-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/32-01/SA_VPosition + attribute: srdiag/bpm/c32-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C32-02 @@ -11915,11 +11915,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/32-02/SA_HPosition + attribute: srdiag/bpm/c32-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/32-02/SA_VPosition + attribute: srdiag/bpm/c32-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C32-03 @@ -11927,11 +11927,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/32-03/SA_HPosition + attribute: srdiag/bpm/c32-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/32-03/SA_VPosition + attribute: srdiag/bpm/c32-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C32-04 @@ -11939,11 +11939,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/32-04/SA_HPosition + attribute: srdiag/bpm/c32-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/32-04/SA_VPosition + attribute: srdiag/bpm/c32-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C32-05 @@ -11951,11 +11951,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/32-05/SA_HPosition + attribute: srdiag/bpm/c32-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/32-05/SA_VPosition + attribute: srdiag/bpm/c32-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C32-06 @@ -11963,11 +11963,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/32-06/SA_HPosition + attribute: srdiag/bpm/c32-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/32-06/SA_VPosition + attribute: srdiag/bpm/c32-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C32-07 @@ -11975,11 +11975,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/32-07/SA_HPosition + attribute: srdiag/bpm/c32-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/32-07/SA_VPosition + attribute: srdiag/bpm/c32-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C32-08 @@ -11987,11 +11987,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/32-08/SA_HPosition + attribute: srdiag/bpm/c32-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/32-08/SA_VPosition + attribute: srdiag/bpm/c32-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C32-09 @@ -11999,11 +11999,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/32-09/SA_HPosition + attribute: srdiag/bpm/c32-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/32-09/SA_VPosition + attribute: srdiag/bpm/c32-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C32-10 @@ -12011,11 +12011,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/32-10/SA_HPosition + attribute: srdiag/bpm/c32-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/32-10/SA_VPosition + attribute: srdiag/bpm/c32-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C01-01 @@ -12023,11 +12023,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/01-01/SA_HPosition + attribute: srdiag/bpm/c01-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/01-01/SA_VPosition + attribute: srdiag/bpm/c01-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C01-02 @@ -12035,11 +12035,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/01-02/SA_HPosition + attribute: srdiag/bpm/c01-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/01-02/SA_VPosition + attribute: srdiag/bpm/c01-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C01-03 @@ -12047,11 +12047,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/01-03/SA_HPosition + attribute: srdiag/bpm/c01-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/01-03/SA_VPosition + attribute: srdiag/bpm/c01-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C01-04 @@ -12059,11 +12059,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/01-04/SA_HPosition + attribute: srdiag/bpm/c01-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/01-04/SA_VPosition + attribute: srdiag/bpm/c01-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C01-05 @@ -12071,11 +12071,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/01-05/SA_HPosition + attribute: srdiag/bpm/c01-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/01-05/SA_VPosition + attribute: srdiag/bpm/c01-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C01-06 @@ -12083,11 +12083,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/01-06/SA_HPosition + attribute: srdiag/bpm/c01-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/01-06/SA_VPosition + attribute: srdiag/bpm/c01-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C01-07 @@ -12095,11 +12095,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/01-07/SA_HPosition + attribute: srdiag/bpm/c01-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/01-07/SA_VPosition + attribute: srdiag/bpm/c01-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C01-08 @@ -12107,11 +12107,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/01-08/SA_HPosition + attribute: srdiag/bpm/c01-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/01-08/SA_VPosition + attribute: srdiag/bpm/c01-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C01-09 @@ -12119,11 +12119,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/01-09/SA_HPosition + attribute: srdiag/bpm/c01-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/01-09/SA_VPosition + attribute: srdiag/bpm/c01-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C01-10 @@ -12131,11 +12131,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/01-10/SA_HPosition + attribute: srdiag/bpm/c01-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/01-10/SA_VPosition + attribute: srdiag/bpm/c01-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C02-01 @@ -12143,11 +12143,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/02-01/SA_HPosition + attribute: srdiag/bpm/c02-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/02-01/SA_VPosition + attribute: srdiag/bpm/c02-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C02-02 @@ -12155,11 +12155,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/02-02/SA_HPosition + attribute: srdiag/bpm/c02-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/02-02/SA_VPosition + attribute: srdiag/bpm/c02-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C02-03 @@ -12167,11 +12167,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/02-03/SA_HPosition + attribute: srdiag/bpm/c02-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/02-03/SA_VPosition + attribute: srdiag/bpm/c02-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C02-04 @@ -12179,11 +12179,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/02-04/SA_HPosition + attribute: srdiag/bpm/c02-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/02-04/SA_VPosition + attribute: srdiag/bpm/c02-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C02-05 @@ -12191,11 +12191,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/02-05/SA_HPosition + attribute: srdiag/bpm/c02-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/02-05/SA_VPosition + attribute: srdiag/bpm/c02-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C02-06 @@ -12203,11 +12203,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/02-06/SA_HPosition + attribute: srdiag/bpm/c02-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/02-06/SA_VPosition + attribute: srdiag/bpm/c02-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C02-07 @@ -12215,11 +12215,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/02-07/SA_HPosition + attribute: srdiag/bpm/c02-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/02-07/SA_VPosition + attribute: srdiag/bpm/c02-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C02-08 @@ -12227,11 +12227,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/02-08/SA_HPosition + attribute: srdiag/bpm/c02-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/02-08/SA_VPosition + attribute: srdiag/bpm/c02-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C02-09 @@ -12239,11 +12239,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/02-09/SA_HPosition + attribute: srdiag/bpm/c02-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/02-09/SA_VPosition + attribute: srdiag/bpm/c02-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C02-10 @@ -12251,11 +12251,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/02-10/SA_HPosition + attribute: srdiag/bpm/c02-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/02-10/SA_VPosition + attribute: srdiag/bpm/c02-10/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C03-01 @@ -12263,11 +12263,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/03-01/SA_HPosition + attribute: srdiag/bpm/c03-01/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/03-01/SA_VPosition + attribute: srdiag/bpm/c03-01/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C03-02 @@ -12275,11 +12275,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/03-02/SA_HPosition + attribute: srdiag/bpm/c03-02/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/03-02/SA_VPosition + attribute: srdiag/bpm/c03-02/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C03-03 @@ -12287,11 +12287,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/03-03/SA_HPosition + attribute: srdiag/bpm/c03-03/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/03-03/SA_VPosition + attribute: srdiag/bpm/c03-03/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C03-04 @@ -12299,11 +12299,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/03-04/SA_HPosition + attribute: srdiag/bpm/c03-04/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/03-04/SA_VPosition + attribute: srdiag/bpm/c03-04/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C03-05 @@ -12311,11 +12311,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/03-05/SA_HPosition + attribute: srdiag/bpm/c03-05/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/03-05/SA_VPosition + attribute: srdiag/bpm/c03-05/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C03-06 @@ -12323,11 +12323,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/03-06/SA_HPosition + attribute: srdiag/bpm/c03-06/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/03-06/SA_VPosition + attribute: srdiag/bpm/c03-06/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C03-07 @@ -12335,11 +12335,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/03-07/SA_HPosition + attribute: srdiag/bpm/c03-07/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/03-07/SA_VPosition + attribute: srdiag/bpm/c03-07/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C03-08 @@ -12347,11 +12347,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/03-08/SA_HPosition + attribute: srdiag/bpm/c03-08/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/03-08/SA_VPosition + attribute: srdiag/bpm/c03-08/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C03-09 @@ -12359,11 +12359,11 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/03-09/SA_HPosition + attribute: srdiag/bpm/c03-09/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/03-09/SA_VPosition + attribute: srdiag/bpm/c03-09/SA_VPosition unit: m - type: pyaml.bpm.bpm name: BPM_C03-10 @@ -12371,9 +12371,9 @@ instruments: type: pyaml.bpm.bpm_simple_model x_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/03-10/SA_HPosition + attribute: srdiag/bpm/c03-10/SA_HPosition unit: m y_pos: type: tango.pyaml.attribute_read_only - attribute: srdiag/bpm/03-10/SA_VPosition + attribute: srdiag/bpm/c03-10/SA_VPosition unit: m From ce64d90c32a1c23e605e32422eae5d460f19dcb4 Mon Sep 17 00:00:00 2001 From: PONS Date: Mon, 3 Nov 2025 14:39:34 +0100 Subject: [PATCH 5/5] Added tests --- pyaml/arrays/bpm_array.py | 35 +++--- pyaml/arrays/magnet_array.py | 77 +++++-------- pyaml/control/abstract_impl.py | 101 ++++++++++++++--- pyaml/control/controlsystem.py | 17 ++- pyaml/lattice/simulator.py | 8 +- tests/config/sr.yaml | 42 +++++++- tests/config/sr/magnet_models/SH1AC01.yaml | 21 ++-- tests/conftest.py | 2 +- .../tango/pyaml/attribute_read_only.py | 6 +- .../tango/pyaml/multi_attribute.py | 13 ++- tests/test_aggregator.py | 23 ---- tests/test_arrays.py | 102 +++++++++++++++++- 12 files changed, 310 insertions(+), 137 deletions(-) delete mode 100644 tests/test_aggregator.py diff --git a/pyaml/arrays/bpm_array.py b/pyaml/arrays/bpm_array.py index 54cac1dd..6abb1552 100644 --- a/pyaml/arrays/bpm_array.py +++ b/pyaml/arrays/bpm_array.py @@ -9,14 +9,14 @@ class RWBPMPosition(ReadFloatArray): def __init__(self, name:str, bpms:list[BPM]): self.__bpms = bpms self.__name = name - self.aggregator:DeviceAccessList = None + self.__aggregator:DeviceAccessList = None # Gets the values def get(self) -> np.array: - if not self.aggregator: + if not self.__aggregator: return np.array([b.positions.get() for b in self.__bpms]) else: - return self.aggregator.get().reshape(len(self.__bpms),2) + return self.__aggregator.get().reshape(len(self.__bpms),2) # Gets the unit of the values def unit(self) -> list[str]: @@ -24,7 +24,7 @@ def unit(self) -> list[str]: # Set the aggregator (Control system only) def set_aggregator(self,agg:DeviceAccessList): - self.aggregator = agg + self.__aggregator = agg class RWBPMSinglePosition(ReadFloatArray): @@ -33,14 +33,14 @@ def __init__(self, name:str, bpms:list[BPM],idx: int): self.__bpms = bpms self.__name = name self.__idx = idx - self.aggregator:DeviceAccessList = None + self.__aggregator:DeviceAccessList = None # Gets the values def get(self) -> np.array: - if not self.aggregator: + if not self.__aggregator: return np.array([b.positions.get()[self.__idx] for b in self.__bpms]) else: - return self.aggregator.get() + return self.__aggregator.get() # Gets the unit of the values def unit(self) -> list[str]: @@ -48,7 +48,7 @@ def unit(self) -> list[str]: # Set the aggregator (Control system only) def set_aggregator(self,agg:DeviceAccessList): - self.aggregator = agg + self.__aggregator = agg @@ -57,7 +57,7 @@ class BPMArray(list[BPM]): Class that implements access to a BPM array """ - def __init__(self,arrayName:str,bpms:list[BPM],holder): + def __init__(self,arrayName:str,bpms:list[BPM],holder = None): """ Construct a BPM array @@ -68,7 +68,7 @@ def __init__(self,arrayName:str,bpms:list[BPM],holder): bpms: list[BPM] BPM iterator holder : Element holder - Holder that contains element of this array (Simulator or Control System) + Holder (Simulator or Control System) that contains element of this array used for aggregator """ super().__init__(i for i in bpms) self.__name = arrayName @@ -76,26 +76,27 @@ def __init__(self,arrayName:str,bpms:list[BPM],holder): self.__hpos = RWBPMSinglePosition(arrayName,bpms,0) self.__vpos = RWBPMSinglePosition(arrayName,bpms,1) - aggs = holder.create_bpm_aggregators(bpms) - self.__hvpos.set_aggregator(aggs[0]) - self.__hpos.set_aggregator(aggs[1]) - self.__vpos.set_aggregator(aggs[2]) + if holder is not None: + aggs = holder.create_bpm_aggregators(bpms) + self.__hvpos.set_aggregator(aggs[0]) + self.__hpos.set_aggregator(aggs[1]) + self.__vpos.set_aggregator(aggs[2]) - @property + @property def positions(self) -> RWBPMPosition: """ Give access to bpm posttions of each bpm of this array """ return self.__hvpos - @property + @property def h(self) -> RWBPMSinglePosition: """ Give access to bpm H posttions of each bpm of this array """ return self.__hpos - @property + @property def v(self) -> RWBPMSinglePosition: """ Give access to bpm V posttions of each bpm of this array diff --git a/pyaml/arrays/magnet_array.py b/pyaml/arrays/magnet_array.py index 09d0ccf7..e70a93cd 100644 --- a/pyaml/arrays/magnet_array.py +++ b/pyaml/arrays/magnet_array.py @@ -7,48 +7,26 @@ class RWMagnetStrength(ReadWriteFloatArray): def __init__(self, name:str, magnets:list[Magnet]): - self.__magnets = magnets self.__name = name - self.aggregator:ScalarAggregator = None + self.__magnets = magnets + self.__nb = len(self.__magnets) + self.__aggregator:ScalarAggregator = None # Gets the values def get(self) -> np.array: - if not self.aggregator: + if not self.__aggregator: return np.array([m.strength.get() for m in self.__magnets]) else: - allHardwareValues = self.aggregator.get() # Read all hardware setpoints - allStrength = np.zeros(len(self.__magnets)) - mIdx = 0 - idx = 0 - for m in self.__magnets: - nbDev = len(m.model.get_devices()) - allStrength[mIdx] = m.model.compute_strengths(allHardwareValues[idx:idx+nbDev])[m.strength.index()] - mIdx += 1 - idx += nbDev - return allStrength + return self.__aggregator.get() # Sets the values def set(self, value:np.array): - if not self.aggregator: + nvalue = np.ones(self.__nb) * value if isinstance(value,float) else value + if not self.__aggregator: for idx,m in enumerate(self.__magnets): - m.strength.set(value[idx]) + m.strength.set(nvalue[idx]) else: - # TODO: if the array does not contains mappings to combined function - # magnets, the algorithm below can be optimized - allHardwareValues = self.aggregator.get() # Read all hardware setpoints - newHardwareValues = np.zeros(len(self.aggregator)) - mIdx = 0 - idx = 0 - for m in self.__magnets: - # m is a single function magnet or a mapping to a - # combined function magnet (RWMapper) - nbDev = len(m.model.get_devices()) - mStrengths = m.model.compute_strengths( allHardwareValues[idx:idx+nbDev] ) - mStrengths[m.strength.index()] = value[mIdx] - newHardwareValues[idx:idx+nbDev] = m.model.compute_hardware_values(mStrengths) - mIdx += 1 - idx += nbDev - self.aggregator.set(newHardwareValues) + self.__aggregator.set(nvalue) # Sets the values and waits that the read values reach their setpoint def set_and_wait(self, value:np.array): @@ -60,36 +38,31 @@ def unit(self) -> list[str]: # Set the aggregator (Control system only) def set_aggregator(self,agg:ScalarAggregator): - self.aggregator = agg + self.__aggregator = agg class RWMagnetHardware(ReadWriteFloatArray): def __init__(self, name:str, magnets:list[Magnet]): self.__name = name self.__magnets = magnets - self.aggregator:ScalarAggregator = None - self.hasHardwareMapping = True + self.__nb = len(self.__magnets) + self.__aggregator:ScalarAggregator = None # Gets the values def get(self) -> np.array: - if not self.aggregator: + if not self.__aggregator: return np.array([m.hardware.get() for m in self.__magnets]) else: - if not self.hasHardwareMapping: - raise Exception(f"Array {self.__name} contains elements that that do not support hardware units") - else: - return self.aggregator.get() + return self.__aggregator.get() # Sets the values def set(self, value:np.array): - if not self.aggregator: + nvalue = np.ones(self.__nb) * value if isinstance(value,float) else value + if not self.__aggregator: for idx,m in enumerate(self.__magnets): m.hardware.set(value[idx]) else: - if not self.hasHardwareMapping: - raise Exception(f"Array {self.__name} contains elements that that do not support hardware units") - else: - self.aggregator.set(value) + self.__aggregator.set(value) # Sets the values and waits that the read values reach their setpoint def set_and_wait(self, value:np.array): @@ -101,16 +74,14 @@ def unit(self) -> list[str]: # Set the aggregator def set_aggregator(self,agg:ScalarAggregator): - self.aggregator = agg - for m in self.__magnets: - self.hasHardwareMapping |= m.model.has_hardware() + self.__aggregator = agg class MagnetArray(list[Magnet]): """ Class that implements access to a magnet array """ - def __init__(self,arrayName:str,magnets:list[Magnet],holder): + def __init__(self,arrayName:str,magnets:list[Magnet],holder = None): """ Construct a magnet array @@ -121,16 +92,18 @@ def __init__(self,arrayName:str,magnets:list[Magnet],holder): magnets: list[Magnet] Magnet iterator holder : Element holder - Holder that contains element of this array (Simulator or Control System) + Holder (Simulator or Control System) that contains element of this array used for aggregator """ super().__init__(i for i in magnets) self.__name = arrayName self.__rwstrengths = RWMagnetStrength(arrayName,magnets) self.__rwhardwares = RWMagnetHardware(arrayName,magnets) - agg = holder.create_magnet_aggregator(magnets) - self.__rwstrengths.set_aggregator(agg) - self.__rwhardwares.set_aggregator(agg) + if holder is not None: + aggs = holder.create_magnet_strength_aggregator(magnets) + aggh = holder.create_magnet_harddware_aggregator(magnets) + self.__rwstrengths.set_aggregator(aggs) + self.__rwhardwares.set_aggregator(aggh) @property def strengths(self) -> RWMagnetStrength: diff --git a/pyaml/control/abstract_impl.py b/pyaml/control/abstract_impl.py index 8e55cc77..05e9de89 100644 --- a/pyaml/control/abstract_impl.py +++ b/pyaml/control/abstract_impl.py @@ -2,6 +2,7 @@ from ..control.deviceaccesslist import DeviceAccessList from ..control.deviceaccess import DeviceAccess from ..magnet.model import MagnetModel +from ..magnet.magnet import Magnet from ..bpm.bpm_model import BPMModel from ..rf.rf_plant import RFPlant from ..rf.rf_transmitter import RFTransmitter @@ -15,29 +16,107 @@ class CSScalarAggregator(ScalarAggregator): """ - Control system aggregator for a scalar value + Basic control system aggregator for a list of scalar values """ def __init__(self, devs:DeviceAccessList): - self.__devs = devs + self._devs = devs def add_devices(self, devices:DeviceAccess | list[DeviceAccess] ): - self.__devs.add_devices(devices) + self._devs.add_devices(devices) def set(self, value: NDArray[np.float64]): - self.__devs.set(value) + self._devs.set(value) def set_and_wait(self, value: NDArray[np.float64]): - self.__devs.set_and_wait(value) + self._devs.set_and_wait(value) def get(self) -> NDArray[np.float64]: - return self.__devs.get() + return self._devs.get() def readback(self) -> np.array: - return self.__devs.readback() + return self._devs.readback() def unit(self) -> str: - return self.__devs.unit() + return self._devs.unit() + + def nb_device(self) -> int: + return self._devs.__len__() + +#------------------------------------------------------------------------------ + +class CSStrengthScalarAggregator(CSScalarAggregator): + """ + Control system aggregator for a list of magnet strengths. + This aggregator is in charge of computing hardware setpoints and applying them without overlap. + When virtual magnets exported from combined function mangets are present (RWMapper), + the aggregator prevents to apply several times the same power supply setpoint. + """ + + def __init__(self, peer:CSScalarAggregator): + CSScalarAggregator.__init__(self,peer._devs) + self.__models: list[MagnetModel] = [] # List of magnet model + self.__modelToMagnet: list[list[tuple[int,int]]] = [] # strengths indexing + self.__nbMagnet = 0 # Number of magnet strengths + + def add_magnet(self, magnet:Magnet): + # Incoming magnet can be a magnet exported from a CombinedFunctionMagnet or simple magnet. + # All magnets exported from a same CombinedFunctionMagnet share the same model + # TODO: check that strength is supported (m.strength may be None) + strengthIndex = magnet.strength.index() if isinstance(magnet.strength,abstract.RWMapper) else 0 + if magnet.model not in self.__models: + index = len(self.__models) + self.__models.append(magnet.model) + self.__modelToMagnet.append([(self.__nbMagnet,strengthIndex)]) + self._devs.add_devices(magnet.model.get_devices()) + else: + index = self.__models.index(magnet.model) + self.__modelToMagnet[index].append((self.__nbMagnet,strengthIndex)) + self.__nbMagnet += 1 + + def set(self, value: NDArray[np.float64]): + allHardwareValues = self._devs.get() # Read all hardware setpoints + newHardwareValues = np.zeros(self.nb_device()) + hardwareIndex = 0 + for modelIndex,model in enumerate(self.__models): + nbDev = len(model.get_devices()) + mStrengths = model.compute_strengths( allHardwareValues[hardwareIndex:hardwareIndex+nbDev] ) + for (valueIdx,strengthIdx) in self.__modelToMagnet[modelIndex]: + mStrengths[strengthIdx] = value[valueIdx] + newHardwareValues[hardwareIndex:hardwareIndex+nbDev] = model.compute_hardware_values(mStrengths) + hardwareIndex += nbDev + self._devs.set(newHardwareValues) + + def set_and_wait(self, value: NDArray[np.float64]): + raise NotImplementedError("Not implemented yet.") + + def get(self) -> NDArray[np.float64]: + allHardwareValues = self._devs.get() # Read all hardware setpoints + allStrength = np.zeros(self.__nbMagnet) + hardwareIndex = 0 + for modelIndex,model in enumerate(self.__models): + nbDev = len(model.get_devices()) + mStrengths = model.compute_strengths( allHardwareValues[hardwareIndex:hardwareIndex+nbDev] ) + for (valueIdx,strengthIdx) in self.__modelToMagnet[modelIndex]: + allStrength[valueIdx] = mStrengths[strengthIdx] + hardwareIndex += nbDev + return allStrength + + def readback(self) -> np.array: + allHardwareValues = self._devs.readback() # Read all hardware readback + allStrength = np.zeros(self.__nbMagnet) + hardwareIndex = 0 + for modelIndex,model in enumerate(self.__models): + nbDev = len(model.get_devices()) + mStrengths = model.compute_strengths( allHardwareValues[hardwareIndex:hardwareIndex+nbDev] ) + for (valueIdx,strengthIdx) in self.__modelToMagnet[modelIndex]: + allStrength[valueIdx] = mStrengths[strengthIdx] + hardwareIndex += nbDev + return allStrength + + def unit(self) -> str: + return self._devs.unit() + #------------------------------------------------------------------------------ @@ -61,9 +140,6 @@ def set_and_wait(self, value: double): def unit(self) -> str: return self.__model.get_hardware_units()[0] - def index(self) -> int: - return 0 - #------------------------------------------------------------------------------ class RWStrengthScalar(abstract.ReadWriteFloatScalar): @@ -92,9 +168,6 @@ def set_and_wait(self, value:float): def unit(self) -> str: return self.__model.get_strength_units()[0] - def index(self) -> int: - return 0 - #------------------------------------------------------------------------------ class RWHardwareArray(abstract.ReadWriteFloatArray): diff --git a/pyaml/control/controlsystem.py b/pyaml/control/controlsystem.py index 99512029..7d02fce2 100644 --- a/pyaml/control/controlsystem.py +++ b/pyaml/control/controlsystem.py @@ -1,11 +1,12 @@ from abc import ABCMeta, abstractmethod from ..common.element_holder import ElementHolder +from ..common.abstract import RWMapper from ..lattice.element import Element from ..control.abstract_impl import RWHardwareScalar,RWHardwareArray,RWStrengthScalar,RWStrengthArray from ..bpm.bpm import BPM from ..control.abstract_impl import RWBpmTiltScalar,RWBpmOffsetArray, RBpmArray from ..control.abstract_impl import RWRFFrequencyScalar,RWRFVoltageScalar,RWRFPhaseScalar -from ..control.abstract_impl import CSScalarAggregator +from ..control.abstract_impl import CSScalarAggregator,CSStrengthScalarAggregator from ..common.abstract_aggregator import ScalarAggregator from ..magnet.magnet import Magnet from ..magnet.cfm_magnet import CombinedFunctionMagnet @@ -46,10 +47,20 @@ def create_scalar_aggregator(self) -> ScalarAggregator: agg = Factory.build_object({"type":mod}) if mod is not None else None return CSScalarAggregator(agg) - def create_magnet_aggregator(self,magnets:list[Magnet]) -> ScalarAggregator: + def create_magnet_strength_aggregator(self,magnets:list[Magnet]) -> ScalarAggregator: + agg = CSStrengthScalarAggregator(self.create_scalar_aggregator()) + for m in magnets: + agg.add_magnet(m) + return agg + + def create_magnet_harddware_aggregator(self,magnets:list[Magnet]) -> ScalarAggregator: + # When working in hardware space, 1 single power supply device per multipolar strength is required agg = self.create_scalar_aggregator() for m in magnets: - agg.add_devices(m.model.get_devices()) + if not m.model.has_hardware(): + return None + psIndex = m.hardware.index() if isinstance(m.hardware,RWMapper) else 0 + agg.add_devices(m.model.get_devices()[psIndex]) return agg def create_bpm_aggregators(self,bpms:list[BPM]) -> list[ScalarAggregator]: diff --git a/pyaml/lattice/simulator.py b/pyaml/lattice/simulator.py index ddbdc66b..998d0612 100644 --- a/pyaml/lattice/simulator.py +++ b/pyaml/lattice/simulator.py @@ -64,8 +64,12 @@ def set_energy(self,E:float): # For current calculation for m in self.get_all_magnets().items(): m[1].set_energy(E) - - def create_magnet_aggregator(self,magnets:list[Magnet]) -> ScalarAggregator: + + def create_magnet_strength_aggregator(self,magnets:list[Magnet]) -> ScalarAggregator: + # No magnet aggregator for simulator + return None + + def create_magnet_harddware_aggregator(self,magnets:list[Magnet]) -> ScalarAggregator: # No magnet aggregator for simulator return None diff --git a/tests/config/sr.yaml b/tests/config/sr.yaml index 001c87c2..8267dc37 100644 --- a/tests/config/sr.yaml +++ b/tests/config/sr.yaml @@ -7,6 +7,10 @@ instruments: - type: pyaml.lattice.simulator lattice: sr/lattices/ebs.mat name: design + controls: + - type: tango.pyaml.controlsystem + tango_host: ebs-simu-3:10000 + name: live data_folder: /data/store arrays: - type: pyaml.arrays.magnet @@ -19,7 +23,43 @@ instruments: elements: - SH1A-C01-V - SH1A-C02-V + - type: pyaml.arrays.magnet + name: HVCORR + elements: + - SH1A-C01-H + - SH1A-C02-H + - SH1A-C01-V + - SH1A-C02-V + - type: pyaml.arrays.bpm + name: BPMS + elements: + - BPM_C04-01 + - BPM_C04-02 devices: - sr/quadrupoles/QF1AC01.yaml - sr/correctors/SH1AC01.yaml - - sr/correctors/SH1AC02.yaml \ No newline at end of file + - sr/correctors/SH1AC02.yaml + - type: pyaml.bpm.bpm + name: BPM_C04-01 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/c04-01/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/c04-01/SA_VPosition + unit: m + - type: pyaml.bpm.bpm + name: BPM_C04-02 + model: + type: pyaml.bpm.bpm_simple_model + x_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/c04-02/SA_HPosition + unit: m + y_pos: + type: tango.pyaml.attribute_read_only + attribute: srdiag/bpm/c04-02/SA_VPosition + unit: m diff --git a/tests/config/sr/magnet_models/SH1AC01.yaml b/tests/config/sr/magnet_models/SH1AC01.yaml index c4b7af92..51094ab8 100644 --- a/tests/config/sr/magnet_models/SH1AC01.yaml +++ b/tests/config/sr/magnet_models/SH1AC01.yaml @@ -13,21 +13,12 @@ type: pyaml.configuration.csvmatrix file: sr/magnet_models/SH_matrix.csv powerconverters: -# - type: tango.pyaml.attribute -# attribute: srmag/ps-corr-sh1/c01-a-ch1/current - - type: pyaml.control.device - setpoint: srmag/ps-corr-sh1/c01-a-ch1/current - readback: srmag/ps-corr-sh1/c01-a-ch1/current + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c01-a-ch1/current unit: A -# - type: tango.pyaml.attribute -# attribute: srmag/ps-corr-sh1/c01-a-ch2/current - - type: pyaml.control.device - setpoint: srmag/ps-corr-sh1/c01-a-ch2/current - readback: srmag/ps-corr-sh1/c01-a-ch2/current + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c01-a-ch2/current unit: A -# - type: tango.pyaml.attribute -# attribute: srmag/ps-corr-sh1/c01-a-ch3/current - - type: pyaml.control.device - setpoint: srmag/ps-corr-sh1/c01-a-ch3/current - readback: srmag/ps-corr-sh1/c01-a-ch3/current + - type: tango.pyaml.attribute + attribute: srmag/ps-corr-sh1/c01-a-ch3/current unit: A \ No newline at end of file diff --git a/tests/conftest.py b/tests/conftest.py index d1d378ed..1b88bff7 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -62,7 +62,7 @@ def test_x(install_test_package): # Remove from sys.modules to avoid caching issues sys.modules.pop(package_name, None) - yield None + yield package_name # Uninstall package subprocess.call([ diff --git a/tests/dummy_cs/tango-pyaml/tango/pyaml/attribute_read_only.py b/tests/dummy_cs/tango-pyaml/tango/pyaml/attribute_read_only.py index cce5bcff..fcf3253f 100644 --- a/tests/dummy_cs/tango-pyaml/tango/pyaml/attribute_read_only.py +++ b/tests/dummy_cs/tango-pyaml/tango/pyaml/attribute_read_only.py @@ -1,5 +1,5 @@ from pydantic import BaseModel,ConfigDict -from pyaml.control.deviceaccess import DeviceAccess +from .attribute import Attribute from pyaml.control.readback_value import Value PYAMLCLASS : str = "AttributeReadOnly" @@ -11,13 +11,13 @@ class ConfigModel(BaseModel): attribute: str unit: str = "" -class AttributeReadOnly(DeviceAccess): +class AttributeReadOnly(Attribute): """ Class that implements a default device class that just prints out values (Debugging purpose) """ def __init__(self, cfg: ConfigModel): - super().__init__() + super().__init__(cfg) self._cfg = cfg self._setpoint = cfg.attribute self._readback = cfg.attribute diff --git a/tests/dummy_cs/tango-pyaml/tango/pyaml/multi_attribute.py b/tests/dummy_cs/tango-pyaml/tango/pyaml/multi_attribute.py index d2e1310b..263c1d3d 100644 --- a/tests/dummy_cs/tango-pyaml/tango/pyaml/multi_attribute.py +++ b/tests/dummy_cs/tango-pyaml/tango/pyaml/multi_attribute.py @@ -10,6 +10,7 @@ PYAMLCLASS : str = "MultiAttribute" +LAST_NB_WRITTEN = 0 class ConfigModel(BaseModel): """ @@ -38,12 +39,13 @@ def __init__(self, cfg:ConfigModel=None): def add_devices(self, devices: DeviceAccess | list[DeviceAccess]): if isinstance(devices, list): - if any([not isinstance(device, Attribute) for device in devices]): - raise pyaml.PyAMLException("All devices must be instances of Attribute (tango.pyaml.attribute).") + for device in devices: + if not isinstance(device, Attribute): + raise pyaml.PyAMLException(f"All devices must be instances of Attribute (tango.pyaml.attribute) but got ({device.__class__.__name__})") super().extend(devices) else: if not isinstance(devices, Attribute): - raise pyaml.PyAMLException("Device must be an instance of Attribute (tango.pyaml.attribute).") + raise pyaml.PyAMLException(f"Device must be an instance of Attribute (tango.pyaml.attribute) but got ({devices.__class__.__name__})") super().append(devices) def get_devices(self) -> DeviceAccess | list[DeviceAccess]: @@ -54,6 +56,8 @@ def get_devices(self) -> DeviceAccess | list[DeviceAccess]: def set(self, value: npt.NDArray[np.float64]): print(f"MultiAttribute.set({len(value)} values)") + global LAST_NB_WRITTEN + LAST_NB_WRITTEN += len(value) for idx,a in enumerate(self): a.set(value[idx]) @@ -69,3 +73,6 @@ def readback(self) -> np.array: def unit(self) -> list[str]: return [a.unit() for a in self] + + def get_last_nb_written(self) -> int: + return self.__last_nb_written diff --git a/tests/test_aggregator.py b/tests/test_aggregator.py deleted file mode 100644 index c961aadf..00000000 --- a/tests/test_aggregator.py +++ /dev/null @@ -1,23 +0,0 @@ -from pyaml.pyaml import pyaml,PyAML -from pyaml.instrument import Instrument -from pyaml.configuration.factory import Factory -import numpy as np -import pytest - -@pytest.mark.parametrize("install_test_package", [{ - "name": "tango-pyaml", - "path": "tests/dummy_cs/tango-pyaml" -}], indirect=True) -def test_tune(install_test_package,capfd): - - ml:PyAML = pyaml("tests/config/EBSTune.yaml") - sr:Instrument = ml.get('sr') - - quadForTuneLive = sr.live.get_magnets("QForTune") - quadForTuneLive.strengths.set(np.zeros(len(quadForTuneLive))) - strs = quadForTuneLive.strengths.get() - out, err = capfd.readouterr() - assert( "MultiAttribute.set(124 values)" in out ) - assert( "MultiAttribute.get(124 values)" in out ) - - Factory.clear() diff --git a/tests/test_arrays.py b/tests/test_arrays.py index 7253a20b..a79f539c 100644 --- a/tests/test_arrays.py +++ b/tests/test_arrays.py @@ -1,14 +1,25 @@ from pyaml.pyaml import pyaml,PyAML from pyaml.configuration.factory import Factory from pyaml.instrument import Instrument -from pyaml.magnet.model import MagnetModel +from pyaml.arrays.magnet_array import MagnetArray +from pyaml.arrays.bpm_array import BPMArray +import importlib + import numpy as np +import pytest -def test_arrays(): +@pytest.mark.parametrize("install_test_package", [{ + "name": "tango-pyaml", + "path": "tests/dummy_cs/tango-pyaml" +}], indirect=True) +def test_arrays(install_test_package): ml:PyAML = pyaml("tests/config/sr.yaml") sr:Instrument = ml.get('sr') sr.design.get_lattice().disable_6d() + + # Test on model + sr.design.get_magnet("SH1A-C01-H").strength.set(0.000010) sr.design.get_magnet("SH1A-C01-V").strength.set(0.000015) @@ -36,4 +47,89 @@ def test_arrays(): assert(np.abs(o[2] - 3.62843295e-05)<1e-10) assert(np.abs(o[3] + 6.06571010e-06)<1e-10) - Factory.clear() \ No newline at end of file + # Test on control system + + # Assert that the virtual magnet share the same model + assert( sr.live.get_magnet("SH1A-C01-H").model == sr.live.get_magnet("SH1A-C01-V").model ) + assert( sr.live.get_magnet("SH1A-C02-H").model == sr.live.get_magnet("SH1A-C02-V").model ) + + # Using aggregators + sr.live.get_magnets("HCORR").strengths.set([0.000010,-0.000008]) + ps1 = sr.live.get_magnet("SH1A-C01-H").model.read_hardware_values() + ps2 = sr.live.get_magnet("SH1A-C02-H").model.read_hardware_values() + assert(np.abs(ps1[0] - 0.02956737880874648)<1e-10) + assert(np.abs(ps1[1] - 0)<1e-10) + assert(np.abs(ps1[2] - 0)<1e-10) + assert(np.abs(ps2[0] + 0.02365390304699716)<1e-10) + assert(np.abs(ps2[1] - 0)<1e-10) + assert(np.abs(ps2[2] - 0)<1e-10) + sr.live.get_magnets("VCORR").strengths.set([0.000015,-0.000017]) + ps1 = sr.live.get_magnet("SH1A-C01-H").model.read_hardware_values() + ps2 = sr.live.get_magnet("SH1A-C02-H").model.read_hardware_values() + assert(np.abs(ps1[0] - 0.02956737880874648)<1e-10) + assert(np.abs(ps1[1] + 0.058240333933172066)<1e-10) + assert(np.abs(ps1[2] - 0.05601656539392866)<1e-10) + assert(np.abs(ps2[0] + 0.02365390304699716)<1e-10) + assert(np.abs(ps2[1] - 0.06600571179092833)<1e-10) + assert(np.abs(ps2[2] + 0.0634854407797858)<1e-10) + + strHV = sr.live.get_magnets("HVCORR").strengths.get() + assert(np.abs(strHV[0] - 0.000010)<1e-10) + assert(np.abs(strHV[1] + 0.000008)<1e-10) + assert(np.abs(strHV[2] - 0.000015)<1e-10) + assert(np.abs(strHV[3] + 0.000017)<1e-10) + + # Reset to 0 + ma = importlib.import_module("tango.pyaml.multi_attribute") + ma.LAST_NB_WRITTEN = 0 # Total number of setpoints done by multi_attribute + sr.live.get_magnets("HVCORR").strengths.set(0.) + assert(ma.LAST_NB_WRITTEN == 6) # 6 power supply setpoints are needed + ps1 = sr.live.get_magnet("SH1A-C01-H").model.read_hardware_values() + ps2 = sr.live.get_magnet("SH1A-C02-H").model.read_hardware_values() + assert(np.abs(ps1[0])<1e-10) + assert(np.abs(ps1[1])<1e-10) + assert(np.abs(ps1[2])<1e-10) + assert(np.abs(ps2[0])<1e-10) + assert(np.abs(ps2[1])<1e-10) + assert(np.abs(ps2[2])<1e-10) + + # Check that the behavior is the same without aggregator + mags = [] + for m in sr.live.get_magnets("HVCORR"): + mags.append(m) + array = MagnetArray("HVCOOR_noagg",mags) # holder = None, no aggregator + array.strengths.set([0.000010,-0.000008,0.000015,-0.000017]) + ps1 = sr.live.get_magnet("SH1A-C01-H").model.read_hardware_values() + ps2 = sr.live.get_magnet("SH1A-C02-H").model.read_hardware_values() + assert(np.abs(ps1[0] - 0.02956737880874648)<1e-10) + assert(np.abs(ps1[1] + 0.058240333933172066)<1e-10) + assert(np.abs(ps1[2] - 0.05601656539392866)<1e-10) + assert(np.abs(ps2[0] + 0.02365390304699716)<1e-10) + assert(np.abs(ps2[1] - 0.06600571179092833)<1e-10) + assert(np.abs(ps2[2] + 0.0634854407797858)<1e-10) + + + # Test BPMs array + + # Using aggragtor + pos = sr.design.get_bpms("BPMS").positions.get() + assert(np.abs(pos[0][0] + 7.21154171490481e-05)<1e-10) + assert(np.abs(pos[0][1] - 3.3988843436571406e-05)<1e-10) + assert(np.abs(pos[1][0] - 1.1681211772781844e-04)<1e-10) + assert(np.abs(pos[1][1] - 7.072972488250373e-06)<1e-10) + + # No aggregator + bpms = [] + for b in sr.design.get_bpms("BPMS"): + bpms.append(b) + + bpms = BPMArray("BPM_noagg",bpms) # holder = None, no aggregator + pos = bpms.positions.get() + assert(np.abs(pos[0][0] + 7.21154171490481e-05)<1e-10) + assert(np.abs(pos[0][1] - 3.3988843436571406e-05)<1e-10) + assert(np.abs(pos[1][0] - 1.1681211772781844e-04)<1e-10) + assert(np.abs(pos[1][1] - 7.072972488250373e-06)<1e-10) + + Factory.clear() + +