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