![]() |
SMILE
v2.5
Schwarzschild Modelling Interactive expLoratory Environment
|
Container for orbit initial conditions and information objects. More...
#include <orbitlib.h>

Public Types | |
| enum | ORBITSTATE { OS_INITIALIZED, OS_PREPARING, OS_RUNNING, OS_NEEDTOTERMINATE, OS_DONE, OS_FAILED } |
| lists all possible states of orbit integration More... | |
Public Member Functions | |
| template<typename NumT > | |
| COrbitDesc (const CPosVelPoint< NumT > &_initCond, const NumT _intTime, const NumT _maxTime, const double _weight, const double _weightPrior, const vectorInformation *_info=NULL) | |
| Create the object for the given initial conditions, without the results of orbit integration (OS_INITIALIZED) | |
| ~COrbitDesc () | |
| destroy all information containers | |
| void | run (const COrbitLauncher *launcher) |
| create an internal COrbit instance using the launcher, and run orbit integration and analysis | |
| void | halt () |
| if running, immediately stop computation (set the state to OS_NEEDTOTERMINATE) | |
| const CPosVelPoint< float > & | getInitCond () const |
| return the initial conditions for the orbit | |
| void | setInitCond (const CPosVelPoint< float > &ic) |
| assign initial conditions | |
| float | getIntTime () const |
| return the integration time, whether the actual one if orbit is done, or the intended one if only initialized | |
| void | setIntTime (float time) |
| assign the integration time | |
| float | getMaxTime () const |
| return the maximum time for adaptive integration | |
| void | setMaxTime (float time) |
| assign maximum integration time | |
| size_t | getInfoNum () const |
| return the number of CBasicInformation objects | |
| const CBasicInformation * | getInfo (size_t index) const |
| return a pointer to the given information object (a private data member!) | |
| const CBasicInformation * | getInfoByType (CBasicInformation::INFOTYPE InfoType) const |
| convenience function to get a pointer to information of a given type, or NULL if it doesn't exist | |
| std::string | toString () const |
| returns string representation of all information objects associated with the orbit, plus the weight and integration time | |
| double | getWeight () const |
| return orbit weight in the Schwarzschild model | |
| void | setWeight (double w) |
| assign the orbit weight | |
| double | getWeightPrior () const |
| return orbit weight prior in the Schwarzschild model | |
| void | setWeightPrior (double w) |
| ORBITSTATE | getState () const |
| return the state of orbit integration (init/running/done) | |
| void | setState (ORBITSTATE _state) |
| set the state to OS_PREPARING if it is going to be started by the orbit library class, or reset it to OS_INITIALIZED if it was completed. More... | |
Private Attributes | |
| CPosVelPoint< float > | initCond |
| orbit initial conditions | |
| COrbit * | orbit |
| pointer to the internal object created in run() | |
| float | intTime |
| float | maxTime |
| integration and max integration time | |
| vectorInformation | info |
| array of CBasicOrbitInformation objects | |
| double | weight |
| weight of the orbit in the Schwarzschild model | |
| double | weightPrior |
| prior on orbit weight (for proper normalization of entropy; default 0 means Mtotal/Norbits) | |
| volatile ORBITSTATE | state |
| current state of affairs | |
Container for orbit initial conditions and information objects.
This class serves as an interface between a single COrbit and the entire COrbitLibrary. It keeps the initial data for an orbit, and internally creates an instance of COrbit for the integration and analysis; then it records the results in the form of an array of CBasicInformation and deletes the COrbit to free up memory.
A collection of this objects constitutes the COrbitLibrary.
lists all possible states of orbit integration
| Enumerator | |
|---|---|
| OS_INITIALIZED |
the object is created but only contains initial data |
| OS_PREPARING |
the run() method is called |
| OS_RUNNING |
the internal COrbit::run() is in progress |
| OS_NEEDTOTERMINATE |
the user requested to stop orbit integration |
| OS_DONE |
integration completed, all information objects are stored (also set when all data is loaded from a file). |
| OS_FAILED |
if the integration failed for some reason (did not produce any orbit) |
|
inline |
set the state to OS_PREPARING if it is going to be started by the orbit library class, or reset it to OS_INITIALIZED if it was completed.
1.8.8