Gyoto
Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
Gyoto::Worldline::IntegState Class Reference

Current state of a geodesic integration. More...

#include <GyotoWorldline.h>

Inheritance diagram for Gyoto::Worldline::IntegState:
Gyoto::SmartPointee

Public Member Functions

 IntegState (Worldline *line, const double *coord, const double delta)
 Constructor.
virtual int nextStep (double *coord)
 Make one step.

Private Types

typedef Gyoto::SmartPointer
< Gyoto::SmartPointee
Subcontractor_t (Gyoto::FactoryMessenger *)
 A subcontractor builds an object upon order from the Factory.

Private Member Functions

void incRefCount ()
 Increment the reference counter. Warning: Don't mess with the counter.
int decRefCount ()
 Decrement the reference counter and return current value. Warning: Don't mess with the counter.
int getRefCount ()
 Get the current number of references.

Private Attributes

Worldlineline_
 Worldline that we are integrating.
Gyoto::SmartPointer
< Gyoto::Metric::Generic
gg_
 The Metric in this end of the Universe.
double coord_ [8]
 Previously determined coordinate.
double norm_
 Current norm of the 4-velocity.
double normref_
 Initial norm of the 4-velocity.
double delta_
 Integration step (current in case of adaptive).
bool adaptive_
 Whether Worldline::delta_ is adaptive.

Friends

class Gyoto::SmartPointer< Gyoto::Worldline::IntegState >

Detailed Description

Current state of a geodesic integration.

Member Typedef Documentation

typedef Gyoto::SmartPointer<Gyoto::SmartPointee> Gyoto::SmartPointee::Subcontractor_t(Gyoto::FactoryMessenger *)
inherited

A subcontractor builds an object upon order from the Factory.

Various classes need to provide a subcontractor to be able to instanciate themselves upon order from the Factory. A subcontractor is a function (often a static member function) which accepts a pointer to a FactoryMessenger as unique parameter, communicates with the Factory using this messenger to read an XML description of the object to build, and returns this objet. SmartPointee::Subcontractor_t* is just generic enough a typedef to cast to and from other subcontractor types: Astrobj::Subcontractor_t, Metric::Subcontractor_t, Spectrum::Subcontractor_t. A subcontractor needs to be registered using the relevant Register() function: Astrobj::Register(), Metric::Register(), Spectrum::Register().

Constructor & Destructor Documentation

Gyoto::Worldline::IntegState::IntegState ( Worldline line,
const double *  coord,
const double  delta 
)

Constructor.

Parameters
lineThe Worldline that we are integrating. Sets: Worldline::line_, Worldline::gg_, Worldline::adaptive_.
coordInitial coordinate.
deltaIntegration step. Sign determines direction.

Member Function Documentation

virtual int Gyoto::Worldline::IntegState::nextStep ( double *  coord)
virtual

Make one step.

Parameters
[out]coordNext position-velocity;

Member Data Documentation

bool Gyoto::Worldline::IntegState::adaptive_
private

Whether Worldline::delta_ is adaptive.

Taken from Worldline::line_, never updated.

Gyoto::SmartPointer<Gyoto::Metric::Generic> Gyoto::Worldline::IntegState::gg_
private

The Metric in this end of the Universe.

Taken from Worldline::line_, never updated.

Worldline* Gyoto::Worldline::IntegState::line_
private

Worldline that we are integrating.

Beware this is not a SmartPointer. Make sure line_ still exists when calling nestStep().


The documentation for this class was generated from the following file: