AxisField_and_Quad_RF_Gap#

class orbit.py_linac.lattice.AxisField_and_Quad_RF_Gap(axis_field_rf_gap)[source]#

Bases: orbit.py_linac.lattice.LinacAccNodes.AbstractRF_Gap

The class represents the part of the RF gap. It uses the part (longitudinally) of the RF axis field that can be overlapped by quadrupole magnet field. It is almost copy of the AxisFieldRF_Gap class, but it describes the part of the whole RF gap because the axis field could cover the dipole correctors or BPMs, and it has to be cut in peaces. It also could overlap the neighboring quadrupoles, therefore it should account for the tracking inside quad fields.

The method setAsFirstRFGap(True/False) will be called by RF cavity.

User have to provide the instance of the AxisFieldRF_Gap at the constructor. The instance of this class has the axis field for the whole gap.

Methods Summary

addQuad(quad, fieldFunc, z_center_of_field)

Adds the quad with the field function and the position.

getAxisFieldRF_Gap()

It returns the AxisFieldRF_Gap instance for this gap.

getBaseRF_Gap()

It returns the BaseRF_Gap instance for this gap.

getEzFiled(z)

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

getEzFiledInternal(z, rfCavity, E0L, rf_ampl)

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

getPhaseVsPositionFuncion()

Retuns the RF gap function phase vs.

getPosAndQuad_Arr()

Return the array with pairs: the quad and the position of its center.

getQuads()

Returns the list of quads in this node.

getRF_Cavity()

Returns the parent RF Cavity.

getTotalField(z_from_center)

Returns the combined field of all overlapping quads.

getTotalFieldDerivative(z_from_center)

Returns the combined derivative of the field of all overlapping quads.

getUseLongitudinalFieldOfQuad()

If we going to use the longitudinal magnetic field component of quad

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.

isNodeInReversedLattice()

Returns True if this node in the reversed lattice or False if it otherwise.

reverseOrderNodeSpecific()

This method is used for a lattice reversal and a bunch backtracking This is a node type specific method.

setLinacTracker([switch])

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

setUseLongitudinalFieldOfQuad(use)

If we going to use the longitudinal magnetic field component of quad

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.

Methods Documentation

addQuad(quad, fieldFunc, z_center_of_field)[source]#

Adds the quad with the field function and the position. The position of the quad is relative to the center of the parent rf gap node.

getAxisFieldRF_Gap()[source]#

It returns the AxisFieldRF_Gap instance for this gap.

getBaseRF_Gap()[source]#

It returns the BaseRF_Gap instance for this gap.

getEzFiled(z)[source]#

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

getEzFiledInternal(z, rfCavity, E0L, rf_ampl)[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.

getPosAndQuad_Arr()[source]#

Return the array with pairs: the quad and the position of its center.

getQuads()[source]#

Returns the list of quads in this node.

getRF_Cavity()[source]#

Returns the parent RF Cavity.

getTotalField(z_from_center)[source]#

Returns the combined field of all overlapping quads. z_from_center - is a distance from the center of the parent RF gap node.

getTotalFieldDerivative(z_from_center)[source]#

Returns the combined derivative of the field of all overlapping quads. z_from_center - is a distance from the center of the parent RF gap node.

getUseLongitudinalFieldOfQuad()[source]#

If we going to use the longitudinal magnetic field component of quad

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.

isNodeInReversedLattice()[source]#

Returns True if this node in the reversed lattice or False if it otherwise.

reverseOrderNodeSpecific()[source]#

This method is used for a lattice reversal and a bunch backtracking This is a node type specific method. The implementation of the abstract method of AccNode class from the top level lattice package.

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.

setUseLongitudinalFieldOfQuad(use)[source]#

If we going to use the longitudinal magnetic field component of quad

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.