Class LSpaceChargeCalc#

Inheritance Relationships#

Base Type#

Class Documentation#

class LSpaceChargeCalc : public OrbitUtils::CppPyWrapper#

Public Functions

LSpaceChargeCalc(double b_a_in, double length_in, int nMacrosMin_in, int useSpaceCharge_in, int zSize_in)#

Constructor

virtual ~LSpaceChargeCalc()#

Destructor

void trackBunch(Bunch *bunch)#

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

void assignImpedanceValue(int n, double real, double imag)#

Assigns the real and imaginary parts of the machine impedance for index n

double _kick(double angle)#

Routine for calculating the kick to the particle

Public Members

double b_a#
double length#
int nBins#
int nMacrosMin#
int useSpaceCharge#
Grid1D *zGrid#
OrbitUtils::BunchExtremaCalculator *bunchExtremaCalc#
double *_fftmagnitude#
double *_fftphase#
double *_z#
double *_chi#
std::complex<double> *_zImped_n#
fftw_plan _plan#
fftw_complex *_in#
fftw_complex *_out#