Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages | Examples

O_SESSAME::OsculatingOrbitalElements Class Reference
[Orbit State Represenations]

#include <MappingMeanOsculatingOrbitElements.h>

Inheritance diagram for O_SESSAME::OsculatingOrbitalElements:

Inheritance graph
[legend]
Collaboration diagram for O_SESSAME::OsculatingOrbitalElements:

Collaboration graph
[legend]
List of all members.

Detailed Description

Keplerian Osculating and Mean orbital element representation of the orbital position.

The OsculatingOrbitalElement class stores the Osculating or Mean orbital elements of an orbital position using the Keplerian Class.

Example:

Definition at line 35 of file MappingMeanOsculatingOrbitElements.h.

Public Member Functions

virtual ~OsculatingOrbitalElements ()
 Default Deconstructor.
virtual OsculatingOrbitalElementsNewPointer ()
 Return a pointer to a new instance of a OsculatingOrbitELement orbit state representation type.
virtual OsculatingOrbitalElementsClone ()
 Return a pointer to a copy of the OsculatingOrbitalElements orbit state representation instance.
 OsculatingOrbitalElements ()
 Create an initially empty OsculatingOrbitalElements orbit state representation.
void SetOsculatingOrbitalElements (Keplerian &_OsculatingOrbitalElements)
 Set the osculating oribtal elements with this function.
void SetOsculatingOrbitalElements (CAMdoubleVector _ECIVector)
 Set the osculating oribtal elements with this function.
void SetMeanOrbitalElements (Keplerian &_MeanOrbitalElements)
 Set the mean oribtal elements with this function.
void SetMeanOrbitalElements (CAMdoubleVector _ECIVector)
 Set the mean oribtal elements with this function.
Keplerian GetMeanOrbitalElements ()
 Get the Mean oribtal elements with this function.
Keplerian GetOsculatingOrbitalElements ()
 Get the Osculating oribtal elements with this function.
void OsculatingToMean ()
 Convert the Osculating oribtal elements to Mean Orbital Elements.
void MeanToOsculating ()
 Convert the Mean oribtal elements to Osculating Orbital Elements.
Keplerian Mapping (Keplerian &_keplerian)
 Convert the Mean oribtal elements to Osculating Orbital Elements. This mapping algorithm is from page 693 of Analytical Mechanics of Space Systems by Schaub and Junkins.
Keplerian KeplerianCopy ()
 Create a copy of the Keplerian representation.
void SetKeplerianRepresentationMeanAnomaly (const Vector &_OrbitalElements)
 Set the Keplerian representation by a vector representation of Orbital Elements.
void SetKeplerianRepresentationEccentricAnomaly (const Vector &_OrbitalElements)
 Set the Keplerian representation by a vector representation of Orbital Elements.
void SetKeplerianRepresentationTrueAnomaly (const Vector &_OrbitalElements)
 Set the Keplerian representation by a vector representation of Orbital Elements.
void SetPositionVelocity (const Vector &_Position, const Vector &_Velocity)
 Set the Keplerian representation by converting the position and velocity vectors in inertial coordinates (ECI) to Keplerian Orbit Elements. Follows procedure outlined in Analytical Mechanics of Space Systems by Schaub and Junkins (page 409).
void SetPositionVelocity (const Vector &_PositionVelocity)
 Set the Keplerian representation by converting the position and velocity vector given in inertial coordinates.
void SetPositionVelocity (const Vector &_Position, const Vector &_Velocity, const OrbitFrame &_OrbFrame)
 Set the Keplerian representation by converting the position and velocity vectors.
void SetPositionVelocity (const Vector &_PositionVelocity, const OrbitFrame &_OrbFrame)
 Set the Keplerian representation by converting the position and velocity vector.
Vector GetPositionVelocity () const
 Convert the Keplerian orbit representation to position and velocity vectors in the inertial frame.
Vector GetPositionVelocity (const OrbitFrame &_TargetOrbFrame) const
 Convert the Keplerian orbit representation to position and velocity vectors in the specified frame.
void GetPositionVelocity (Vector &_Position, Vector &_Velocity) const
 Return by reference the converted the Keplerian orbit representation to position and velocity vectors in the inertial frame.
void GetPositionVelocity (Vector &_Position, Vector &_Velocity, const OrbitFrame &_TargetOrbFrame) const
 Return by reference the converted Keplerian orbit representation to position and velocity vectors in the specified frame.
Vector GetPositionVelocityPQW () const
 Convert the Keplerian orbit representation to position and velocity vectors in the Perifocal frame (PQW).
double GetEccentricAnomalyFromMeanAnomaly (const double &_MeanAnomaly)
 Solves Kepler's Equation in order to compute eccentric anomaly (E) from mean anomaly (M) and eccentricity (e). Adapted from Appendix A, Orbits, by Christopher D. Hall. Class notes for AOE 4140. Available at http://www.aoe.vt.edu/~chall/courses/aoe4140/.
