mbtrack2.tracking.spacecharge module¶
Module for transverse space charge calculations.
- class TransverseSpaceCharge(ring: Synchrotron, interaction_length: float, n_bins: int = 100)[source]¶
Bases:
ElementClass representing a transverse space charge element.
Parameters¶
- ringSynchrotron
The synchrotron object representing the particle accelerator ring.
- interaction_lengthfloat
The interaction length of the space charge effect in meters.
- n_binsint, optional
The number of bins (longitudinal) used for space charge calculations. Default is 100.
Attributes¶
- ratio_thresholdfloat
The ratio numerical threshold for the space charge element to decide if the beam is transversely round.
- absolute_thresholdfloat
The absolute numerical threshold for the space charge element to decide if the beam is transversely round.
- ring: Synchrotron
Ring object with information about the ring. This class uses ring.E0 and ring.gamma for calculations.
- efieldnfunction
The electric field function.
Methods¶
- track(bunch)
Perform the tracking of the bunch through the space charge element.
- ratio_threshold = 0.001¶
- absolute_threshold = 1e-10¶
- __init__(ring: Synchrotron, interaction_length: float, n_bins: int = 100)[source]¶
Initialize the SpaceCharge object.
Parameters¶
- ringSynchrotron
The synchrotron object representing the particle accelerator ring.
- interaction_lengthfloat
The interaction length of the space charge effect in meters.
- n_binsint, optional
- The number of bins (longitudinal) used for space charge
calculations. Default is 100.
- track(bunch: Bunch | Beam)[source]¶
Perform the tracking of the bunch through the space charge element.
Parameters¶
- bunchBunch
The bunch of particles to be tracked.
- _abc_impl = <_abc._abc_data object>¶