Source code for pyaml.arrays.cfm_magnet
from ..common.element_holder import ElementHolder
from .array import ArrayConfig, ArrayConfigModel
# Define the main class name for this module
PYAMLCLASS = "CombinedFunctionMagnet"
[docs]
class ConfigModel(ArrayConfigModel):
"""Configuration model for Combined Function Magnet array."""
...
[docs]
class CombinedFunctionMagnet(ArrayConfig):
"""
Combined function magnet array confirguration
Example
-------
A magnet array configuration can also be created by code using
the following example::
from pyaml.arrays.cfm_magnet import CombinedFunctionMagnet
from pyaml.arrays.cfm_magnet import ConfigModel as CFMagnetConfigModel
magArray = CombinedFunctionMagnet(
CFMagnetConfigModel(name="myCFM", elements=["mag1","mag2"])
)
"""
def __init__(self, cfg: ArrayConfigModel):
super().__init__(cfg)
[docs]
def fill_array(self, holder: ElementHolder):
"""
Fill the combined function magnet array in the element holder.
Parameters
----------
holder : ElementHolder
The element holder to populate with combined function magnet array
"""
holder.fill_cfm_magnet_array(self._cfg.name, self._cfg.elements)