void GetTrueAnomalyFromEccentricAnomaly (const double &_EccentricAnomaly)
 Calculates true anomaly ($\nu$) from eccentric anomaly (E), semimajor axis (a), and eccentricity (e).
tleStruct ReadTwoLineElementSet (const string &_TwoLineElementSet)
 Parses a two line element set and updates orbital elements, returns a struct of additional information.
double GetEccentricAnomalyFromTrueAnomaly ()
 Determine the Eccentric Anomaly $E$ (rad) from the True Anomaly and Eccentricity.
double GetMeanAnomalyFromEccentricAnomaly ()
 Determine the Mean Anomaly $M$ (-) from the Eccentric Anomaly and Eccentricity.
double GetArgLattitude ()
 Determine the Argument of Lattitude, $\theta$ (rad).
double GetLongPerigee ()
 Determine the Longitude of Perigee, $\Pi$ (rad).
double GetTrueLongitude ()
 Determine the True Longitude, $\ell$ (rad).
double GetSemiParameter () const
 Compute and return the Semiparameter $p$ of the orbit position.
double GetSemimajorAxis () const
 Return the Semimajor Axis $a$ of the orbit position. (km).
double GetEccentricity () const
 Return the Eccentricity $e$ of the orbit position. (-).
double GetInclination () const
 Return the Inclination $i$ of the orbit position. (-).
double GetLongAscNode () const
 Return the Longitude of the Ascending Node $\Omega$ of the orbit position. (rad).
double GetArgPerigee () const
 Return the Argument of Perigee $\omega$ of the orbit position. (rad).
double GetTrueAnomaly () const
 Return the True Anomaly $\nu$ of the orbit position. (rad).
double GetMeanMotion () const
 Return the Mean orbital motion $n$ of the orbit position. (rad/s).
double GetEccentricAnomaly () const
 Return the Eccentric Anomaly $E$ of the orbit position. (rad).
double GetMeanAnomaly () const
 Return the Mean Anomaly $M$ of the orbit position. (-).
virtual void SetState (const Vector &_Elements)
 Set the vector of the representation's state vector.
virtual Vector GetState () const
 Return a vector of the representation's state vector.
virtual void GetState (Vector &_Elements) const
 Return a vector by reference of the representation's state vector.

Private Attributes

Keplerian m_OsculatingOrbitalElements
Keplerian m_MeanOrbitalElements
double m_Gamma2


Constructor & Destructor Documentation

O_SESSAME::OsculatingOrbitalElements::~OsculatingOrbitalElements  )  [virtual]
 

Default Deconstructor.

Definition at line 20 of file MappingMeanOsculatingOrbitElements.cpp.

O_SESSAME::OsculatingOrbitalElements::OsculatingOrbitalElements  ) 
 

Create an initially empty OsculatingOrbitalElements orbit state representation.

Definition at line 54 of file MappingMeanOsculatingOrbitElements.cpp.

Referenced by Clone(), and NewPointer().


Member Function Documentation

OsculatingOrbitalElements * O_SESSAME::OsculatingOrbitalElements::Clone  )  [virtual]
 

Return a pointer to a copy of the OsculatingOrbitalElements orbit state representation instance.

This is used to request memory for a copy of this instance of Keplerian. It is necessary when attempting to get a pointer from the abstract data type OrbitStateRepresentation and the actual representation type isn't known.

Returns:
a pointer to a copy of the OsculatingOrbitalElements object.

Reimplemented from O_SESSAME::Keplerian.

Definition at line 45 of file MappingMeanOsculatingOrbitElements.cpp.

References OsculatingOrbitalElements().

double O_SESSAME::Keplerian::GetArgLattitude  )  [inherited]
 

Determine the Argument of Lattitude, $\theta$ (rad).

Equation:

\[\theta = \omega + f \]

Definition at line 267 of file Keplerian.cpp.

References O_SESSAME::ARG_LATTITUDE, O_SESSAME::ARG_PERIGEE, O_SESSAME::Keplerian::m_OrbitalElements, O_SESSAME::Keplerian::m_OrbitalParameters, and O_SESSAME::TRUE_ANOMALY.

Referenced by O_SESSAME::Keplerian::SetKeplerianRepresentationEccentricAnomaly(), O_SESSAME::Keplerian::SetKeplerianRepresentationMeanAnomaly(), O_SESSAME::Keplerian::SetKeplerianRepresentationTrueAnomaly(), and O_SESSAME::Keplerian::SetPositionVelocity().

double O_SESSAME::Keplerian::GetEccentricAnomalyFromMeanAnomaly const double &  _MeanAnomaly  )  [inherited]
 

