Class SpaceChargeCalcUnifEllipse#

Inheritance Relationships#

Base Type#

Class Documentation#

class SpaceChargeCalcUnifEllipse : public OrbitUtils::CppPyWrapper#

Public Functions

SpaceChargeCalcUnifEllipse(int nEllipses_in)#

Constructor with the “x to y ratio” parameter.

virtual ~SpaceChargeCalcUnifEllipse()#

Destructor

void trackBunch(Bunch *bunch, double length)#

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

void bunchAnalysis(Bunch *bunch)#

Analyses the bunch and sets up the ellipsoid filed sources

void calculateField(double x, double y, double z, double &ex, double &ey, double &ez)#

Calculates the electric filed in the center of the bunch sytem.

UniformEllipsoidFieldCalculator *getEllipsFieldCalculator(int ellipse_index)#

Returns the UniformEllipsoidFieldCalculator class instance with a particular index

int getNEllipses()#

Returns the number of UniformEllipsoidFieldCalculator class instances

Protected Attributes

int nEllipses#
double total_macrosize#
double x_center#
double y_center#
double z_center#
double x2_avg#
double y2_avg#
double z2_avg#
double xMin#
double xMax#
double yMin#
double yMax#
double zMin#
double zMax#
double a_ellips#
double b_ellips#
double c_ellips#
double a2_ellips#
double b2_ellips#
double c2_ellips#
UniformEllipsoidFieldCalculator **ellipsoidCalc_arr#
double *macroSizesEll_arr#
double *macroSizesEll_MPI_arr#