/rayx

RAYX is a simulation tool for beamlines at electron storage rings. It traces synchrotron radiation through a series of mirrors, gratings and more and provides the user with helpful insights, how a given beamline performs.

Primary LanguageC++MIT LicenseMIT

RAYX

RAYX is a simulation tool designed for beamlines at electron storage rings. Currently, it is intended to be used in conjunction with RAY-UI. Our primary focus with RAYX is on high-performance tracing, achieved through the utilization of GPUs via the Vulkan API.

RAYX vs RAY-UI

RAYX offers several advanced features, including:

  • Global (not sequential) tracing of beamlines
  • GPU utilization for accelerated tracing performance
  • A dedicated mode for tracing multiple beamlines with ease
  • Objects in RAYX can be grouped for simplified group transformations
  • A GUI for intuitive beamline design

Installing or Building RAYX

testUbuntu testWindows testUbuntuClang MDBookDeploy

For additional information, please visit our Wiki. We are committed to delivering stable releases, which can be found here. Please note that the master branch and other branches might be unstable, and building RAYX from the source could lead to unstable software. We recommend this only for developers and experienced users. If you experience issues with our distributed binaries or API, do not hesitate to open an issue. We are keen to provide assistance and develop features as the need arises.