Solves Kepler's Equation in order to compute eccentric anomaly (E) from mean anomaly (M) and eccentricity (e). Adapted from Appendix A, Orbits, by Christopher D. Hall. Class notes for AOE 4140. Available at http://www.aoe.vt.edu/~chall/courses/aoe4140/.

Todo:
Allow user to specify tolerance for numerical convergence.

Todo:
Allow user to specify tolerance for numerical convergence.

Definition at line 463 of file Keplerian.cpp.

References O_SESSAME::ECCENTRICITY, and O_SESSAME::Keplerian::m_OrbitalElements.

Referenced by O_SESSAME::Keplerian::ReadTwoLineElementSet(), and O_SESSAME::Keplerian::SetKeplerianRepresentationMeanAnomaly().

double O_SESSAME::Keplerian::GetEccentricAnomalyFromTrueAnomaly  )  [inherited]
 

Determine the Eccentric Anomaly $E$ (rad) from the True Anomaly and Eccentricity.

Equation:

\[E = 2 \arctan{ \sqrt{ \frac{ 1-e }{ 1+e } } \tan{ \frac{f}{2} } }\]

Definition at line 298 of file Keplerian.cpp.

References O_SESSAME::ECCENTRIC_ANOMALY, O_SESSAME::ECCENTRICITY, O_SESSAME::Keplerian::m_OrbitalElements, O_SESSAME::Keplerian::m_OrbitalParameters, and O_SESSAME::TRUE_ANOMALY.

Referenced by O_SESSAME::Keplerian::SetKeplerianRepresentationTrueAnomaly(), and O_SESSAME::Keplerian::SetPositionVelocity().

double O_SESSAME::Keplerian::GetLongPerigee  )  [inherited]
 

Determine the Longitude of Perigee, $\Pi$ (rad).

Equation:

\[\theta = \Omega + \omega\]

Definition at line 277 of file Keplerian.cpp.

References O_SESSAME::ARG_PERIGEE, O_SESSAME::LONG_ASC_NODE, O_SESSAME::LONG_PERIGEE, O_SESSAME::Keplerian::m_OrbitalElements, and O_SESSAME::Keplerian::m_OrbitalParameters.

Referenced by O_SESSAME::Keplerian::SetKeplerianRepresentationEccentricAnomaly(), O_SESSAME::Keplerian::SetKeplerianRepresentationMeanAnomaly(), O_SESSAME::Keplerian::SetKeplerianRepresentationTrueAnomaly(), and O_SESSAME::Keplerian::SetPositionVelocity().

double O_SESSAME::Keplerian::GetMeanAnomalyFromEccentricAnomaly  )  [inherited]
 

Determine the Mean Anomaly $M$ (-) from the Eccentric Anomaly and Eccentricity.

Equation:

\[M = E - e\sin{E}\]

Definition at line 310 of file Keplerian.cpp.

References O_SESSAME::ECCENTRIC_ANOMALY, O_SESSAME::ECCENTRICITY, O_SESSAME::Keplerian::m_OrbitalElements, O_SESSAME::Keplerian::m_OrbitalParameters, and O_SESSAME::MEAN_ANOMALY.

Referenced by O_SESSAME::Keplerian::SetKeplerianRepresentationEccentricAnomaly(), O_SESSAME::Keplerian::SetKeplerianRepresentationTrueAnomaly(), and O_SESSAME::Keplerian::SetPositionVelocity().

Keplerian O_SESSAME::OsculatingOrbitalElements::GetMeanOrbitalElements  ) 
 

Get the Mean oribtal elements with this function.

Definition at line 118 of file MappingMeanOsculatingOrbitElements.cpp.

Referenced by O_SESSAME::TestKeplerian::Check(), OrbitPropObserver::Run(), and GPSObserver::Run().

Keplerian O_SESSAME::OsculatingOrbitalElements::GetOsculatingOrbitalElements  ) 
 

Get the Osculating oribtal elements with this function.

Definition at line 126 of file MappingMeanOsculatingOrbitElements.cpp.

Referenced by O_SESSAME::TestKeplerian::Check(), GPSObserver::GetOsculatingOrbitalElements(), OrbitPropObserver::Run(), and GPSObserver::Run().

void O_SESSAME::Keplerian::GetPositionVelocity Vector _Position,
Vector _Velocity,
const OrbitFrame _TargetOrbFrame
const [inherited]
 

Return by reference the converted Keplerian orbit representation to position and velocity vectors in the specified frame.

Parameters:
_Position a Vector through which to return the 3-element position vector. (km)
_Velocity a Vector through which to return the 3-element velocity vector. (km/s)
_TargetOrbFrame the desired reference frame to return the vector components in.

Definition at line 445 of file Keplerian.cpp.

References O_SESSAME::Keplerian::GetPositionVelocity(), OrbitFrame::GetRotationFromIJK(), and O_SESSAME::Vector.

