Spacecraft Class Reference
[GeoDynamics]

#include <Spacecraft.hpp>

Collaboration diagram for Spacecraft:

Collaboration graph
[legend]
List of all members.

Detailed Description

The Spacecraft class encapsulates physical parameters.

Definition at line 50 of file Spacecraft.hpp.

Public Member Functions

 Spacecraft (std::string name="spacecraft")
 Default constructor.
 ~Spacecraft ()
 Default destructor.
Vector< double > R ()
 SC position(R), velocity(V) and dynamic parameters(P).
Vector< double > V ()
Vector< double > P ()
Vector< double > dR_dR0 ()
 SC derivatives.
Vector< double > dR_dV0 ()
Vector< double > dR_dP0 ()
Vector< double > dV_dR0 ()
Vector< double > dV_dV0 ()
Vector< double > dV_dP0 ()
int getNumOfP ()
 Get number of force model parameters.
void initStateVector (Vector< double > rv, Vector< double > dp=Vector< double >(0, 0.0))
 initialize the state vector with position and velocity and force model parameters
Vector< double > getStateVector ()
 Methods to handle SC state vector.
void setStateVector (Vector< double > y)
Matrix< double > getTransitionMatrix ()
 Methods to handle SC transition matrix.
void setTransitionMatrix (Matrix< double > phiMatrix)
Matrix< double > getStateTransitionMatrix ()
 Method to get SC state transition matrix 6*6.
Matrix< double > getSensitivityMatrix ()
 Method to get SC sensitivity matrix 6*np.
std::string getName ()
SpacecraftsetName (std::string satName)
double getReflectCoeff ()
SpacecraftsetReflectCoeff (double Cr)
double getDragCoeff ()
SpacecraftsetDragCoeff (double Cd)
double getDragArea ()
SpacecraftsetDragArea (double satArea)
double getSRPArea ()
SpacecraftsetSRPArea (double satArea)
double getDryMass ()
SpacecraftsetDryMass (double satMass)
void test ()
 some basic test

Protected Member Functions

void resetState ()

Protected Attributes

string scName
 name: The name of the spacecraft (e.g. "NCC-1701-D")
UTCTime utc
 Object to hold epoch in UTC.
Vector< double > r
 state vector 6*n + 42
Vector< double > v
Vector< double > p
Vector< double > dr_dr0
Vector< double > dr_dv0
Vector< double > dr_dp0
Vector< double > dv_dr0
Vector< double > dv_dv0
Vector< double > dv_dp0
double reflectCoeff
 Coefficient of Reflectivity.
double dragCoeff
 Coefficient of drag.
double crossArea
 Cross sectional (reflective) area [m^2].
double dryMass
 mass [kg]


Constructor & Destructor Documentation

Spacecraft std::string  name = "spacecraft"  ) 
 

Default constructor.

Definition at line 38 of file Spacecraft.cpp.

References Spacecraft::crossArea, Spacecraft::dragCoeff, Spacecraft::dryMass, Spacecraft::reflectCoeff, Spacecraft::resetState(), and Spacecraft::scName.

~Spacecraft  )  [inline]
 

Default destructor.

Definition at line 58 of file Spacecraft.hpp.


Member Function Documentation

Vector<double> dR_dP0  )  [inline]
 

Definition at line 68 of file Spacecraft.hpp.

Vector<double> dR_dR0  )  [inline]
 

SC derivatives.

Definition at line 66 of file Spacecraft.hpp.

Vector<double> dR_dV0  )  [inline]
 

Definition at line 67 of file Spacecraft.hpp.

Vector<double> dV_dP0  )  [inline]
 

Definition at line 71 of file Spacecraft.hpp.

Vector<double> dV_dR0  )  [inline]
 

Definition at line 69 of file Spacecraft.hpp.

Vector<double> dV_dV0  )  [inline]
 

Definition at line 70 of file Spacecraft.hpp.

double getDragArea  )  [inline]
 

Definition at line 120 of file Spacecraft.hpp.

Referenced by SolarRadiationPressure::doCompute(), and AtmosphericDrag::doCompute().

double getDragCoeff  )  [inline]
 

Definition at line 112 of file Spacecraft.hpp.

Referenced by AtmosphericDrag::doCompute().

double getDryMass  )  [inline]
 

Definition at line 135 of file Spacecraft.hpp.

Referenced by SolarRadiationPressure::doCompute(), and AtmosphericDrag::doCompute().

std::string getName  )  [inline]
 

Definition at line 97 of file Spacecraft.hpp.

int getNumOfP  )  [inline]
 

Get number of force model parameters.

Definition at line 74 of file Spacecraft.hpp.

double getReflectCoeff  )  [inline]
 

Definition at line 105 of file Spacecraft.hpp.

Referenced by SolarRadiationPressure::doCompute().

Matrix< double > getSensitivityMatrix  ) 
 

Method to get SC sensitivity matrix 6*np.

Definition at line 323 of file Spacecraft.cpp.

