Class SpaceChargeCalc2p5Drb#

Inheritance Relationships#

Base Type#

Class Documentation#

class SpaceChargeCalc2p5Drb : public OrbitUtils::CppPyWrapper#

Public Functions

SpaceChargeCalc2p5Drb(int xSize, int ySize, int zSize, double xy_ratio_in)#

Constructor with the “x to y ratio” parameter.

SpaceChargeCalc2p5Drb(int xSize, int ySize, int zSize)#

Constructor with “ratio” parameter equals 1.

virtual ~SpaceChargeCalc2p5Drb()#

Destructor

void trackBunch(Bunch *bunch, double length, double pipe_radius)#

Calculates space charge and applies the transverse and longitudinal SC kicks to the macro-particles in the bunch.

Grid2D *getRhoGrid()#

Returns the 2D rho grid with a transverse density distribution.

Grid2D *getPhiGrid()#

Returns the 2D phi grid with a transverse potential.

Grid1D *getLongGrid()#

Returns the 1D grid with a longitudinal density.

Grid1D *getLongDerivativeGrid()#

Returns the 1D grid with a derivative of the longitudinal density.

void setLongAveragingPointsN(int n_points)#

Sets the number of smoothing points to calculate the derivative of the longitudinal density.

int getLongAveragingPointsN()#

Returns the number of smoothing points to calculate the derivative of the longitudinal density.

Protected Attributes

PoissonSolverFFT2D *poissonSolver#
Grid2D *rhoGrid#
Grid2D *phiGrid#
Grid1D *zGrid#
Grid1D *zDerivGrid#
OrbitUtils::BunchExtremaCalculator *bunchExtremaCalc#
double xy_ratio#
int n_long_avg#
double **S_arr#