void O_SESSAME::Keplerian::GetPositionVelocity Vector _position,
Vector _velocity
const [virtual, inherited]
 

Return by reference the converted the Keplerian orbit representation to position and velocity vectors in the inertial frame.

required to match the OrbitStateRepresentation abstract class interface.

Parameters:
_Position a Vector through which to return the 3-element position vector in inertial corrdinates. (km)
_Velocity a Vector through which to return the 3-element velocity vector in inertial corrdinates. (km/s)
_TargetOrbFrame the desired reference frame to return the vector components in.

Implements O_SESSAME::OrbitStateRepresentation.

Definition at line 430 of file Keplerian.cpp.

References _, O_SESSAME::Keplerian::GetPositionVelocity(), O_SESSAME::Vector, and O_SESSAME::VectorIndexBase.

Vector O_SESSAME::Keplerian::GetPositionVelocity const OrbitFrame _TargetOrbFrame  )  const [inherited]
 

Convert the Keplerian orbit representation to position and velocity vectors in the specified frame.

Parameters:
_TargetOrbFrame the desired reference frame to return the vector components in.
Returns:
6-element vector of position and velocity vector components in the specified reference frame. [km, km, km, km/s, km/s, km/s]^T

Definition at line 412 of file Keplerian.cpp.

References _, O_SESSAME::Keplerian::GetPositionVelocity(), OrbitFrame::GetRotationFromIJK(), O_SESSAME::Vector, and O_SESSAME::VectorIndexBase.

Vector O_SESSAME::Keplerian::GetPositionVelocity  )  const [virtual, inherited]
 

Convert the Keplerian orbit representation to position and velocity vectors in the inertial frame.

Required to match the OrbitStateRepresentation abstract class interface.

Returns:
6-element vector of position and velocity vector components in the inertial reference frame (ECI). [km, km, km, km/s, km/s, km/s]^T

Implements O_SESSAME::OrbitStateRepresentation.

Definition at line 371 of file Keplerian.cpp.

References _, O_SESSAME::Keplerian::GetArgPerigee(), O_SESSAME::Keplerian::GetInclination(), O_SESSAME::Keplerian::GetLongAscNode(), O_SESSAME::Keplerian::GetPositionVelocityPQW(), O_SESSAME::R1(), O_SESSAME::R3(), O_SESSAME::Vector, and O_SESSAME::VectorIndexBase.

Referenced by O_SESSAME::Keplerian::GetPositionVelocity(), and O_SESSAME::TestKeplerian::Keplerian2ECI2Keplerian().

Vector O_SESSAME::Keplerian::GetPositionVelocityPQW  )  const [inherited]
 

Convert the Keplerian orbit representation to position and velocity vectors in the Perifocal frame (PQW).

This does not match the the OrbitStateRepresentation abstract class interface, but is used to obtain ECI position and velocity.

Returns:
6-element vector of position and velocity vector components in the inertial reference frame (PQW). [km, km, km, km/s, km/s, km/s]^T

Definition at line 394 of file Keplerian.cpp.

References O_SESSAME::Keplerian::GetEccentricity(), O_SESSAME::Keplerian::GetSemiParameter(), O_SESSAME::Keplerian::GetTrueAnomaly(), MU, O_SESSAME::Vector, and O_SESSAME::VectorIndexBase.

Referenced by O_SESSAME::Keplerian::GetPositionVelocity().

void O_SESSAME::Keplerian::GetState Vector _Elements  )  const [virtual, inherited]
 

Return a vector by reference of the representation's state vector.

Warning:
Deprecated - Do Not Use - will be moved internally

Definition at line 815 of file Keplerian.cpp.

References O_SESSAME::Vector.

Vector O_SESSAME::Keplerian::GetState  )  const [virtual, inherited]
 

Return a vector of the representation's state vector.

Warning:
Deprecated - Do Not Use - will be moved internally

Implements O_SESSAME::OrbitStateRepresentation.

Definition at line 806 of file Keplerian.cpp.

References O_SESSAME::Vector.

void O_SESSAME::Keplerian::GetTrueAnomalyFromEccentricAnomaly const double &  _EccentricAnomaly  )  [inherited]
 

Calculates true anomaly ($\nu$) from eccentric anomaly (E), semimajor axis (a), and eccentricity (e).

Adapted from Appendix A, Orbits, by Christopher D. Hall. Class notes for AOE 4140. Available at http://www.aoe.vt.edu/~chall/courses/aoe4140/

Definition at line 497 of file Keplerian.cpp.

References O_SESSAME::ECCENTRICITY, O_SESSAME::Keplerian::m_OrbitalElements, O_SESSAME::SEMIMAJOR_AXIS, and O_SESSAME::TRUE_ANOMALY.

