Auxiliary Classes
The goal of describing a lattice with LAURA is to encapsulate as much information as possible about accelerator lattice elements in a single object or file.
This page describes the auxiliary information that can be associated with an
Element (see Element).
Simulation Element
Given that one intended use of LAURA is to be able to translate accelerator lattices to various formats
required for simulation codes, it is helpful to assign to each Element
simulation-specific parameters. At the base level,
all SimulationElement classes contain:
field_definition: Optional[str]– string pointing to a field definition, such as a fieldmap for an RF cavity or magnet.wakefield_definition: Optional[str]– string pointing to a wakefield definition, such as the geometric wakefield associated with a cavity cell.field_reference_position: str– the reference position for the field file, i.e.start,middle,end.scale_field: float | bool– if this has a numerical value, the field strength in the file is to be scaled by this factor.
Element-specific child classes are also derived from this and associated with those elements;
see MagnetSimulationElement,
DriftSimulationElement,
DiagnosticSimulationElement,
RFCavitySimulationElement,
WakefieldSimulationElement.
Controls Information
The LAURA schema also allows the storage of information about how to control the
Element from the accelerator control system.
Each Element can have
multiple ControlVariable items associated with
its ControlsInformation, with the latter
consisting of a dictionary of the former. Each ControlVariable
can refer to a specific attribute of that element in the control system, such as an
EPICS Process Variable or a TANGO Attribute, organised as follows:
identifier: str- unique identifier for the control variable.dtype: type– data type of the control variable (e.g.,int,float,str).protocol: str– protocol or method used to interact with the control variable, i.e.CAfor EPICS Channel Access.units: str– unit of measurement for the control variable.description: str– description of the control variable.read_only: bool– indicates if the variable is read-only.
Electrical and Manufacturer Information
Other useful sets of information about an Element include
electrical and manufacturer information, stored
in ElectricalElement and
ManufacturerElement, respectively.
The attributes of these classes are as follows:
Electrical
minI: float– minimum current that the power source can deliver.maxI: float– maximum current that the power source can deliver.read_tolerance: float– read current tolerance.
Manufacturer
manufacturer: str– name of the element manufacturer.serial_number: str– serial number of the element
Reference Information
Any further information that is relevant to a given Element can
be contained in its reference attribute;
see ReferenceElement.
This can be used as a repository for files such as mechanical drawings, design files, or any
other data. This class is intended to provide only paths to files. It is extensible, with the two attributes
drawings and design_files (both lists of strings) provided by default.