Class LSpaceChargeCalc#
Defined in File LSpaceChargeCalc.hh
Inheritance Relationships#
Base Type#
public OrbitUtils::CppPyWrapper(Class CppPyWrapper)
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 setNumModes(int n)#
Sets number of FFT modes used to calculate energy kick from impedance.
-
void setUseGrad(int setting)#
Sets option to use gradient rather than impedance.
-
void setSmoothGrad(int setting)#
Sets option to use smooth gradient of longitudinal density.
-
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#
-
int nModes#
-
int useGrad#
-
int smooth#
-
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#
-
LSpaceChargeCalc(double b_a_in, double length_in, int nMacrosMin_in, int useSpaceCharge_in, int zSize_in)#