Referenced by O_SESSAME::Keplerian::ReadTwoLineElementSet(), O_SESSAME::Keplerian::SetKeplerianRepresentationEccentricAnomaly(), and O_SESSAME::Keplerian::SetKeplerianRepresentationMeanAnomaly().

double O_SESSAME::Keplerian::GetTrueLongitude  )  [inherited]
 

Determine the True Longitude, $\ell$ (rad).

Equation:

\[\ell = \Omega + \omega + f \]

Definition at line 287 of file Keplerian.cpp.

References O_SESSAME::ARG_PERIGEE, O_SESSAME::LONG_ASC_NODE, O_SESSAME::Keplerian::m_OrbitalElements, O_SESSAME::Keplerian::m_OrbitalParameters, O_SESSAME::TRUE_ANOMALY, and O_SESSAME::TRUE_LONGITUDE.

Referenced by O_SESSAME::Keplerian::SetKeplerianRepresentationEccentricAnomaly(), O_SESSAME::Keplerian::SetKeplerianRepresentationMeanAnomaly(), O_SESSAME::Keplerian::SetKeplerianRepresentationTrueAnomaly(), and O_SESSAME::Keplerian::SetPositionVelocity().

Keplerian O_SESSAME::Keplerian::KeplerianCopy  )  [inherited]
 

Create a copy of the Keplerian representation.

Definition at line 71 of file Keplerian.cpp.

Referenced by SetMeanOrbitalElements(), and SetOsculatingOrbitalElements().

Keplerian O_SESSAME::OsculatingOrbitalElements::Mapping Keplerian _keplerian  ) 
 

Convert the Mean oribtal elements to Osculating Orbital Elements. This mapping algorithm is from page 693 of Analytical Mechanics of Space Systems by Schaub and Junkins.

Parameters:
_keplerian variable of class Keplerian
Returns:
the mapped keplerian representation

Definition at line 166 of file MappingMeanOsculatingOrbitElements.cpp.

References O_SESSAME::Keplerian::GetArgPerigee(), O_SESSAME::Keplerian::GetEccentricAnomaly(), O_SESSAME::Keplerian::GetEccentricity(), O_SESSAME::Keplerian::GetInclination(), O_SESSAME::Keplerian::GetLongAscNode(), O_SESSAME::Keplerian::GetMeanAnomaly(), O_SESSAME::Keplerian::GetSemimajorAxis(), O_SESSAME::Keplerian::GetTrueAnomaly(), m_Gamma2, PI, O_SESSAME::Keplerian::SetKeplerianRepresentationMeanAnomaly(), O_SESSAME::Vector, and O_SESSAME::VectorIndexBase.

Referenced by MeanToOsculating(), and OsculatingToMean().

void O_SESSAME::OsculatingOrbitalElements::MeanToOsculating  ) 
 

Convert the Mean oribtal elements to Osculating Orbital Elements.

Definition at line 148 of file MappingMeanOsculatingOrbitElements.cpp.

References O_SESSAME::Keplerian::GetSemimajorAxis(), J2, m_Gamma2, m_MeanOrbitalElements, Mapping(), and Re.

Referenced by SetMeanOrbitalElements().

OsculatingOrbitalElements * O_SESSAME::OsculatingOrbitalElements::NewPointer  )  [virtual]
 

Return a pointer to a new instance of a OsculatingOrbitELement orbit state representation type.

This is used to request memory for a new instance of a OsculatingOrbitELement. It is necessary when attempting to get a pointer from the abstract data type OrbitStateRepresentation and the actual representation type isn't known.

Returns:
a pointer to a new allocation of memory for the Keplerian object.

Reimplemented from O_SESSAME::Keplerian.

Definition at line 32 of file MappingMeanOsculatingOrbitElements.cpp.

References OsculatingOrbitalElements().

void O_SESSAME::OsculatingOrbitalElements::OsculatingToMean  ) 
 

Convert the Osculating oribtal elements to Mean Orbital Elements.

Definition at line 135 of file MappingMeanOsculatingOrbitElements.cpp.

References O_SESSAME::Keplerian::GetSemimajorAxis(), J2, m_Gamma2, m_MeanOrbitalElements, m_OsculatingOrbitalElements, Mapping(), and Re.

Referenced by SetOsculatingOrbitalElements().

tleStruct O_SESSAME::Keplerian::ReadTwoLineElementSet const string &  _TwoLineElementSet  )  [inherited]
 

Parses a two line element set and updates orbital elements, returns a struct of additional information.

Adapted from Appendix A, Orbits, by Christopher D. Hall. Class notes for AOE 4140. Available at http://www.aoe.vt.edu/~chall/courses/aoe4140/

Sample TLEs: COSMOS 2278 1 23087U 94023A 98011.59348139 .00000348 00000-0 21464-3 0 5260 2 23087 71.0176 58.4285 0007185 172.8790 187.2435 14.12274429191907