References Spacecraft::dr_dp0, Spacecraft::dv_dp0, Spacecraft::p, and Vector::size().

double getSRPArea  )  [inline]
 

Definition at line 127 of file Spacecraft.hpp.

Matrix< double > getStateTransitionMatrix  ) 
 

Method to get SC state transition matrix 6*6.

dr/dr0

dr/dv0

dv/dr0

dv/dv0

Definition at line 264 of file Spacecraft.cpp.

References Spacecraft::dr_dr0, Spacecraft::dr_dv0, Spacecraft::dv_dr0, Spacecraft::dv_dv0, Spacecraft::p, and Vector::size().

Vector< double > getStateVector  ) 
 

Methods to handle SC state vector.

Definition at line 352 of file Spacecraft.cpp.

References Spacecraft::dr_dp0, Spacecraft::dr_dr0, Spacecraft::dr_dv0, Spacecraft::dv_dp0, Spacecraft::dv_dr0, Spacecraft::dv_dv0, Spacecraft::p, Spacecraft::r, Vector::size(), and Spacecraft::v.

Matrix< double > getTransitionMatrix  ) 
 

Methods to handle SC transition matrix.

dr/dr0

dr/dv0

dv/dr0

dv/dv0

dr/dp0

Definition at line 110 of file Spacecraft.cpp.

References Spacecraft::dr_dp0, Spacecraft::dr_dr0, Spacecraft::dr_dv0, Spacecraft::dv_dp0, Spacecraft::dv_dr0, Spacecraft::dv_dv0, Spacecraft::p, and Vector::size().

Referenced by ForceModelList::getDerivatives().

void initStateVector Vector< double >  rv,
Vector< double >  dp = Vector< double >(0, 0.0)
 

initialize the state vector with position and velocity and force model parameters

Definition at line 77 of file Spacecraft.cpp.

References Spacecraft::dr_dp0, Spacecraft::dv_dp0, GPSTK_THROW, Spacecraft::p, Spacecraft::r, Spacecraft::resetState(), Vector::resize(), Vector::size(), and Spacecraft::v.

Referenced by HarrisPriesterDrag::test().

Vector<double> P  )  [inline]
 

Definition at line 63 of file Spacecraft.hpp.

Vector<double> R  )  [inline]
 

SC position(R), velocity(V) and dynamic parameters(P).

Definition at line 61 of file Spacecraft.hpp.

Referenced by SunForce::doCompute(), SphericalHarmonicGravity::doCompute(), SolarRadiationPressure::doCompute(), RelativityEffect::doCompute(), MoonForce::doCompute(), AtmosphericDrag::doCompute(), and ForceModelList::getDerivatives().

void resetState  )  [protected]
 

Definition at line 52 of file Spacecraft.cpp.

References Spacecraft::dr_dp0, Spacecraft::dr_dr0, Spacecraft::dr_dv0, Spacecraft::dv_dp0, Spacecraft::dv_dr0, Spacecraft::dv_dv0, Spacecraft::p, Spacecraft::r, Vector::resize(), and Spacecraft::v.

Referenced by Spacecraft::initStateVector(), and Spacecraft::Spacecraft().

Spacecraft& setDragArea double  satArea  )  [inline]
 

Definition at line 123 of file Spacecraft.hpp.

Referenced by SatOrbit::setSpacecraftData(), and HarrisPriesterDrag::test().

Spacecraft& setDragCoeff double  Cd  )  [inline]
 

Definition at line 116 of file Spacecraft.hpp.

Referenced by SatOrbit::setSpacecraftData(), and HarrisPriesterDrag::test().

Spacecraft& setDryMass double  satMass  )  [inline]
 

Definition at line 139 of file Spacecraft.hpp.

Referenced by SatOrbit::setSpacecraftData(), and HarrisPriesterDrag::test().

Spacecraft& setName std::string  satName  )  [inline]
 

Definition at line 101 of file Spacecraft.hpp.

Referenced by SatOrbit::setSpacecraftData().

Spacecraft& setReflectCoeff double  Cr  )  [inline]
 

Definition at line 109 of file Spacecraft.hpp.

Referenced by SatOrbit::setSpacecraftData().

Spacecraft& setSRPArea double  satArea  )  [inline]
 

Definition at line 131 of file Spacecraft.hpp.

Referenced by SatOrbit::setSpacecraftData().

void setStateVector Vector< double >  y  ) 
 

Definition at line 383 of file Spacecraft.cpp.

References Spacecraft::dr_dp0, Spacecraft::dr_dr0, Spacecraft::dr_dv0, Spacecraft::dv_dp0, Spacecraft::dv_dr0, Spacecraft::dv_dv0, Spacecraft::p, Spacecraft::r, Vector::resize(), Vector::size(), and Spacecraft::v.

Referenced by SatOrbit::getDerivatives().

void setTransitionMatrix Matrix< double >  phiMatrix  ) 
 

Definition at line 188 of file Spacecraft.cpp.

