Zgoubi is a raytracing code.
Since 1972 it pushes charged particles through accelerators and beam lines, by stepwise solution of Lorentz force equation - and their spins via Thomas-BMT differential equation.
Zgoubi simulates beam dynamics and polarization in a variety of accelerators (storage ring, synchrotron, cyclotron, betatron, microtron, FFAG, multi-pass ERL, etc) and optical systems (beam lines, magnetic and electrostatic optical components, time-of-flight and mass spectrometers, etc).
The code includes built-in fitting procedures with a wide variety of constraints; stochastic SR energy loss; the tracking of synchrotron radiation (SR) Poynting vector; space charge models; various Monte Carlo procedures, etc.
Contact: francoisgmeot@gmail.com
Documentation (History of accelerators that zgoubi deals with, theory, tutorials):
https://link.springer.com/book/10.1007/978-3-031-59979-8
https://link.springer.com/book/10.1007/978-3-031-16715-7, Chap. 14.