AxisFieldRF_Gap#

class orbit.py_linac.lattice.AxisFieldRF_Gap(baserf_gap)[source]#

Bases: orbit.py_linac.lattice.LinacAccNodes.AbstractRF_Gap

The RF gap representation that uses the RF axis field. User have to provide the input file with this field. This function should be normalized to the integral of 1. The absolute value of the field will be calculated as cavAmp*E0L*Field(z). The three point tracker RfGapThreePointTTF will be used to track the Bunch instance. The longitudinal step during the tracking z_step should be defined externally. The default value is 1 cm. The minimal and maximal longitudinal coordinates z_min and z_max could be used directly from the axis field file or can be corrected externally to avoid overlapping of electric fields from neighboring gaps. The instance of this class has the reference to the BaseRF_Gap instance and uses it as a source of information.

Attributes Summary

static_test_bunch

Methods Summary

calculate_first_part_phase(bunch_in)

The privat method should be exposed to the AxisField_and_Quad_RF_Gap class

getAxisFieldFunction()

It returns the axis field function.

getEzFiled(z)

Returns the Ez field on the axis of the RF gap in V/m.

getPhaseVsPositionFuncion()

Retuns the RF gap function phase vs.

getRF_Cavity()

Returns the parent RF Cavity.

getZ_Min_Max()

Returns the tuple (z_min,z_max) with the limits of the axis field.

getZ_Step()

Returns the longitudinal step during the tracking.

readAxisFieldFile([dir_location, file_name, ...])

Method.

setAxisFieldFunction(axis_field_func[, z_step])

It sets the axis field function.

setLinacTracker([switch])

This method will switch RF gap model to slower one where transformations coefficients are calculated for each particle in the bunch.

setZ_Min_Max(z_min, z_max)

Sets the actual longitudinal sizes of the node.

setZ_Step(z_step)

track(paramsDict)

The AxisFieldRF_Gap class implementation of the AccNode class track(probe) method.

trackDesign(paramsDict)

The method is tracking the design synchronous particle through the RF Gap.

Attributes Documentation

static_test_bunch = <Bunch object>#

Methods Documentation

calculate_first_part_phase(bunch_in)[source]#

The privat method should be exposed to the AxisField_and_Quad_RF_Gap class

getAxisFieldFunction()[source]#

It returns the axis field function.

getEzFiled(z)[source]#

Returns the Ez field on the axis of the RF gap in V/m.

getPhaseVsPositionFuncion()[source]#

Retuns the RF gap function phase vs. postion.

getRF_Cavity()[source]#

Returns the parent RF Cavity.

getZ_Min_Max()[source]#

Returns the tuple (z_min,z_max) with the limits of the axis field. These parameters define the length of the node. The center of the node is at 0.

getZ_Step()[source]#

Returns the longitudinal step during the tracking.

readAxisFieldFile(dir_location='', file_name='', z_step=0.01)[source]#

Method. Reads the axis field from the file. User have to call this method. There is no other source of information about the axis field.

setAxisFieldFunction(axis_field_func, z_step=0.01)[source]#

It sets the axis field function.

setLinacTracker(switch=True)[source]#

This method will switch RF gap model to slower one where transformations coefficients are calculated for each particle in the bunch.

setZ_Min_Max(z_min, z_max)[source]#

Sets the actual longitudinal sizes of the node. It is used for small correction of the length to avoid fields overlapping from neighbouring gaps.

setZ_Step(z_step)[source]#
track(paramsDict)[source]#

The AxisFieldRF_Gap class implementation of the AccNode class track(probe) method. User have to track the design bunch first to setup all gaps arrival time.

trackDesign(paramsDict)[source]#

The method is tracking the design synchronous particle through the RF Gap. If the gap is a first gap in the cavity we put the arrival time as a cavity parameter. The pair of the cavity design phase and this arrival time at the first gap are used during the real bunch tracking.