Skip to content

zhangt58/beamline

Repository files navigation

beamline

DOI

Accelerator online model and lattice visualization package developed by Python.

Developing language: Python 2.7 and 3.x

As of release 2.0.0, Python 3.x is supported, (1.x.y supports Python 2.7).

Documentation: https://archman.github.io/beamline/

Main Features:

  • Parsing elegant (electron accelerator tracking code) lattice file (.lte) to be python dict or json string for further operations.
  • Modeling accelerator magnetic elements, such as dipole, quadrupole, drift, etc. to be python objects, from EPICS control environment to OOP level.
  • Automatic modeling from .lte lattice file definition with postfixed '!epics' anotation to define EPICS control configurations.
  • Support unit conversion between EPICS PV raw value and the physical real value of elements.
  • Modeling lattice beamline from modeled elements, constructing Lattice instance, dumping .lte file for code tracking.
  • Feeding defined elements with new configuration, interfacing with EPICS environment, to form the close-loop online system.
  • Visualizing the lattice layout by predefined elements' style.
  • Friendly native-look GUI application to facilitate these functionalities.

Screenshots:

  • Lattice visualization after modeling,

tracking output sxfel lattice

  • With annotations,

sxfel lattice dcls lattice with annotations

  • GUI application: latticeviewer:

data viewer operation log beamline choose convert json to lte file incremental search lattice visualization

Installation and Usage:

For the installation and the list of dependencies which partially need manual interaction see the documentation, please.