#include <OrbitHistory.h>
Inheritance diagram for O_SESSAME::OrbitHistory:
The OrbitHistory class provides a container of previous OrbitState objects. The user may append new states, reset the collection of states, or return the orbit history in a matrix. If the user appends orbit states at time which earlier than the end of the current history, the current history is deleted from that point on, and the new orbit states are appended.
OrbitState myOrbitState; myOrbitState.SetStateRepresentation(new PositionVelocity); myOrbitState.SetOrbitFrame(new OrbitFrameIJK); Vector initPV(6); myOrbitState.SetState(initPV); myOrbit->SetStateObject(myOrbitState); OrbitHistory myOrbitHistory; // create an orbit history with an empty collection myOrbitHistory.AppendHistory(0, myOrbitState); // add the state myOrbitState which occured at t=0 to the history cout << myOrbitHistory.GetHistory() << endl; // Get a matrix of the stored state and output // [t0, orbit elements @ t=0] // [t1, orbit elements @ t=1] // [t2, orbit elements @ t=2] etc...
Definition at line 51 of file OrbitHistory.h.
Public Member Functions | |
OrbitHistory () | |
Default Constructor. | |
void | AppendHistory (const double &_appendTime, const OrbitState &_appendOrbitState) |
Add the orbit state that occured at a time in seconds to the history. | |
void | AppendHistory (const ssfTime &_appendTime, const OrbitState &_appendOrbitState) |
Add the orbit state that occured with an ssfTime object to the history. | |
void | AppendHistory (const vector< ssfTime > &_appendTime, const vector< OrbitState > &_appendOrbitState) |
Add a vector of ssfTime and OrbitState objects to the stored history. | |
void | ResetHistory () |
Erases the orbit state history. | |
Matrix | GetHistory () |
Returns a matrix of the orbit state history. | |
void | GetState (const ssfTime &_requestedTime, OrbitState &_returnOrbitState) |
Returns the Orbit state at the requested time. | |
OrbitState | GetState (const ssfTime &_requestedTime) |
Returns the Orbit state at the requested time. | |
virtual void | AppendHistory (const double &_appendTime) |
Add a time (in seconds) to the stored history. | |
virtual void | AppendHistory (const ssfTime &_appendTime) |
Add an ssfTime object to the stored history. | |
virtual vector< ssfTime >::difference_type | AppendHistory (const vector< ssfTime > &_appendTime) |
Add a vector of ssfTime objects to the stored history. | |
virtual void | SetInterpolator (Interpolator *_newInterpolator) |
Returns the nearest stored,lower mesh point to the requested time. Sets the interpolator used for calculating the states in-between stored mesh points. | |
Protected Attributes | |
vector< ssfTime > | m_TimeHistory |
internal vector container of the ssfTime objects describing the state history | |
Interpolator * | m_OriginalInterpolator |
internal storage of the original, nominal interpolator to be copied and used for all interpolations | |
vector< Interpolator * > | m_TimeInterpolations |
internal vector of time interpolations | |
Private Attributes | |
vector< OrbitState > | m_OrbitHistory |
internal vector container of the OrbitState objects describing the state history | |
vector< Interpolator * > | m_OrbitInterpolations |
internal vector of orbit interpolations |
|
Default Constructor.
Definition at line 15 of file OrbitHistory.cpp. References HISTORY_RESERVE_SIZE, m_OrbitHistory, m_OrbitInterpolations, and ResetHistory(). |
|
Add a vector of ssfTime objects to the stored history. if the beginning of the new time vector is earlier than any of the stored values then the time history will be erased from the overlap point and the new time vector will be appended.
Definition at line 40 of file History.cpp. References O_SESSAME::History::m_TimeHistory. |
|
Add an ssfTime object to the stored history. if the new time is earlier than any of the stored values then the time history will be erased from the overlap point and the new value will be appended.
Reimplemented in IteratedExtendedKalmanFilterHistory, KalmanFilterHistory, and SequentialFilterHistory. Definition at line 35 of file History.cpp. References O_SESSAME::History::m_TimeHistory. |
|
Add a time (in seconds) to the stored history. if the new time is earlier than any of the stored values then the time history will be erased from the overlap point and the new value will be appended.
Reimplemented in IteratedExtendedKalmanFilterHistory, KalmanFilterHistory, and SequentialFilterHistory. Definition at line 31 of file History.cpp. |
|
Add a vector of ssfTime and OrbitState objects to the stored history. if the beginning of the new state vector occured earlier than any of the stored values then the orbit history will be erased from the overlap point and the new orbit state vector will be appended.
Definition at line 34 of file OrbitHistory.cpp. References m_OrbitHistory. |
|
Add the orbit state that occured with an ssfTime object to the history. Appends the state at t=_appendTime. if the new state occured at a time that is earlier than any of the stored values then the time history will be erased from the overlap point and the new state will be appended.
Definition at line 27 of file OrbitHistory.cpp. References m_OrbitHistory. |
|
Add the orbit state that occured at a time in seconds to the history. Appends the state at t=_appendTime. if the new state occured at a time that is earlier than any of the stored values then the time history will be erased from the overlap point and the new state will be appended.
Definition at line 22 of file OrbitHistory.cpp. Referenced by main(). |
|
Returns a matrix of the orbit state history. returns the matrix of the form: // Get a matrix of the stored state and output [t0, orbit elements @ t=0] [t1, orbit elements @ t=1] [t2, orbit elements @ t=2] etc...
Reimplemented from O_SESSAME::History. Definition at line 60 of file OrbitHistory.cpp. References _, m_OrbitHistory, O_SESSAME::Matrix, and O_SESSAME::MatrixIndexBase. |
|
Returns the Orbit state at the requested time.
Reimplemented from O_SESSAME::History. Definition at line 75 of file OrbitHistory.cpp. References GetState(). |
|
Returns the Orbit state at the requested time.
Definition at line 81 of file OrbitHistory.cpp. References O_SESSAME::Interpolator::GetNumberDataPoints(), O_SESSAME::ssfTime::GetSeconds(), O_SESSAME::OrbitState::GetStateRepresentation(), m_OrbitHistory, m_OrbitInterpolations, O_SESSAME::Matrix, O_SESSAME::Interpolator::NewPointer(), NUM_POSVEL_ELEMENTS, O_SESSAME::OrbitState::SetOrbitFrame(), O_SESSAME::OrbitStateRepresentation::SetPositionVelocity(), O_SESSAME::OrbitState::SetStateRepresentation(), and O_SESSAME::Vector. Referenced by GetState(), and main(). |
|
Erases the orbit state history.
Reimplemented from O_SESSAME::History. Definition at line 51 of file OrbitHistory.cpp. References m_OrbitHistory. Referenced by OrbitHistory(), and O_SESSAME::Propagator::Propagator(). |
|
Returns the nearest stored,lower mesh point to the requested time. Sets the interpolator used for calculating the states in-between stored mesh points.
Definition at line 149 of file History.cpp. References O_SESSAME::Interpolator::Clone(), and O_SESSAME::History::m_OriginalInterpolator. Referenced by main(). |
|
internal vector container of the OrbitState objects describing the state history
Definition at line 125 of file OrbitHistory.h. Referenced by AppendHistory(), GetHistory(), GetState(), OrbitHistory(), and ResetHistory(). |
|
internal vector of orbit interpolations
Definition at line 127 of file OrbitHistory.h. Referenced by GetState(), and OrbitHistory(). |
|
internal storage of the original, nominal interpolator to be copied and used for all interpolations
Definition at line 131 of file History.h. Referenced by O_SESSAME::History::SetInterpolator(). |
|
internal vector container of the ssfTime objects describing the state history
Definition at line 128 of file History.h. Referenced by O_SESSAME::History::AppendHistory(), O_SESSAME::History::GetHistory(), O_SESSAME::History::GetState(), O_SESSAME::History::History(), and O_SESSAME::History::ResetHistory(). |
|
internal vector of time interpolations
Definition at line 134 of file History.h. Referenced by O_SESSAME::History::History(). |