Class ExternalEffects#

Inheritance Relationships#

Base Type#

Derived Types#

Class Documentation#

class ExternalEffects : public OrbitUtils::CppPyWrapper#

Subclassed by ExtEffectsContainer, TrackerRK4::PyExternalEffects

Public Functions

ExternalEffects()#
virtual ~ExternalEffects()#
virtual void setupEffects(Bunch *bunch)#

It initializes effects.

virtual void prepareEffects(Bunch *bunch, double t)#
virtual void finalizeEffects(Bunch *bunch)#

It finalizes effects.

virtual void applyEffectsForEach(Bunch *bunch, int index, double *y_in_vct, double *y_out_vct, double t, double t_step, OrbitUtils::BaseFieldSource *fieldSource, RungeKuttaTracker *tracker)#

It applies the external effects to a particle with certain index.

It applies the external effects to a particle with certain index. y_in_vct and y_out_vct are double[6] vectors with initial and final [r,p] coordinates for particular time step. t, t_step - initial moment and time step fieldSource - electric and magnetic field source tracker - RungeKuttaTracker instance

virtual void applyEffects(Bunch *bunch, double t, double t_step, OrbitUtils::BaseFieldSource *fieldSource, RungeKuttaTracker *tracker)#

It applies the external effects to the bunch as a whole.

It applies the external effects to the bunch as a whole. t, t_step - initial moment and time step fieldSource - electric and magnetic field source tracker - RungeKuttaTracker instance

std::string getName()#

It returns the name of the effect to distinguish them later.

void setName(std::string name)#

It sets the name of the effect to distinguish them later.

int getRankSetup()#
int getRankPrepare()#
int getRankApply()#
int getRankFinalize()#
void setRankSetup(int i)#
void setRankPrepare(int i)#
void setRankApply(int i)#
void setRankFinalize(int i)#