NOAA 14 1 23455U 94089A 97320.90946019 .00000140 00000-0 10191-3 0 2621 2 23455 99.0090 272.6745 0008546 223.1686 136.8816 14.11711747148495

TLE Definition AAAAAAAAAAAAAAAAAAAAAAAA 1 NNNNNU NNNNNAAA NNNNN.NNNNNNNN +.NNNNNNNN +NNNNN-N +NNNNN-N N NNNNN 2 NNNNN NNN.NNNN NNN.NNNN NNNNNNN NNN.NNNN NNN.NNNN NN.NNNNNNNNNNNNNN Line 0 is a twenty-four character name (to be consistent with the name length in the NORAD SATCAT). Lines 1 and 2 are the standard Two-Line Orbital Element Set Format identical to that used by NORAD and NASA.

Todo:
Error checking for syntactically correct TLEs, including endlines, carriage returns.

Include full year info logic as per the tle standard, wherein 57-99 --> 19__ and 00-56 --> 20__.

verify that RAAN = longitude of the ascending node.

Definition at line 547 of file Keplerian.cpp.

References O_SESSAME::ARG_PERIGEE, O_SESSAME::tleStruct::bstarDrag, O_SESSAME::tleStruct::checksumLine1, O_SESSAME::tleStruct::checksumLine2, O_SESSAME::tleStruct::eccentricAnomaly, O_SESSAME::ECCENTRICITY, O_SESSAME::tleStruct::elementNumber, O_SESSAME::tleStruct::ephemerisType, O_SESSAME::tleStruct::epochDay, O_SESSAME::tleStruct::epochYear, O_SESSAME::Keplerian::GetEccentricAnomalyFromMeanAnomaly(), O_SESSAME::Keplerian::GetTrueAnomalyFromEccentricAnomaly(), O_SESSAME::INCLINATION, O_SESSAME::tleStruct::launchNumber, O_SESSAME::tleStruct::launchPiece, O_SESSAME::tleStruct::launchYear, O_SESSAME::LONG_ASC_NODE, O_SESSAME::Keplerian::m_OrbitalElements, O_SESSAME::Keplerian::m_tleData, O_SESSAME::tleStruct::meanAnomaly, O_SESSAME::tleStruct::meanMotion, O_SESSAME::tleStruct::meanmotion1stDeriv, O_SESSAME::tleStruct::meanmotion2ndDeriv, MU, PI, O_SESSAME::tleStruct::revolutionNumber, O_SESSAME::tleStruct::satClassification, O_SESSAME::tleStruct::satName, O_SESSAME::tleStruct::satNumber, and O_SESSAME::SEMIMAJOR_AXIS.

void O_SESSAME::Keplerian::SetKeplerianRepresentationEccentricAnomaly const Vector _OrbitalElements  )  [inherited]
 

Set the Keplerian representation by a vector representation of Orbital Elements.

Parameters:
_Elements 6-element vector of Keplerian orbital elements [a, e, i, $\Omega$, $\omega$, E]. (km, -, rad, rad, rad, rad)

Definition at line 104 of file Keplerian.cpp.

References _, O_SESSAME::ARG_LATTITUDE, O_SESSAME::ARG_PERIGEE, O_SESSAME::ECCENTRIC_ANOMALY, O_SESSAME::Keplerian::GetArgLattitude(), O_SESSAME::Keplerian::GetLongPerigee(), O_SESSAME::Keplerian::GetMeanAnomalyFromEccentricAnomaly(), O_SESSAME::Keplerian::GetTrueAnomalyFromEccentricAnomaly(), O_SESSAME::Keplerian::GetTrueLongitude(), O_SESSAME::LONG_PERIGEE, O_SESSAME::Keplerian::m_OrbitalElements, O_SESSAME::Keplerian::m_OrbitalParameters, O_SESSAME::MEAN_ANOMALY, O_SESSAME::SEMIMAJOR_AXIS, O_SESSAME::TRUE_LONGITUDE, O_SESSAME::Vector, and O_SESSAME::VectorIndexBase.

void O_SESSAME::Keplerian::SetKeplerianRepresentationMeanAnomaly const Vector _OrbitalElements  )  [inherited]
 

Set the Keplerian representation by a vector representation of Orbital Elements.

Parameters:
_Elements 6-element vector of Keplerian orbital elements [a, e, i, $\Omega$, $\omega$, M]. (km, -, rad, rad, rad, rad)

Definition at line 131 of file Keplerian.cpp.

