Source code for pyaml.magnet.hcorrector
from ..common import abstract
from ..common.constants import HORIZONTAL_KICK_SIGN
from ..lattice.polynom_info import PolynomInfo
from .corrector import RWCorrectorAngle
from .magnet import Magnet, MagnetConfigModel
# Define the main class name for this module
PYAMLCLASS = "HCorrector"
[docs]
class ConfigModel(MagnetConfigModel):
"""Configuration model for Horizontal Corrector magnet."""
...
[docs]
class HCorrector(Magnet):
"""Horizontal Corrector class"""
polynom = PolynomInfo("PolynomB", 0, HORIZONTAL_KICK_SIGN)
def __init__(self, cfg: ConfigModel):
super().__init__(
cfg.name,
cfg.model if hasattr(cfg, "model") else None,
)
self._cfg = cfg
self.__angle = RWCorrectorAngle(self)
@property
def angle(self) -> abstract.ReadWriteFloatScalar:
"""
Set the kick angle.
"""
return self.__angle