Package overview

PIOL contains a collection of tools for beam line modelling. The beam propagation through a system of elements is described in a curvilinear coordinate system (x,y,s), where s is the direction of propagation and (x,y) are the transverse directions, conventionally having y pointing “up”. In addition to the physical coordinates the particles are described by non-symplectic tangents a=vx/vs, b=vy/vs, time t, mass m, energy K, charge state q and time t. The beam line tuning is given by a reference particle with defined energy, mass and charge state.

The beam line is defined as a stack of elements. The library has builtin first order matrix models for the most common beam line magnetic and electrostatic elements (to be done) and it can use Nth order matrices retrieved from GICOSY, an external well-established ion optical code. Also, the library contains several other elements, such as collimators, gap lens, kick, rotation, and ray tracing in electromagnetic fields. In PIOL, also the particle sources are elements.

In PIOL, energy is in eV, mass in atomic mass units, and the rest are in SI-units.

Inheritance diagram

Inheritance diagram of piol.driver, piol.element, piol.elements, piol.error, piol.fit_matrix, piol.gicosyelements, piol.particlesource, piol.plotter, piol.random, piol.raytrace, piol.referenceparticle, piol.transfermatrix, piol.trajectories, piol.vectorfield