Related projects¶
This is a short overview over the components involved in madgui development:
madgui: main application repository that contains GUI code and orchestrates the interaction between different parts
cpymad: python binding for MAD-X. It allows to start, access and control the MAD-X interpreter from python.
MAD-X: accelerator simulation code developed by CERN, used for underlying computations. Note that although “open source” it is not “free software”.
hit_acs: python binding for the hit accelerator control system, specifically the
BeamOptikDLL.dll
. This component is required for online access at HIT. It is possible to replace this component with another package with similar API to facilitate access to other control systems.hit_models: contains the MAD-X model definitions for the HIT beam lines
madgui-installer: scripts to create an offline installer with all dependencies for usage on the control system PCs (which don’t have internet and therefore can’t download dependencies automatically)
PyQt5: GUI framework.
Further resources:
the MAD-X user’s guide is an essential resource and a must read
Qt5 documentation use this as reference for developing with Qt. It is often much better and complete than PyQt-specific references. The PyQt API is essentially the same just with C++ translated to python.