TMElement#

class wake_t.beamline_elements.TMElement(length=0.0, theta=0.0, k1=0.0, k2=0.0, gamma_ref=None, csr_on=False, n_out=None, order=2)[source]#

Base class for all elements where the tracking is performed using transfer maps. It can also be used to define an arbitrary element that can be modeled with transfer maps of up to second order.

Parameters:
lengthfloat

Length of the drift space in meters.

thetafloat

Bending angle that a particle with an energy given by gamma_ref would experience.

k1float

Normalized quadrupole strength in units of 1/m**2.

k2float

Normalized sextupole strength in units of 1/m**3.

gamma_reffloat, optional

Reference gamma (relativistic Lorentz factor) to be used for the tracking. If not specified, the average gamma of the particle bunch is used.

csr_onbool

Whether to include CSR forces.

n_outint

Number of times along the element in which the particle distribution should be returned or written to file (if openpmd diagnostics are activated).

orderint

Highest order of the transfer matrices. Possible values are 1 and 2.

Methods

track(bunch[, backtrack, out_initial, ...])

Track bunch through element.