accml_lib.core.interfaces.utils package
Submodules
accml_lib.core.interfaces.utils.command_rewritter module
convert the values from one state space
- class accml_lib.core.interfaces.utils.command_rewritter.CommandRewriterBase[source]
Bases:
objectalternative: TranslationService
- abstractmethod forward_read_command(command)[source]
Typically an answer of liaison manager
- Return type:
- Parameters:
command (ReadCommand)
- abstractmethod inverse_read_command(command)[source]
Typically an answer of liaison manager
- Return type:
- Parameters:
command (ReadCommand)
accml_lib.core.interfaces.utils.devices_facade module
accml_lib.core.interfaces.utils.liaison_manager module
- class accml_lib.core.interfaces.utils.liaison_manager.LiaisonManagerBase[source]
Bases:
objecttransforms pairs of (id, property)
Warning
it returns a sequence of device / properties More than one device can be necessary to be updated
- abstractmethod forward(id_)[source]
- Return type:
- Parameters:
id_ (LatticeElementPropertyID)
Todo
for symmetry: should return a sequence too!
- abstractmethod inverse(id_)[source]
needs to return a sequence: e.g. power converters often power more than one magnet
- Return type:
- Parameters:
id_ (DevicePropertyID)
accml_lib.core.interfaces.utils.measurement_execution_engine module
- class accml_lib.core.interfaces.utils.measurement_execution_engine.MeasurementExecutionEngine[source]
Bases:
object- abstractmethod async execute(commands_collection, *args, **kwargs)[source]
- Return type:
- Returns:
identifier to the data
- Parameters:
commands_collection (Sequence[TransactionCommand])
Measurement engine is responsible to store data as appropriate
- abstractmethod async trigger_read(cmds)[source]
Following ophyd-async / ophyd design
Todo
Is this a good idea?
- Return type:
- Parameters:
cmds (Sequence[ReadCommand])
accml_lib.core.interfaces.utils.state_conversion module
- class accml_lib.core.interfaces.utils.state_conversion.StateConversion[source]
Bases:
objectconvert one state to an other
Other wide spread names: * unit conversion * coordinate system transformation
Please note initialisation is not handled here
accml_lib.core.interfaces.utils.storage module
accml_lib.core.interfaces.utils.translator_service module
- class accml_lib.core.interfaces.utils.translator_service.TranslatorServiceBase[source]
Bases:
objectActor says: * I know:
I want to change property “A” of lattice element “B”
I know that device “C” needs to change property “D”
please give me the translation object that converts between these
- abstractmethod get(id_)[source]
- Return type:
- Parameters:
id_ (ConversionID)
accml_lib.core.interfaces.utils.yellow_pages module
Info on which device belongs to which other
Todo
provide enum of standard family names?
- class accml_lib.core.interfaces.utils.yellow_pages.YellowPagesBase[source]
Bases:
objectHandling lattice element and their family belonging
Two ways to see it: * family as seen by a lattice:
typically some magnets that are split all over the place
Imagine for some lattice e.g. some quadrupoles could be identically as they are produced. But they could still belong to different families