Skip to content

RFSystems Interface Change

Latest

Choose a tag to compare

@aoeftiger aoeftiger released this 19 Feb 17:35
· 1 commit to master since this release
  • Kick objects and Drift objects are now completely hidden behind RFSystems, do NOT use them anymore
  • all RF parameters (only!) available via

$ >>> longitudinal_map = RFSystems(..., some_harmonics, some_voltages, some_phi_offsets, ...)
$ >>> list(longitudinal_map.voltages) == some_voltages
True
$ >>> list(longitudinal_map.harmonics) == some_harmonics
True
$ >>> list(longitudinal_map.phi_offets) == some_phi_offsets
True

  • in the context of the RF parameter interface, general.utils.ListProxy has been added
  • RFBucket instances are now ONLY fixed blueprints (same concept as for SliceSet instances).
    Access the current state of the RF bucket configuration (for Hamiltonians and matching) via

$ >>> longitudinal_map.get_bucket(some_gamma)

This release has been tested with the PS transition situation, the corresponding test notebook will soon be integrated into the PyHEADTAIL testing suite.

Attention:
It is discouraged to store slice views (blabla = rfsystems.voltages[2:4]) of the RFSystems parameter interfaces.
(Reason: their internal reference lists are not updated if RFSystems._kicks is restructured (via pop etc))