virtac.virtac_server#

Contains the VirtacServer class which creates and manages the PV interface to the VIRTAC. It also provides various public methods to interact with Virtac

Members

MirrorType

VirtacServer

The soft-ioc server which contains the configuration and PVs for the VIRTAC.

class virtac.virtac_server.VirtacServer(ring_mode: str, limits_csv: Path | None = None, bba_csv: Path | None = None, feedback_csv: Path | None = None, mirror_csv: Path | None = None, tune_csv: Path | None = None, disable_emittance: bool = False, disable_tunefb: bool = False)[source]#

The soft-ioc server which contains the configuration and PVs for the VIRTAC. It allows ATIP to be interfaced using EPICS in the same manner as the live machine.

lattice#

An instance of a Pytac lattice with a simulator data source derived from pyAT.

Type:

pytac.lattice.Lattice

Parameters:
  • ring_mode – The ring mode to create the lattice in.

  • limits_csv – The filepath to the .csv file from which to load the pv limits. For more information see create_csv.py.

  • bba_csv – The filepath to the .csv file from which to load the bba records, for more information see create_csv.py.

  • feedback_csv – The filepath to the .csv file from which to load the feedback records, for more information see create_csv.py.

  • mirror_csv – The filepath to the .csv file from which to load the mirror records, for more information see create_csv.py.

  • tune_csv – The filepath to the .csv file from which to load the tune feedback records, for more information see create_csv.py.

  • disable_emittance – Whether emittance should be disabled.

  • disable_tunefb – Whether tune feedback should be disabled.

update_pvs() None[source]#

The callback function passed to ATSimulator during lattice creation, which is called each time a calculation of physics data is completed and updates all the in records that do not have a corresponding out record with the latest values from the simulator.

enable_monitoring() None[source]#

Enable monitoring for all MonitorPV derived PVs. This will allow tune feedback and vertical emittance feedback to work again

disable_monitoring() None[source]#

Disable monitoring for all MonitorPV derived PVs. This will disable tune feedback and vertical emittance feedback

print_virtac_stats(verbosity: int = 0) None[source]#

Print helpful statistics based on passed verbosity level

Parameters:

verbosity – The verbosity level to print at, higher levels print more information.