Class UniformEllipsoidFieldCalculator#

Inheritance Relationships#

Base Type#

Class Documentation#

class UniformEllipsoidFieldCalculator : public OrbitUtils::CppPyWrapper#

This class calculates the field of uniformly charged ellipsoid by using the symmetric elliptic integral and Carlson formulas for these integrals.

Public Functions

UniformEllipsoidFieldCalculator()#

Constructor

Constructor. There is no parameters

virtual ~UniformEllipsoidFieldCalculator()#

Destructor

void setEllipsoid(double a_in, double b_in, double c_in, double r_max)#

Sets the half-axis of the ellipsoid and maximal values of radius

Sets the half-axis of the ellipsoid

void calcField(double x, double y, double z, double x2, double y2, double z2, double &ex, double &ey, double &ez)#

Calculates the field components

double calcLambda(double x, double y, double z, double x2, double y2, double z2)#

Calculates lambda value as a root of eq. x^2/(a^2+s) + y^2/(b^2+s) + z^2/(c^2+s) - 1 = 0

double getQ()#

Returns the total space charge inside the ellipse.

void setQ(double Q_in)#

Sets the total space charge inside the ellipse.