Class TImpedance#

Inheritance Relationships#

Base Type#

Class Documentation#

class TImpedance : public OrbitUtils::CppPyWrapper#

Public Functions

TImpedance(double length, int nMacrosMin, int nBins, int useX, int useY)#

Constructor

virtual ~TImpedance()#

Destructor

void assignLatFuncs(double qX, double alphaX, double betaX, double qY, double alphaY, double betaY)#

Assigns the needed lattice functions

void assignImpedanceX(int n, double realp, double imagp, double realm, double imagm)#

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

void assignImpedanceY(int n, double realp, double imagp, double realm, double imagm)#

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

void trackBunch(Bunch *bunch)#

Calculates the transverse kick to the macro-particles in the bunch

void _prepareToKick()#

Does FFTs in preparation for kick

double _kick(double macrophase)#

Routine for calculating the transverse kick to the particle

Public Members

double _length#
int _nMacrosMin#
int _nBins#
int _useX#
int _useY#
double _qX#
double _alphaX#
double _betaX#
double _qY#
double _alphaY#
double _betaY#
double _charge2TKick#
int _Turns#
Grid1D *zGrid#
OrbitUtils::BunchExtremaCalculator *bunchExtremaCalc#
double *_xCentroid#
double *_xpCentroid#
double *_yCentroid#
double *_ypCentroid#
double *_phiCount#
std::complex<double> *_zXImped_nplus#
std::complex<double> *_zXImped_nminus#
std::complex<double> *_zYImped_nplus#
std::complex<double> *_zYImped_nminus#
std::complex<double> *_FFTResult1#
std::complex<double> *_FFTResult2#
double _q#
double _alpha#
double _beta#
double *_Centroid#
double *_pCentroid#
std::complex<double> *_zImped_nplus#
std::complex<double> *_zImped_nminus#
fftw_complex *_in#
fftw_complex *_out#
fftw_plan _plan#