References Spacecraft::dr_dp0, Spacecraft::dr_dr0, Spacecraft::dr_dv0, Spacecraft::dv_dp0, Spacecraft::dv_dr0, Spacecraft::dv_dv0, Spacecraft::p, Vector::resize(), and Matrix::rows().

void test  ) 
 

some basic test

Definition at line 417 of file Spacecraft.cpp.

Vector<double> V  )  [inline]
 

Definition at line 62 of file Spacecraft.hpp.

Referenced by RelativityEffect::doCompute(), AtmosphericDrag::doCompute(), and ForceModelList::getDerivatives().


Member Data Documentation

double crossArea [protected]
 

Cross sectional (reflective) area [m^2].

Definition at line 177 of file Spacecraft.hpp.

Referenced by Spacecraft::Spacecraft().

Vector<double> dr_dp0 [protected]
 

Definition at line 165 of file Spacecraft.hpp.

Referenced by Spacecraft::getSensitivityMatrix(), Spacecraft::getStateVector(), Spacecraft::getTransitionMatrix(), Spacecraft::initStateVector(), Spacecraft::resetState(), Spacecraft::setStateVector(), and Spacecraft::setTransitionMatrix().

Vector<double> dr_dr0 [protected]
 

Definition at line 163 of file Spacecraft.hpp.

Referenced by Spacecraft::getStateTransitionMatrix(), Spacecraft::getStateVector(), Spacecraft::getTransitionMatrix(), Spacecraft::resetState(), Spacecraft::setStateVector(), and Spacecraft::setTransitionMatrix().

Vector<double> dr_dv0 [protected]
 

Definition at line 164 of file Spacecraft.hpp.

Referenced by Spacecraft::getStateTransitionMatrix(), Spacecraft::getStateVector(), Spacecraft::getTransitionMatrix(), Spacecraft::resetState(), Spacecraft::setStateVector(), and Spacecraft::setTransitionMatrix().

double dragCoeff [protected]
 

Coefficient of drag.

Definition at line 174 of file Spacecraft.hpp.

Referenced by Spacecraft::Spacecraft().

double dryMass [protected]
 

mass [kg]

Definition at line 180 of file Spacecraft.hpp.

Referenced by Spacecraft::Spacecraft().

Vector<double> dv_dp0 [protected]
 

Definition at line 168 of file Spacecraft.hpp.

Referenced by Spacecraft::getSensitivityMatrix(), Spacecraft::getStateVector(), Spacecraft::getTransitionMatrix(), Spacecraft::initStateVector(), Spacecraft::resetState(), Spacecraft::setStateVector(), and Spacecraft::setTransitionMatrix().

Vector<double> dv_dr0 [protected]
 

Definition at line 166 of file Spacecraft.hpp.

Referenced by Spacecraft::getStateTransitionMatrix(), Spacecraft::getStateVector(), Spacecraft::getTransitionMatrix(), Spacecraft::resetState(), Spacecraft::setStateVector(), and Spacecraft::setTransitionMatrix().

Vector<double> dv_dv0 [protected]
 

Definition at line 167 of file Spacecraft.hpp.

Referenced by Spacecraft::getStateTransitionMatrix(), Spacecraft::getStateVector(), Spacecraft::getTransitionMatrix(), Spacecraft::resetState(), Spacecraft::setStateVector(), and Spacecraft::setTransitionMatrix().

Vector<double> p [protected]
 

Definition at line 161 of file Spacecraft.hpp.

Referenced by Spacecraft::getSensitivityMatrix(), Spacecraft::getStateTransitionMatrix(), Spacecraft::getStateVector(), Spacecraft::getTransitionMatrix(), Spacecraft::initStateVector(), Spacecraft::resetState(), Spacecraft::setStateVector(), and Spacecraft::setTransitionMatrix().

Vector<double> r [protected]
 

state vector 6*n + 42

Definition at line 159 of file Spacecraft.hpp.

Referenced by Spacecraft::getStateVector(), Spacecraft::initStateVector(), Spacecraft::resetState(), and Spacecraft::setStateVector().

double reflectCoeff [protected]
 

Coefficient of Reflectivity.

Definition at line 171 of file Spacecraft.hpp.

Referenced by Spacecraft::Spacecraft().

string scName [protected]
 

name: The name of the spacecraft (e.g. "NCC-1701-D")

Definition at line 153 of file Spacecraft.hpp.

Referenced by Spacecraft::Spacecraft().

UTCTime utc [protected]
 

Object to hold epoch in UTC.

Definition at line 156 of file Spacecraft.hpp.

Vector<double> v [protected]
 

Definition at line 160 of file Spacecraft.hpp.

Referenced by Spacecraft::getStateVector(), Spacecraft::initStateVector(), Spacecraft::resetState(), and Spacecraft::setStateVector().


The documentation for this class was generated from the following files:
Generated on Tue May 21 03:31:41 2013 for GPS ToolKit Software Library by  doxygen 1.3.9.1