References _, O_SESSAME::ARG_LATTITUDE, O_SESSAME::ARG_PERIGEE, O_SESSAME::ECCENTRIC_ANOMALY, O_SESSAME::Keplerian::GetArgLattitude(), O_SESSAME::Keplerian::GetEccentricAnomalyFromMeanAnomaly(), O_SESSAME::Keplerian::GetLongPerigee(), O_SESSAME::Keplerian::GetTrueAnomalyFromEccentricAnomaly(), O_SESSAME::Keplerian::GetTrueLongitude(), O_SESSAME::LONG_PERIGEE, O_SESSAME::Keplerian::m_OrbitalElements, O_SESSAME::Keplerian::m_OrbitalParameters, O_SESSAME::MEAN_ANOMALY, O_SESSAME::SEMIMAJOR_AXIS, O_SESSAME::TRUE_LONGITUDE, O_SESSAME::Vector, and O_SESSAME::VectorIndexBase.

Referenced by Mapping().

void O_SESSAME::Keplerian::SetKeplerianRepresentationTrueAnomaly const Vector _OrbitalElements  )  [inherited]
 

Set the Keplerian representation by a vector representation of Orbital Elements.

Parameters:
_Elements 6-element vector of Keplerian orbital elements [a, e, i, $\Omega$, $\omega$, $\nu$]. (km, -, rad, rad, rad, rad)

Definition at line 81 of file Keplerian.cpp.

References O_SESSAME::ARG_LATTITUDE, O_SESSAME::ECCENTRIC_ANOMALY, O_SESSAME::Keplerian::GetArgLattitude(), O_SESSAME::Keplerian::GetEccentricAnomalyFromTrueAnomaly(), O_SESSAME::Keplerian::GetLongPerigee(), O_SESSAME::Keplerian::GetMeanAnomalyFromEccentricAnomaly(), O_SESSAME::Keplerian::GetTrueLongitude(), O_SESSAME::LONG_PERIGEE, O_SESSAME::Keplerian::m_OrbitalElements, O_SESSAME::Keplerian::m_OrbitalParameters, O_SESSAME::MEAN_ANOMALY, O_SESSAME::TRUE_LONGITUDE, and O_SESSAME::Vector.

Referenced by O_SESSAME::TestKeplerian::Check(), O_SESSAME::Keplerian::Keplerian(), and O_SESSAME::Keplerian::SetState().

void O_SESSAME::OsculatingOrbitalElements::SetMeanOrbitalElements CAMdoubleVector  _ECIVector  ) 
 

Set the mean oribtal elements with this function.

Definition at line 103 of file MappingMeanOsculatingOrbitElements.cpp.

References O_SESSAME::Keplerian::KeplerianCopy(), m_MeanOrbitalElements, MeanToOsculating(), and O_SESSAME::Keplerian::SetPositionVelocity().

void O_SESSAME::OsculatingOrbitalElements::SetMeanOrbitalElements Keplerian _MeanOrbitalElements  ) 
 

Set the mean oribtal elements with this function.

Definition at line 91 of file MappingMeanOsculatingOrbitElements.cpp.

References O_SESSAME::Keplerian::KeplerianCopy(), m_MeanOrbitalElements, and MeanToOsculating().

Referenced by O_SESSAME::TestKeplerian::Check().

void O_SESSAME::OsculatingOrbitalElements::SetOsculatingOrbitalElements CAMdoubleVector  _ECIVector  ) 
 

Set the osculating oribtal elements with this function.

Parameters:
_ECIVector (6x1) km & km/s

Definition at line 77 of file MappingMeanOsculatingOrbitElements.cpp.

References O_SESSAME::Keplerian::KeplerianCopy(), m_OsculatingOrbitalElements, OsculatingToMean(), and O_SESSAME::Keplerian::SetPositionVelocity().

void O_SESSAME::OsculatingOrbitalElements::SetOsculatingOrbitalElements Keplerian _OsculatingOrbitalElements  ) 
 

Set the osculating oribtal elements with this function.

Parameters:
_OsculatingOrbitalElements 

Definition at line 64 of file MappingMeanOsculatingOrbitElements.cpp.

References O_SESSAME::Keplerian::KeplerianCopy(), m_OsculatingOrbitalElements, and OsculatingToMean().

Referenced by O_SESSAME::TestKeplerian::Check(), OrbitPropObserver::Run(), and GPSObserver::Run().

void O_SESSAME::Keplerian::SetPositionVelocity const Vector _PositionVelocity,
const OrbitFrame _OrbFrame
[inherited]
 

Set the Keplerian representation by converting the position and velocity vector.

Todo:
implement Keplerian conversion functions
Parameters:
_Position 6-element vector of position and velocity components. (km, km/s)
_TargetOrbFrame Reference frame that the vector components are in.

Definition at line 357 of file Keplerian.cpp.

References _, O_SESSAME::Keplerian::SetPositionVelocity(), O_SESSAME::Vector, and O_SESSAME::VectorIndexBase.

void O_SESSAME::Keplerian::SetPositionVelocity const Vector _Position,
const Vector _Velocity,
const OrbitFrame _OrbFrame
[inherited]
 

Set the Keplerian representation by converting the position and velocity vectors.

