|
Gyoto
|
Current state of a geodesic integration. More...
#include <GyotoWorldline.h>
Public Member Functions | |
| IntegState (Worldline *line, const double *coord, const double delta) | |
| Constructor. More... | |
| virtual int | nextStep (double *coord) |
| Make one step. More... | |
Private Types | |
| typedef Gyoto::SmartPointer < Gyoto::SmartPointee > | Subcontractor_t (Gyoto::FactoryMessenger *) |
| A subcontractor builds an object upon order from the Factory. More... | |
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 | |
| Worldline * | line_ |
| Worldline that we are integrating. More... | |
| Gyoto::SmartPointer < Gyoto::Metric::Generic > | gg_ |
| The Metric in this end of the Universe. More... | |
| 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. More... | |
Friends | |
| class | Gyoto::SmartPointer< Gyoto::Worldline::IntegState > |
Current state of a geodesic integration.
|
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().
| Gyoto::Worldline::IntegState::IntegState | ( | Worldline * | line, |
| const double * | coord, | ||
| const double | delta | ||
| ) |
Constructor.
| line | The Worldline that we are integrating. Sets: Worldline::line_, Worldline::gg_, Worldline::adaptive_. |
| coord | Initial coordinate. |
| delta | Integration step. Sign determines direction. |
|
virtual |
Make one step.
| [out] | coord | Next position-velocity; |
|
private |
Whether Worldline::delta_ is adaptive.
Taken from Worldline::line_, never updated.
|
private |
The Metric in this end of the Universe.
Taken from Worldline::line_, never updated.
|
private |
Worldline that we are integrating.
Beware this is not a SmartPointer. Make sure line_ still exists when calling nestStep().
1.8.5