26 #ifndef __GyotoKerrKS_H_
27 #define __GyotoKerrKS_H_
30 namespace Metric {
class KerrKS; }
35 #ifdef GYOTO_USE_XERCES
57 KerrKS(double spin, double mass) ;
70 void
setSpin(const double spin);
77 double
gmunu(const double * x,
78 int alpha, int beta) const ;
87 const int, const int, const int) const;
93 double dir=1.) const ;
95 virtual void
setParameter(std::string, std::string, std::string);
96 #ifdef GYOTO_USE_XERCES
102 void
MakeCst(const double* coord, double* cst) const;
113 int
myrk4(Worldline * line, const double coord[8], double h, double res[8]) const;
122 int
myrk4(const double * coord, const double* cst , double h, double* res) const;
129 int
myrk4_adaptive(Gyoto::Worldline* line, const double * coord, double lastnorm, double normref, double* coord1, double h0, double& h1) const;
133 int
diff(const double* coord, const double* cst, double* res) const;
134 int
diff(const double y[8], double res[8]) const ;
Metric around a Kerr black-hole in Kerr-Schild coordinates.
Definition: GyotoKerrKS.h:43
Base class for metrics.
Definition: GyotoMetric.h:142
double christoffel(const double[8], const int, const int, const int) const
Chistoffel symbol.
int myrk4(Worldline *line, const double coord[8], double h, double res[8]) const
RK4 integrator.
void setParticleProperties(Worldline *line, const double *coord) const
Set Metric-specific constants of motion. Used e.g. in KerrBL.
virtual void fillElement(FactoryMessenger *fmp)
called from Factory
virtual int isStopCondition(double const *const coord) const
Check whether integration should stop.
double getSpin() const
Returns spin.
int myrk4_adaptive(Gyoto::Worldline *line, const double *coord, double lastnorm, double normref, double *coord1, double h0, double &h1) const
?
double spin_
Angular momentum parameter.
Definition: GyotoKerrKS.h:50
double gmunu(const double *x, int alpha, int beta) const
Metric coefficients.
Timelike or null geodesics.
Base class for metric description.
Pointers performing reference counting.
Definition: GyotoSmartPointer.h:51
virtual void setParameter(std::string, std::string, std::string)
Set parameter by name.
void MakeCst(const double *coord, double *cst) const
In Kerr-Schild coordinates [T,x,y,z,Tdot,xdot,ydot,zdot], computes the four constants of the movement...
void setSpin(const double spin)
Set spin.
int diff(const double *coord, const double *cst, double *res) const
virtual KerrKS * clone() const
Copy constructor.
virtual void circularVelocity(double const pos[4], double vel[4], double dir=1.) const
Yield circular valocity at a given position (projected on equatorial plane).
void nullifyCoord(double coord[8], double &tdot2) const
Set tdot (coord[4]) such that coord is light-like and return other possible tdot. ...