Todo:
implement Keplerian conversion functions
Parameters:
_Position 3-element vector of position components. (km)
_Velocity 3-element vector of vector components. (km/s)
_TargetOrbFrame Reference frame that the vector components are in.

Definition at line 341 of file Keplerian.cpp.

References OrbitFrame::GetRotation2IJK(), O_SESSAME::Keplerian::SetPositionVelocity(), and O_SESSAME::Vector.

void O_SESSAME::Keplerian::SetPositionVelocity const Vector _PositionVelocity  )  [virtual, inherited]
 

Set the Keplerian representation by converting the position and velocity vector given in inertial coordinates.

required to match the OrbitStateRepresentation abstract class interface.

Todo:
implement Keplerian conversion functions
Parameters:
_Position 6-element vector of position and velocity components in inertial coordinates. (km, km/s)

Implements O_SESSAME::OrbitStateRepresentation.

Definition at line 324 of file Keplerian.cpp.

References _, O_SESSAME::Keplerian::SetPositionVelocity(), O_SESSAME::Vector, and O_SESSAME::VectorIndexBase.

void O_SESSAME::Keplerian::SetPositionVelocity const Vector _position,
const Vector _velocity
[virtual, inherited]
 

Set the Keplerian representation by converting the position and velocity vectors in inertial coordinates (ECI) to Keplerian Orbit Elements. Follows procedure outlined in Analytical Mechanics of Space Systems by Schaub and Junkins (page 409).

Required to match the OrbitStateRepresentation abstract class interface.

Parameters:
_position 3-element vector of position components in inertial coordinates. (km)
_velocity 3-element vector of vector components in inertial coordinates. (km/s)

Implements O_SESSAME::OrbitStateRepresentation.

Definition at line 166 of file Keplerian.cpp.

References _, abs, O_SESSAME::ARG_LATTITUDE, O_SESSAME::ARG_PERIGEE, O_SESSAME::crossP(), CAMvectorBase::dot(), O_SESSAME::ECCENTRIC_ANOMALY, O_SESSAME::ECCENTRICITY, O_SESSAME::Keplerian::GetArgLattitude(), O_SESSAME::Keplerian::GetEccentricAnomalyFromTrueAnomaly(), O_SESSAME::Keplerian::GetLongPerigee(), O_SESSAME::Keplerian::GetMeanAnomalyFromEccentricAnomaly(), O_SESSAME::Keplerian::GetTrueLongitude(), O_SESSAME::INCLINATION, O_SESSAME::LONG_ASC_NODE, O_SESSAME::LONG_PERIGEE, O_SESSAME::Keplerian::m_OrbitalElements, O_SESSAME::Keplerian::m_OrbitalParameters, O_SESSAME::Matrix, O_SESSAME::MEAN_ANOMALY, MU, O_SESSAME::norm2(), PI, O_SESSAME::SEMIMAJOR_AXIS, O_SESSAME::TRUE_ANOMALY, O_SESSAME::TRUE_LONGITUDE, O_SESSAME::Vector, and O_SESSAME::VectorIndexBase.

Referenced by O_SESSAME::AttitudeState::GetRotation2Orbital(), O_SESSAME::TestKeplerian::Keplerian2ECI2Keplerian(), SetMeanOrbitalElements(), SetOsculatingOrbitalElements(), and O_SESSAME::Keplerian::SetPositionVelocity().

void O_SESSAME::Keplerian::SetState const Vector _Elements  )  [virtual, inherited]
 

Set the vector of the representation's state vector.

Warning:
Deprecated - Do Not Use - will be moved internally

Implements O_SESSAME::OrbitStateRepresentation.

Definition at line 794 of file Keplerian.cpp.

References O_SESSAME::Keplerian::SetKeplerianRepresentationTrueAnomaly(), and O_SESSAME::Vector.


Member Data Documentation

double O_SESSAME::OsculatingOrbitalElements::m_Gamma2 [private]
 

Definition at line 71 of file MappingMeanOsculatingOrbitElements.h.

Referenced by Mapping(), MeanToOsculating(), and OsculatingToMean().

Keplerian O_SESSAME::OsculatingOrbitalElements::m_MeanOrbitalElements [private]
 

Definition at line 69 of file MappingMeanOsculatingOrbitElements.h.

Referenced by MeanToOsculating(), OsculatingToMean(), and SetMeanOrbitalElements().

Keplerian O_SESSAME::OsculatingOrbitalElements::m_OsculatingOrbitalElements [private]
 

Definition at line 67 of file MappingMeanOsculatingOrbitElements.h.

Referenced by OsculatingToMean(), and SetOsculatingOrbitalElements().


The documentation for this class was generated from the following files:
Generated on Wed Sep 5 12:54:48 2007 for DSACSS Operational Code by  doxygen 1.3.9.1