Class RungeKuttaTracker#

Inheritance Relationships#

Base Type#

Class Documentation#

class RungeKuttaTracker : public OrbitUtils::CppPyWrapper#

Public Functions

RungeKuttaTracker(double length)#
~RungeKuttaTracker()#
void setSpatialEps(double eps)#

It sets the accuracy of the spatial resolution for tracking.

double getSpatialEps()#

It returns the accuracy of the spatial resolution for tracking.

double getTimeStep()#

It returns the time step size for tracking.

void setInitialStepsNumber(int n_init)#

It sets the number of initial steps in tracking.

int getInitialStepsNumber()#

It returns the number of initial steps in tracking.

int getStepsNumber()#

It returns the number of steps during the synchronous particle tracking.

void setLength(double length)#

It sets the approximate length of the region.

double getLength()#

It returns the approximate length of the region.

void setEntrPlane(double a, double b, double c, double d)#

It sets (a*x+b*y+c*z+d=0) coefficients for the entrance plane.

void setExitPlane(double a, double b, double c, double d)#

It sets (a*x+b*y+c*z+d=0) coefficients for the exit plane.

void getEntrPlane(double &a, double &b, double &c, double &d)#

It returns (a*x+b*y+c*z+d=0) coefficients for the entrance plane.

void getExitPlane(double &a, double &b, double &c, double &d)#

It returns (a*x+b*y+c*z+d=0) coefficients for the exit plane.

It sets (a*x+b*y+c*z+d=0) coefficients for the exit plane.

void trackBunch(Bunch *bunch, OrbitUtils::BaseFieldSource *fieldSource, ExternalEffects *extEff)#

It tracks the traditional ORBIT bunch. The external effects instance could be NULL.

It tracks a traditional ORBIT bunch. The external effects instance could be NULL. The time is counted from 0. It is a moment of synchronous particle cross the entrance plane. For some particles the time will be negative, because they are ahead of the synchronous particle.

void track(Bunch *bunch, double t_begin, double t, double t_step, OrbitUtils::BaseFieldSource *fieldSource, ExternalEffects *extEff)#

It tracks the bunch with non-relative r and p vectors. The external effects instance could be NULL.

int isOutside(double *r)#

It returns 0 if it is outside of both planes and 1 otherwise

int isOutside(double x, double y, double z)#

It returns 0 if it is outside of both planes and 1 otherwise

int isAfterEntrance(double *r)#

It returns 0 if it is after entrance plane and 1 otherwise

int isAfterEntrance(double x, double y, double z)#

It returns 0 if it is after entrance plane and 1 otherwise

int isBeforeExit(double *r)#

It returns 0 if it is after exit plane and 1 otherwise

int isBeforeExit(double x, double y, double z)#

It returns 0 if it is after exit plane and 1 otherwise