accml_lib.core.interfaces.simulator package

Submodules

accml_lib.core.interfaces.simulator.accelerator_simulator module

Todo

review if required, or if it should rather follow the backend interface

class accml_lib.core.interfaces.simulator.accelerator_simulator.AcceleratorSimulatorInterface[source]

Bases: object

Todo

Derive from a list interface

abstractmethod get(element_id)[source]

Review if derived classes use async implementations

Return type:

ElementInterface

accml_lib.core.interfaces.simulator.calculation_output module

Standardised output “elements” of the calculation engine

Output of the calculation engine can be requested with the same interface

class accml_lib.core.interfaces.simulator.calculation_output.Tune[source]

Bases: object

abstractmethod get()[source]

Returns tune model

Return type:

Tune

accml_lib.core.interfaces.simulator.element module

class accml_lib.core.interfaces.simulator.element.AlignmentInterface[source]

Bases: object

abstractmethod get_roll()[source]
abstractmethod get_x()[source]
abstractmethod get_y()[source]
abstractmethod set_roll(val)[source]
abstractmethod set_x(val)[source]
abstractmethod set_y(val)[source]
class accml_lib.core.interfaces.simulator.element.ElementInterface[source]

Bases: object

Todo

  • review if an method should be added that user is supposed to override and an other one that is the external interface?

  • should be the on_update_finished an event that has to be added here?

Reason: after the element has been updated the proxy should trigger the on_update_finished.

abstractmethod get_name()[source]
abstractmethod peek(property_id)[source]
Parameters:

property_id (str)

abstractmethod async update(property_id, value)[source]
Parameters:
class accml_lib.core.interfaces.simulator.element.MagneticElementInterface[source]

Bases: ElementInterface

Todo

alignment is not part of elementinterface by design it should be part of magnet

abstractmethod get_alignment()[source]
Return type:

AlignmentInterface

abstractmethod get_main_field_value()[source]
abstractmethod set_main_field_value()[source]

accml_lib.core.interfaces.simulator.result_element module

class accml_lib.core.interfaces.simulator.result_element.ResultElement[source]

Bases: object

Todo

just for pyat or for all?

Currently just a convenience for pyAT backend

abstractmethod get(prop_id)[source]
Return type:

object

Parameters:

prop_id (str)

Module contents

Interface simulators based on messages

Todo

should this be rather part of accml ?

Why: it is message oriented.

Originally this code was developed within dt4acc