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::CentralBody Class Reference
[Environment Toolkit]

#include <CentralBody.h>

Inheritance diagram for O_SESSAME::CentralBody:

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

Collaboration graph
[legend]
List of all members.

Detailed Description

Abstract representation of a central body.

The CentralBody class provides a common interface to the group of central body objects (Planet, moon, asteroid, etc.) The central body group stores the pertinent parameters that affect the operating environment of a spacecraft. This includes the radius, mass, gravity field, atmosphere characteristics (if they is an atm), and relationship to other central bodies (such as from the sun, or a moon to planet).

Definition at line 34 of file CentralBody.h.

Public Member Functions

virtual ~CentralBody ()
 Default Deconstructor.
void SetMagneticModel (MagneticModel *_pNewMagModel)
virtual double GetAvgRotationRate ()
virtual double GetRadius ()
virtual double GetGravitationalParameter ()
Vector GetVector2Body (CentralBody *) const
 calculate the vector from the central body to another central body
Vector GetVector2Body (const OrbitState &_satOrbitState) const
 calculate the vector from the central body to a satellite
CentralBodyoperator= (CentralBody *)
 Returns a pointer to the instance of the central body.
void ReleaseReference ()
 decrease the number of references to the central body pointer

Protected Member Functions

 CentralBody ()
 Construct a central body object.
void GetReference ()
 increase the number of references to the central body pointer

Protected Attributes

double m_Radius
 radius of the central body, [km]
double m_Mass
 mass of the central body, [kg]
double m_GravitationalParameter
 gravitational parameter, $\mu$ [km^3/(solar s)^2]
double m_AtmHeight
double m_AvgRotationRate
 average rotation rate of the central body, [rad/s]
Vector m_GravitationalFieldConstants
int m_ReferenceCount
MagneticModelm_pMagneticFieldModel
MagneticFieldCoefficients m_MagFieldCoeffs


Constructor & Destructor Documentation

virtual O_SESSAME::CentralBody::~CentralBody  )  [inline, virtual]
 

Default Deconstructor.

Definition at line 38 of file CentralBody.h.

O_SESSAME::CentralBody::CentralBody  )  [protected]
 

Construct a central body object.

Definition at line 17 of file CentralBody.cpp.


Member Function Documentation

double O_SESSAME::CentralBody::GetAvgRotationRate  )  [inline, virtual]
 

Definition at line 43 of file CentralBody.cpp.

virtual double O_SESSAME::CentralBody::GetGravitationalParameter  )  [inline, virtual]
 

Definition at line 48 of file CentralBody.h.

Referenced by SetupEnvironment().

double O_SESSAME::CentralBody::GetRadius  )  [inline, virtual]
 

Definition at line 45 of file CentralBody.cpp.

void O_SESSAME::CentralBody::GetReference  )  [protected]
 

increase the number of references to the central body pointer

Definition at line 22 of file CentralBody.cpp.

Referenced by operator=().

Vector O_SESSAME::CentralBody::GetVector2Body const OrbitState _satOrbitState  )  const
 

calculate the vector from the central body to a satellite

Vector O_SESSAME::CentralBody::GetVector2Body CentralBody  )  const
 

calculate the vector from the central body to another central body

Referenced by ThirdBodyForceDisturbance().

CentralBody * O_SESSAME::CentralBody::operator= CentralBody  ) 
 

Returns a pointer to the instance of the central body.

Definition at line 47 of file CentralBody.cpp.

References GetReference().

void O_SESSAME::CentralBody::ReleaseReference  ) 
 

decrease the number of references to the central body pointer

Todo:
Check how to verify the number of references & delete the object

Definition at line 27 of file CentralBody.cpp.

References m_ReferenceCount.

Referenced by O_SESSAME::Environment::~Environment().

void O_SESSAME::CentralBody::SetMagneticModel MagneticModel _pNewMagModel  ) 
 

Definition at line 37 of file CentralBody.cpp.

References m_MagFieldCoeffs, m_pMagneticFieldModel, and O_SESSAME::MagneticModel::SetMagFieldCoefficients().

Referenced by SetupEnvironment().


Member Data Documentation

double O_SESSAME::CentralBody::m_AtmHeight [protected]
 

Definition at line 75 of file CentralBody.h.

double O_SESSAME::CentralBody::m_AvgRotationRate [protected]
 

average rotation rate of the central body, [rad/s]

Definition at line 76 of file CentralBody.h.

Vector O_SESSAME::CentralBody::m_GravitationalFieldConstants [protected]
 

Definition at line 77 of file CentralBody.h.

double O_SESSAME::CentralBody::m_GravitationalParameter [protected]
 

gravitational parameter, $\mu$ [km^3/(solar s)^2]

Definition at line 73 of file CentralBody.h.

MagneticFieldCoefficients O_SESSAME::CentralBody::m_MagFieldCoeffs [protected]
 

Definition at line 81 of file CentralBody.h.

Referenced by SetMagneticModel().

double O_SESSAME::CentralBody::m_Mass [protected]
 

mass of the central body, [kg]

Definition at line 72 of file CentralBody.h.

MagneticModel* O_SESSAME::CentralBody::m_pMagneticFieldModel [protected]
 

Definition at line 80 of file CentralBody.h.

Referenced by SetMagneticModel().

double O_SESSAME::CentralBody::m_Radius [protected]
 

radius of the central body, [km]

Definition at line 71 of file CentralBody.h.

int O_SESSAME::CentralBody::m_ReferenceCount [protected]
 

Definition at line 79 of file CentralBody.h.

Referenced by ReleaseReference().


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