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 Namespace Reference


Detailed Description

Warning:
NOT VERIFIED
Todo:
Add test cases


Classes

class  O_SESSAME::Attitude
 Class encapsulating the rotational attitude of a rigid body frame with respect to another frame. More...
class  O_SESSAME::AttitudeState
class  O_SESSAME::AttitudeHistory
 Class for storing a time history of attitude states. More...
class  O_SESSAME::History
 Base class for histories storing state variables, also stores time states. More...
class  O_SESSAME::OrbitHistory
 Class for storing a time history of orbital states. More...
class  O_SESSAME::AnalyticPropagator
 Encapsulation of the propagation of the spacecraft dynamics (attitude, orbital, etc.). More...
class  O_SESSAME::CombinedNumericPropagator
class  O_SESSAME::NumericPropagator
class  O_SESSAME::Propagator
 Encapsulation of the propagation of the spacecraft dynamics (attitude, orbital, etc.). More...
class  O_SESSAME::CentralBody
 Abstract representation of a central body. More...
class  O_SESSAME::EarthCentralBody
struct  O_SESSAME::MagneticFieldCoefficients
 Structure to hold typical magnetic model coefficients. More...
class  O_SESSAME::MagneticModel
 The MagneticModel class encapsulates a magnetic model of a central body. More...
class  O_SESSAME::TiltedDipoleMagneticModel
 Define the model of a magnetic field using a tilted dipole model. More...
class  O_SESSAME::EnvFunction
class  O_SESSAME::Environment
 Encapsulation of a spacecraft environment (disturbance forces, torques, central body, etc.). More...
class  O_SESSAME::Orbit
class  O_SESSAME::OrbitState
 Encapsulation of an Orbit State, including its coordinate type and reference frame. More...
struct  O_SESSAME::tleStruct
class  O_SESSAME::Keplerian
 Keplerian orbital element representation of the orbital position. More...
class  O_SESSAME::OsculatingOrbitalElements
 Keplerian Osculating and Mean orbital element representation of the orbital position. More...
class  O_SESSAME::OrbitStateRepresentation
 Abstract base type of the orbit state representation. More...
class  O_SESSAME::PositionVelocity
 Position & Velocity representation of the orbital position. More...
class  O_SESSAME::TestKeplerian
 Test Keplerian orbital class. More...
class  O_SESSAME::DirectionCosineMatrix
 3x3 direction cosine matrix attitude representation. More...
class  O_SESSAME::ModifiedRodriguezParameters
 3x1 Modified Rodriguez Parameters attitude representation. More...
class  O_SESSAME::Quaternion
 The non-singular, redundant Euler parameter (quaternion) vector. More...
class  O_SESSAME::Rotation
 A generalized rotation class to represent any attitude coordinate transformation. More...
class  O_SESSAME::Functor
 Abstract class to hold the pointer to an force calculating functor. More...
class  O_SESSAME::SpecificFunctor
 derived template class More...
class  O_SESSAME::ObjectFunctor< TClass >
 derived template class More...
class  O_SESSAME::Integrator
 Interface class to the Integrator algorithm strategies. More...
class  O_SESSAME::Interpolator
 Abstract interface to the set of interpolators. More...
class  O_SESSAME::LinearInterpolator
 Interpolates between a given set of data points to create a linear functional approximation. More...
class  O_SESSAME::Plot
 A Plot object is used to display data in a 2-D or 3-D plot. More...
class  O_SESSAME::RungeKuttaFehlbergIntegrator
 Runge-Kutta-Fehlberg integrator. More...
class  O_SESSAME::RungeKuttaIntegrator
 Implementation of a Runge-Kutta (Fourth Order) Integrator. More...
class  O_SESSAME::ssfTime
 Simulation Time object. More...

Typedefs

typedef void(* IntegratedAttitudeStateConversionFunction )(const Matrix &_meshPoint, AttitudeState &_convertedAttitudeState)
 Defined function pointer to integrated attitude state conversion function.
typedef int AttitudeFrame
typedef vector< void * > EnvFuncParamaterType
typedef Vector(* pt2EnvFunc )(const ssfTime &_currentTime, const OrbitState &_currentOrbitState, const AttitudeState &_currentAttitudeState, const EnvFuncParamaterType &_parameterList)
typedef CAMdoubleMatrix Matrix
typedef CAMdoubleVector Vector
typedef void(* IntegratedOrbitStateConversionFunction )(const Matrix &_meshPoint, OrbitState &_convertedOrbitState)
 Defined function pointer to integrated orbital state conversion function.
typedef Vector(* vectorFuncPtr )(const Vector &_vectorFuncPtrParams)
 A generalized pointer to a function that takes a vector as a parameter and returns a vector.
typedef Vector(* odeFunc )(const double &_time, const Vector &_state, const Matrix &_parameters, vectorFuncPtr _funcPtr)
 defines a pointer to an integrator's right-hand side (RHS) function
typedef Vector(* odeFunctor )(const ssfTime &_time, const Vector &_integratingState, Orbit *_pOrbit, Attitude *_pAttitude, const Matrix &_parameters, const Functor &_forceFunctorPtr)
 defines a pointer to an integrator's right-hand side (RHS) function using a functor for the arbitrary vector function
typedef double Angle
 Representation of an angle in radians. Currently the angle representation is assumed to be radians, and can be used in any of the other Trigonometry functions to convert to Degrees or Degrees-Minutes-Seconds. In the future, the Angle should be a class that is unit independent and include the appropriate conversion functions.
typedef double ssfSeconds
typedef double ssfJulianDate

Enumerations

enum  RotationType {
  DCM_Type, EulerAngle_Type, EulerAxisAngle_Type, MRP_Type,
  Quaternion_Type
}
 Various representations of a rotation. More...
enum  RotationSense { LEFT_HAND = -1, RIGHT_HAND = 1 }
 The Sense, or "handedness" of a rotation system. More...

Functions

Vector Vabs (Vector _vector)
 Returns the absolute value of a vector.
Matrix eye (int _rowColumns)
 Creates an square identity matrix of specified size.
double trace (const Matrix &_inMatrix)
 Calculates the trace of matrix (sum of elements along diagonal).
double norm2 (const Vector &_inVector)
 Calculates the 2-norm of the vector (square-root of the sum of the squares).
void normalize (Vector &_inVector)
 Normalizes a vector.
double normInf (const Vector &_inVector)
 Calculates the Infinity-norm of the vector (largest value of the components).
Matrix skew (const Vector &_inVector)
 Calculates the skew-symmetric matrix of a vector.
Vector crossP (const Vector &_v1, const Vector &_v2)
 Calculates the cross product of 2 vectors.
DirectionCosineMatrix R1 (const Angle &_Angle)
 Calculates the principal rotation of the angle about the 1-axis. DirectionCosineMatrix.
DirectionCosineMatrix R2 (const Angle &_Angle)
 Calculates the principal rotation of the angle about the 2-axis. DirectionCosineMatrix.
DirectionCosineMatrix R3 (const Angle &_Angle)
 Calculates the principal rotation of the angle about the 3-axis. DirectionCosineMatrix.
double DMS2Deg (const double &_Degrees, const double &_Minutes, const double &_Seconds)
 Converts an angle from Degrees, Minutes, Seconds (^o,','') to a single quantity in degrees and fractions of a degree.
void Deg2DMS (const double &_Angle, double &Degrees, double &Minutes, double &Seconds)
 Converts an angle from a single quantity in degrees and fractions of a degree to Degrees, Minutes, Seconds (^o,','').
Angle DMS2Rad (const double &_Degrees, const double &_Minutes, const double &_Seconds)
 Converts an angle from Degrees, Minutes, Seconds (^o,','') to radians.
Angle Deg2Rad (const Angle &_Degrees)
 Converts an angle from Degrees to radians.
void Rad2DMS (const Angle &_Radians, double &Degrees, double &Minutes, double &Seconds)
 Converts an angle from radians to degrees, minutes, second format.
Angle Rad2Deg (const Angle &_Radians)
 Converts an angle from radians to degrees.
Angle atanh (const double &_z)
void Plot2D (const Matrix &_data)
 Use GnuPlot to plot the data in a matrix.
void Plot3D (const Matrix &_data)
void DayofYear2YMD (int _dayOfYear, int _year, int &_month, int &_day)
std::ostream & operator<< (std::ostream &s, ssfTime &t)
void tick ()

Variables

const double GRAVITATIONAL_CONSTANT = 6.669 * pow(10.0,-11.0)
const double deg2rad = (float)PI / 180.0
const int MatrixIndexBase = 1
const int VectorIndexBase = 1
const int MatrixRowsIndex = 1
const int MatrixColsIndex = 2
const int SEMIMAJOR_AXIS = VectorIndexBase + 0
const int ECCENTRICITY = VectorIndexBase + 1
const int INCLINATION = VectorIndexBase + 2
const int LONG_ASC_NODE = VectorIndexBase + 3
const int ARG_PERIGEE = VectorIndexBase + 4
const int TRUE_ANOMALY = VectorIndexBase + 5
const int ECCENTRIC_ANOMALY = VectorIndexBase + 0
const int ECCENTRIC_ANOMALY_0 = VectorIndexBase + 1
const int MEAN_ANOMALY = VectorIndexBase + 2
const int MEAN_ANOMALY_0 = VectorIndexBase + 3
const int ARG_LATTITUDE = VectorIndexBase + 4
const int LONG_PERIGEE = VectorIndexBase + 5
const int TRUE_LONGITUDE = VectorIndexBase + 6
const int QUATERNION_SIZE = 4
 Number of elements in a quaternion vector.
const int MRP_SIZE = 3
 Number of elements in a MRP vector.
const int DCM_SIZE = 3
 Number of elements in a DCM row or column.
const int EULERAXIS_SIZE = 3
 Number of elements in an euler axis.
const int EULERANGLES_SIZE = 3
 Number of elements in an euler angle sequence.
int DaysInMonth [12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
const ssfTime c_GreenwichSiderealEpochTime = ssfTime(1970,1,1,0,0,0)
 time used as epoch for measuring Greenwich sidereal time.
const Angle c_GreenwichSiderealTimeAtEpoch = 1.74933340
ssfTime tickTime (-1)
 Initializes the tick/tock counter.
ssfTime tockTime (-1)


Typedef Documentation

typedef int O_SESSAME::AttitudeFrame
 

Definition at line 20 of file AttitudeState.h.

Referenced by O_SESSAME::AttitudeState::GetAttitudeFrame().

typedef vector<void*> O_SESSAME::EnvFuncParamaterType
 

specification of the parameter list type to be used for environmental function pointers

Definition at line 45 of file Environment.h.

typedef CAMdoubleMatrix O_SESSAME::Matrix
 

< Encapsulation of CAMdoubleMatrix class

Definition at line 28 of file Matrix.h.

Referenced by ab_Fmatrix(), ab_Hmatrix(), ab_measurementRHSFunc(), ab_Qmatrix(), ab_Rmatrix(), O_SESSAME::Plot::AddPlot(), Att_Fmatrix(), Att_Hmatrix(), Att_Qmatrix(), Att_Rmatrix(), Att_stateRHSFunc(), AttitudeServer(), AttitudeTrajectory(), AttituteDynamics(), AttituteDynamics_QuaternionAngVel(), ChangeAttitude(), ControlTorques(), convertMatrix(), O_SESSAME::DirectionCosineMatrix::DirectionCosineMatrix(), OrbitObserver::DirectionCosMatrix1Axis(), OrbitObserver::DirectionCosMatrix2Axis(), OrbitObserver::DirectionCosMatrix3Axis(), OrbitObserver::ECEF2NEDVelocity(), eigenValues(), Euler_Fmatrix(), Euler_Hmatrix(), Euler_Qmatrix(), Euler_Rmatrix(), Euler_stateRHSFunc(), eye(), Controller::FindA(), Controller::FindMOI_sw(), Fmatrix(), triadObserver::GetAttitude(), KalmanFilter::GetCovarianceMatrix(), SequentialFilterHistory::GetHistory(), O_SESSAME::OrbitHistory::GetHistory(), KalmanFilterHistory::GetHistory(), O_SESSAME::History::GetHistory(), O_SESSAME::AttitudeHistory::GetHistory(), KalmanFilter::GetKalmanGainMatrix(), KalmanFilterHistory::GetKalmanHistory(), KalmanFilter::GetMeasurementCovarianceMatrix(), KalmanFilter::GetMeasurementJacobianMatrix(), Whorl::GetMOI(), O_SESSAME::Orbit::GetParameters(), O_SESSAME::Attitude::GetParameters(), O_SESSAME::Rotation::GetRotation(), O_SESSAME::OrbitHistory::GetState(), O_SESSAME::AttitudeHistory::GetState(), KalmanFilter::GetStateJacobianMatrix(), KalmanFilter::GetSystemProcessNoiseMatrix(), GravityGradientTorque(), greatestEigenValue(), Hmatrix(), Whorl::Initialize(), SingleAxisController::Initialize(), MWCMGController::Initialize(), MRPTracking::Initialize(), DefaultObserver::Initialize(), DefaultController::Initialize(), AttitudeObserver::Initialize(), atterrbiasObserver::Initialize(), AngularRateController::Initialize(), O_SESSAME::RungeKuttaIntegrator::Integrate(), O_SESSAME::LinearInterpolator::Interpolate(), KalmanFilter::KalmanFilter(), O_SESSAME::LinearInterpolator::LinearInterpolator(), LKFCalcualteKalmanGain(), LKFCovarianceMatrixPropagator(), LKFCovarianceMeasurementUpdate(), LKFStateMeasurementUpdate(), LKFStatePropagator(), main(), matrixDet(), matrixDet2x2(), matrixInv3x3(), QuaternionEKFObserver::MeasurementUpdate(), QuaternionEKFObserver::MurrellAlgorithm(), myAttitudeStateConvFunc(), myOrbitStateConvFunc(), OrbitObserver::NED2ECEFVelocity(), norm2(), O_SESSAME::Quaternion::operator+(), O_SESSAME::Quaternion::operator-(), otimes(), param_Euler_Ematrix(), Plot(), O_SESSAME::Plot::Plot(), Plot2D(), Plot3D(), PositionVelocityConvFunc(), O_SESSAME::Attitude::Propagate(), O_SESSAME::Propagator::PropagateAttitude(), O_SESSAME::CombinedNumericPropagator::PropagateAttitude(), O_SESSAME::Propagator::PropagateOrbit(), O_SESSAME::CombinedNumericPropagator::PropagateOrbit(), qdot(), Qmatrix(), QuaternionAngVelConvFunc(), QuaternionDynamics(), QuaternionKinematics(), Controller::ReferenceModelSC(), Controller::ReferenceTrajectory(), Rmatrix(), O_SESSAME::Rotation::Rotation(), slidingModeControlMRPMW::Run(), MWCMGController::Run(), MRPTracking::Run(), DefaultController::Run(), AngularRateController::Run(), O_SESSAME::Quaternion::Set(), O_SESSAME::DirectionCosineMatrix::Set(), O_SESSAME::Rotation::Set(), KalmanFilter::SetCovarianceMatrix(), KalmanFilter::SetKalmanGainMatrix(), KalmanFilter::SetMeasurementCovarianceMatrix(), KalmanFilter::SetMeasurementJacobianMatrix(), O_SESSAME::Orbit::SetParameters(), O_SESSAME::Attitude::SetParameters(), O_SESSAME::Keplerian::SetPositionVelocity(), KalmanFilter::SetStateJacobianMatrix(), KalmanFilter::SetSystemProcessNoiseMatrix(), SetupAttitude(), SetupEnvironment(), simulatorInertia(), QuaternionEKFObserver::SingleMeasurement(), skew(), SMD_Fmatrix(), SMD_Hmatrix(), SMD_Qmatrix(), SMD_Rmatrix(), state_Euler_Fmatrix(), state_Euler_Hmatrix(), state_Euler_Qmatrix(), state_Euler_Rmatrix(), state_Euler_stateRHSFunc(), QuaternionEKFObserver::StateCovarianceUpdate(), QuaternionEKFObserver::StateTransitionMatrix(), testRKFunc(), testRKFunc2(), and TwoBodyDynamics().

typedef Vector(* O_SESSAME::pt2EnvFunc)(const ssfTime &_currentTime, const OrbitState &_currentOrbitState, const AttitudeState &_currentAttitudeState, const EnvFuncParamaterType &_parameterList)
 

defines a pointer to a Environmental disturbance calculating function

Definition at line 47 of file Environment.h.

typedef CAMdoubleVector O_SESSAME::Vector
 

< Encapsulation of CAMdoubleVector class

Definition at line 29 of file Matrix.h.

Referenced by ab_Fmatrix(), ab_Hmatrix(), ab_measurementRHSFunc(), ab_stateRHSFunc(), Observer::AccelerationCorrection(), WhorlHistory::AppendHistory(), O_SESSAME::AttitudeHistory::AppendHistory(), Att_Fmatrix(), Att_measurementRHSFunc(), Att_stateRHSFunc(), AttitudeServer(), O_SESSAME::AttitudeState::AttitudeState(), AttitudeTrajectory(), AttituteDynamics(), AttituteDynamics_QuaternionAngVel(), O_SESSAME::ObjectFunctor< Environment >::Call(), O_SESSAME::SpecificFunctor::Call(), OrbitController::cals(), ChangeAttitude(), ChangeEnvironment(), ChangeOrbit(), COENaaszController::COENaasz(), ControlTorques(), convertVector(), crossP(), O_SESSAME::DirectionCosineMatrix::DirectionCosineMatrix(), O_SESSAME::TestKeplerian::DisplayPositionVelocity(), DragForceFunction(), OrbitObserver::ECEF2NEDVelocity(), OrbitObserver::ECEF2WGS84(), OrbitObserver::ECEFPosition2WGS84(), eigenValues(), IteratedExtendedKalmanFilter::EstimateState(), Euler_Fmatrix(), Euler_measurementRHSFunc(), Euler_stateRHSFunc(), O_SESSAME::LinearInterpolator::Evaluate(), O_SESSAME::EnvFunction::Evaluate(), RG_Message::FillVector(), Controller::FindA(), COENaaszController::Gains(), O_SESSAME::AttitudeState::GetAngularVelocity(), triadObserver::GetAttitude(), Whorl::GetCGVector(), ControlMomentGyro::GetCMGAxis(), Whorl::GetControl(), Whorl::GetControlError(), O_SESSAME::Orbit::GetControlForces(), O_SESSAME::Attitude::GetControlTorques(), SequentialFilter::GetControlVector(), GPSObserver::GetECEF(), Whorl::GetECI(), GPSObserver::GetECI(), KalmanFilter::GetEstimatedMeasurements(), ExtendedKalmanFilter::GetEstimatedMeasurements(), O_SESSAME::Quaternion::GetEulerAngles(), O_SESSAME::ModifiedRodriguezParameters::GetEulerAngles(), O_SESSAME::DirectionCosineMatrix::GetEulerAngles(), O_SESSAME::Rotation::GetEulerAngles(), O_SESSAME::Quaternion::GetEulerAxisAngle(), O_SESSAME::ModifiedRodriguezParameters::GetEulerAxisAngle(), O_SESSAME::DirectionCosineMatrix::GetEulerAxisAngle(), O_SESSAME::Rotation::GetEulerAxisAngle(), O_SESSAME::Environment::GetForces(), SequentialFilterHistory::GetIterationHistory(), IteratedExtendedKalmanFilterHistory::GetIterationHistory(), DMU::GetLocation(), DMUTemperatureSensor::GetLocation(), DMURateGyro::GetLocation(), DMUAccelerometer::GetLocation(), Device::GetLocation(), O_SESSAME::TiltedDipoleMagneticModel::GetMagneticField(), SequentialFilter::GetMeasurementVector(), Whorl::GetMRP(), Whorl::GetOmegaBL(), O_SESSAME::OrbitState::GetOrbitAngularMomentum(), Whorl::GetOrbitControl(), Whorl::GetParameter(), SequentialFilter::GetParameterVector(), O_SESSAME::PositionVelocity::GetPositionVelocity(), O_SESSAME::Keplerian::GetPositionVelocity(), O_SESSAME::Keplerian::GetPositionVelocityPQW(), Whorl::GetQuaternion(), Magnetometer::GetRawVectorMeasurement(), Whorl::GetReferenceMRP(), Whorl::GetReferenceOmegaBL(), Whorl::GetReferenceQuaternion(), O_SESSAME::Rotation::GetRotation(), TiltSensor::GetSensorLocation(), TiltSensor::GetSensorToBodyQuaternion(), PhysicalTiltSensor::GetSensorToBodyQuaternion(), DMU::GetSensorToBodyQuaternion(), DMURateGyro::GetSensorToBodyQuaternion(), DMUAccelerometer::GetSensorToBodyQuaternion(), WhorlSim::GetState(), Whorl::GetState(), O_SESSAME::PositionVelocity::GetState(), O_SESSAME::OrbitState::GetState(), OrbitPropObserver::GetState(), O_SESSAME::OrbitHistory::GetState(), O_SESSAME::Keplerian::GetState(), O_SESSAME::AttitudeState::GetState(), O_SESSAME::AttitudeHistory::GetState(), ExtendedKalmanFilter::GetStateDot(), SequentialFilter::GetStateVector(), O_SESSAME::Environment::GetTorques(), VisualVector::GetVectorMeasurement(), Magnetometer::GetVectorMeasurement(), GPSObserver::GetWGS84(), MomentumWheel::GetWheelAxis(), GravityForceFunction(), GravityGradientTorque(), greatestEigenValue(), Whorl::Initialize(), DMU::Initialize(), OpenLoopMWController::Initialize(), MomentumWheel::Initialize(), COENaaszController::Initialize(), AttitudeObserver::Initialize(), atterrbiasObserver::Initialize(), O_SESSAME::RungeKuttaIntegrator::Integrate(), O_SESSAME::LinearInterpolator::Interpolate(), O_SESSAME::Keplerian::Keplerian(), O_SESSAME::TestKeplerian::Keplerian2ECI2Keplerian(), O_SESSAME::LinearInterpolator::LinearInterpolator(), LKFCovarianceMatrixPropagator(), LKFCovarianceMeasurementUpdate(), LKFStateMeasurementUpdate(), LKFStatePropagator(), Magnetometer::Magnetometer(), main(), O_SESSAME::OsculatingOrbitalElements::Mapping(), O_SESSAME::ModifiedRodriguezParameters::ModifiedRodriguezParameters(), AttitudeModels::MRPKinematic(), QuaternionEKFObserver::MurrellAlgorithm(), myAttitudeStateConvFunc(), myOrbitStateConvFunc(), OrbitObserver::NED2ECEFVelocity(), norm2(), NullFunctor(), O_SESSAME::DirectionCosineMatrix::operator *(), O_SESSAME::Rotation::operator *(), RG_Message::operator Vector(), OrbitForcesFunctor(), OrbitForcesWithDragFunctor(), otimes(), param_Euler_Ematrix(), OrbitPropObserver::ParseState(), O_SESSAME::PositionVelocity::PositionVelocity(), PositionVelocityConvFunc(), Propagate(), O_SESSAME::NumericPropagator::Propagate(), O_SESSAME::CombinedNumericPropagator::Propagate(), O_SESSAME::Propagator::PropagateAttitude(), O_SESSAME::CombinedNumericPropagator::PropagateAttitude(), O_SESSAME::Propagator::PropagateOrbit(), O_SESSAME::CombinedNumericPropagator::PropagateOrbit(), qdot(), O_SESSAME::Quaternion::Quaternion(), QuaternionAngVelConvFunc(), QuaternionDynamics(), AttitudeModels::QuaternionKinematic(), QuaternionKinematics(), Controller::ReferenceModelSC(), Controller::ReferenceTrajectory(), RG_Message::RG_Message(), O_SESSAME::Rotation::Rotation(), triadObserver::Run(), testController::Run(), slidingModeControlMRPMW::Run(), SingleAxisController::Run(), MWCMGController::Run(), MRPTracking::Run(), DefaultObserver::Run(), DefaultController::Run(), COENaaszController::Run(), AttitudeObserver::Run(), atterrbiasObserver::Run(), AngularRateController::Run(), RungeKutta(), RungeKuttaSolve(), Controller::Saturation(), O_SESSAME::Quaternion::Set(), O_SESSAME::ModifiedRodriguezParameters::Set(), O_SESSAME::DirectionCosineMatrix::Set(), O_SESSAME::Rotation::Set(), triadObserver::SetAccelerometerBodyVector(), triadObserver::SetAccelerometerInertialVector(), Whorl::SetAngularRateError(), O_SESSAME::AttitudeState::SetAngularVelocity(), Whorl::SetControl(), O_SESSAME::Orbit::SetControlForces(), O_SESSAME::Attitude::SetControlTorques(), SequentialFilter::SetControlVector(), Whorl::SetECI(), O_SESSAME::Keplerian::SetKeplerianRepresentationEccentricAnomaly(), O_SESSAME::Keplerian::SetKeplerianRepresentationMeanAnomaly(), O_SESSAME::Keplerian::SetKeplerianRepresentationTrueAnomaly(), DMU::SetLocation(), Device::SetLocation(), triadObserver::SetMagnetometerBodyVector(), triadObserver::SetMagnetometerInertialVector(), ExtendedKalmanFilter::SetMeasurementRHS(), SequentialFilter::SetMeasurementVector(), Whorl::SetMRPError(), Whorl::SetOrbitControl(), Whorl::SetParameter(), SequentialFilter::SetParameterVector(), O_SESSAME::PositionVelocity::SetPositionVelocity(), O_SESSAME::Keplerian::SetPositionVelocity(), Whorl::SetReferenceOmegaBL(), Whorl::SetReferenceQuaternion(), DMU::SetSensorToBodyQuaternions(), Whorl::SetState(), O_SESSAME::PositionVelocity::SetState(), O_SESSAME::OrbitState::SetState(), O_SESSAME::Keplerian::SetState(), O_SESSAME::AttitudeState::SetState(), ExtendedKalmanFilter::SetStateRHS(), SequentialFilter::SetStateVector(), SetupAttitude(), SetupOrbit(), MomentumWheel::SetWheelAxis(), ControlMomentGyro::SetWheelAxis(), PhysicalMomentumWheel::SetWheelSpeedCoefficients(), MomentumWheel::SetWheelSpeedCoefficients(), Controller::SetWheelTorque(), Controller::Sign(), SimpleController(), QuaternionEKFObserver::SingleMeasurement(), SolarRadiationPressureForceFunction(), state_Euler_Fmatrix(), state_Euler_measurementRHSFunc(), state_Euler_stateRHSFunc(), QuaternionEKFObserver::StateCovarianceUpdate(), QuaternionEKFObserver::StateTransitionMatrix(), O_SESSAME::ModifiedRodriguezParameters::Switch(), testRKFunc(), testRKFunc2(), ThirdBodyForceDisturbance(), Thruster::Thruster(), OrbitController::thruster(), TiltSensor::TiltSensor(), TwoBodyDynamics(), Vabs(), OrbitObserver::WGS2ECEFPosition(), OrbitObserver::WGS842ECEF(), and Controller::WheelSaturation().


Function Documentation

Vector crossP const Vector _v1,
const Vector _v2
[inline]
 

Calculates the cross product of 2 vectors.

Equation: /f$ v_3 = v_1 v_2 = v_1/f$

Parameters:
_inVector Vector to calculate the 2-norm of.
Returns:
Cross product of 2 vectors.
Todo:
Implement crossP as part of Vector or CAMdoubleVector class

Definition at line 149 of file Matrix.h.

References skew(), and Vector.

Referenced by OrbitController::cals(), triadObserver::GetAttitude(), O_SESSAME::ModifiedRodriguezParameters::operator+(), O_SESSAME::ModifiedRodriguezParameters::operator-(), and O_SESSAME::Keplerian::SetPositionVelocity().

void DayofYear2YMD int  _dayOfYear,
int  _year,
int &  _month,
int &  _day
 

Definition at line 46 of file Time.cpp.

References DaysInMonth.

Matrix eye int  _rowColumns  )  [inline]
 

Creates an square identity matrix of specified size.

Parameters:
_rowColumns Number of rows and columns to size matrix (will be a square matrix).
Todo:
Implement eye as part of Vector or CAMdoubleVector class

Definition at line 56 of file Matrix.h.

References Matrix, and CAMmatrixBase::setToValue().

Referenced by ab_Fmatrix(), ab_Hmatrix(), ab_Qmatrix(), ab_Rmatrix(), ab_stateRHSFunc(), AttituteDynamics(), ChangeAttitude(), ControlTorques(), O_SESSAME::DirectionCosineMatrix::DirectionCosineMatrix(), OrbitFrameIJK::GetRotation2IJK(), OrbitFrameIJK::GetRotationFromIJK(), atterrbiasObserver::Initialize(), LKFCovarianceMatrixPropagator(), LKFCovarianceMeasurementUpdate(), LKFStatePropagator(), main(), AttitudeModels::MRPKinematic(), otimes(), qdot(), QuaternionKinematics(), slidingModeControlMRPMW::Run(), O_SESSAME::DirectionCosineMatrix::Set(), SetupAttitude(), QuaternionEKFObserver::SingleMeasurement(), state_Euler_Hmatrix(), state_Euler_Qmatrix(), and state_Euler_Rmatrix().

double norm2 const Vector _inVector  )  [inline]
 

Calculates the 2-norm of the vector (square-root of the sum of the squares).

Todo:
Implement norm2 as part of Vector or CAMdoubleVector class
Parameters:
_inVector Vector to calculate the 2-norm of.
Returns:
Square-root of the sum of squares of elements in vector.

Definition at line 82 of file Matrix.h.

References CAMvectorBase::getIndexCount().

Referenced by AttituteDynamics(), OrbitController::cals(), QuaternionEKFObserver::CheckMagnetometerMeasurement(), DragForceFunction(), O_SESSAME::TiltedDipoleMagneticModel::GetMagneticField(), O_SESSAME::OrbitState::GetOrbitAngularMomentum(), GravityForceFunction(), GravityGradientTorque(), slidingModeControlMRPMW::Initialize(), AttitudeModels::MRPKinematic(), normalize(), O_SESSAME::ModifiedRodriguezParameters::operator+(), O_SESSAME::ModifiedRodriguezParameters::operator-(), OrbitForcesFunctor(), OrbitForcesWithDragFunctor(), triadObserver::Run(), SingleAxisController::Run(), MWCMGController::Run(), O_SESSAME::Keplerian::SetPositionVelocity(), O_SESSAME::ModifiedRodriguezParameters::ShadowSet(), SolarRadiationPressureForceFunction(), QuaternionEKFObserver::StateTransitionMatrix(), O_SESSAME::ModifiedRodriguezParameters::Switch(), ThirdBodyForceDisturbance(), and OrbitController::thruster().

void normalize Vector _inVector  )  [inline]
 

Normalizes a vector.

Parameters:
_inVector Vector to be normalized.
Todo:
Implement normalize as part of Vector or CAMdoubleVector class

Definition at line 94 of file Matrix.h.

References norm2().

Referenced by triadObserver::GetAttitude(), O_SESSAME::Quaternion::Normalize(), triadObserver::Parse(), QuaternionEKFObserver::Parse(), and QuaternionEKFObserver::StateCovarianceUpdate().

double normInf const Vector _inVector  )  [inline]
 

Calculates the Infinity-norm of the vector (largest value of the components).

Parameters:
_inVector Vector to calculate the 2-norm of.
Returns:
Absolute value of maximum component in vector.
Todo:
Implement normInf as part of Vector or CAMdoubleVector class

Definition at line 105 of file Matrix.h.

References CAMvectorBase::maxAbs().

Referenced by O_SESSAME::Quaternion::Set().

std::ostream& operator<< std::ostream &  s,
ssfTime &  t
 

Definition at line 150 of file Time.cpp.

References O_SESSAME::ssfTime::GetSeconds(), and TIME_PRECISION.

void Plot2D const Matrix _data  )  [static]
 

Use GnuPlot to plot the data in a matrix.

Parameters:
_data Matrix of data, the first column is x, and each of the other columns will be plotted on the y-axis

Definition at line 51 of file Plot.h.

References Matrix, and MatrixIndexBase.

Referenced by main(), and Plot().

void Plot3D const Matrix _data  )  [static]
 

Definition at line 78 of file Plot.h.

References Matrix.

Referenced by main(), and Plot().

Matrix skew const Vector _inVector  )  [inline]
 

Calculates the skew-symmetric matrix of a vector.

Equation: /f[ {v^{}} = {bmatrix} 0 & -v_3 & v_2\ v_3 & 0 & -v_1\ -v_2 & v_1 & 0 {bmatrix} /f]

Parameters:
_inVector Vector to calculate the skew-symmetric matrix of.
Returns:
Skew-symmetric matrix (3x3).
Todo:
Implement skew as part of Vector or CAMdoubleVector class

Definition at line 124 of file Matrix.h.

References Matrix, MatrixIndexBase, CAMmatrixBase::setToValue(), and VectorIndexBase.

Referenced by ab_Fmatrix(), ab_Hmatrix(), ab_measurementRHSFunc(), ab_stateRHSFunc(), Observer::AccelerationCorrection(), Att_Fmatrix(), Att_stateRHSFunc(), AttituteDynamics(), AttituteDynamics_QuaternionAngVel(), ControlTorques(), crossP(), Euler_Fmatrix(), Euler_stateRHSFunc(), O_SESSAME::OrbitState::GetOrbitAngularMomentum(), GravityGradientTorque(), QuaternionEKFObserver::MeasurementUpdate(), AttitudeModels::MRPKinematic(), otimes(), qdot(), QuaternionDynamics(), AttitudeModels::QuaternionKinematic(), QuaternionKinematics(), slidingModeControlMRPMW::Run(), SingleAxisController::Run(), MWCMGController::Run(), MRPTracking::Run(), DefaultController::Run(), AngularRateController::Run(), QuaternionEKFObserver::SingleMeasurement(), state_Euler_Fmatrix(), state_Euler_stateRHSFunc(), QuaternionEKFObserver::StateCovarianceUpdate(), and QuaternionEKFObserver::StateTransitionMatrix().

void tick  )  [inline]
 

Definition at line 442 of file Time.h.

References O_SESSAME::ssfTime::Set(), and tickTime.

Referenced by main(), and Propagate().

double trace const Matrix _inMatrix  )  [inline]
 

Calculates the trace of matrix (sum of elements along diagonal).

Parameters:
_inMatrix Matrix to have trace calculated.
Todo:
Implement trace as part of Vector or CAMdoubleVector class

Definition at line 69 of file Matrix.h.

Referenced by O_SESSAME::DirectionCosineMatrix::GetEulerAxisAngle(), and O_SESSAME::Quaternion::Set().

Vector Vabs Vector  _vector  )  [inline]
 

Returns the absolute value of a vector.

Parameters:
_vector 

Definition at line 34 of file Matrix.h.

References CAMvectorBase::getIndexCount(), and Vector.

Referenced by slidingModeControlMRPMW::Run().


Variable Documentation

const int O_SESSAME::ARG_LATTITUDE = VectorIndexBase + 4
 

position of the Argument of Latitude, $\theta$, in the element vector

Definition at line 49 of file Keplerian.h.

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

const int O_SESSAME::ARG_PERIGEE = VectorIndexBase + 4
 

position of the argument of perigee, $\omega$, in the element vector

Definition at line 41 of file Keplerian.h.

Referenced by O_SESSAME::Keplerian::GetArgLattitude(), O_SESSAME::Keplerian::GetArgPerigee(), O_SESSAME::Keplerian::GetLongPerigee(), O_SESSAME::Keplerian::GetTrueLongitude(), O_SESSAME::Keplerian::ReadTwoLineElementSet(), O_SESSAME::Keplerian::SetKeplerianRepresentationEccentricAnomaly(), O_SESSAME::Keplerian::SetKeplerianRepresentationMeanAnomaly(), and O_SESSAME::Keplerian::SetPositionVelocity().

const ssfTime O_SESSAME::c_GreenwichSiderealEpochTime = ssfTime(1970,1,1,0,0,0) [static]
 

time used as epoch for measuring Greenwich sidereal time.

Definition at line 408 of file Time.h.

const Angle O_SESSAME::c_GreenwichSiderealTimeAtEpoch = 1.74933340 [static]
 

actual Greenwich sidereal time at the specified epoch, m_GreenwichSiderealEpochTime.

Definition at line 410 of file Time.h.

int O_SESSAME::DaysInMonth[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} [static]
 

Definition at line 17 of file Time.cpp.

Referenced by DayofYear2YMD().

const double O_SESSAME::deg2rad = (float)PI / 180.0
 

Earth Radius [-]

Definition at line 26 of file EarthCentralBody.h.

const int O_SESSAME::ECCENTRIC_ANOMALY = VectorIndexBase + 0
 

position of the Eccentric Anomaly, $E$, in the element vector

Definition at line 45 of file Keplerian.h.

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

const int O_SESSAME::ECCENTRIC_ANOMALY_0 = VectorIndexBase + 1
 

position of the Initial Eccentric Anomaly, $E_o$, in the element vector

Definition at line 46 of file Keplerian.h.

const int O_SESSAME::ECCENTRICITY = VectorIndexBase + 1
 

position of the eccentricity, $e$, in the element vector

Definition at line 38 of file Keplerian.h.

Referenced by O_SESSAME::Keplerian::GetEccentricAnomalyFromMeanAnomaly(), O_SESSAME::Keplerian::GetEccentricAnomalyFromTrueAnomaly(), O_SESSAME::Keplerian::GetEccentricity(), O_SESSAME::Keplerian::GetMeanAnomalyFromEccentricAnomaly(), O_SESSAME::Keplerian::GetTrueAnomalyFromEccentricAnomaly(), O_SESSAME::Keplerian::ReadTwoLineElementSet(), and O_SESSAME::Keplerian::SetPositionVelocity().

const double O_SESSAME::GRAVITATIONAL_CONSTANT = 6.669 * pow(10.0,-11.0)
 

Earth Radius [/f$m^3/kg-s^2/f$]

Definition at line 24 of file EarthCentralBody.h.

const int O_SESSAME::INCLINATION = VectorIndexBase + 2
 

position of the inclination, $i$, in the element vector

Definition at line 39 of file Keplerian.h.

Referenced by O_SESSAME::Keplerian::GetInclination(), O_SESSAME::Keplerian::ReadTwoLineElementSet(), and O_SESSAME::Keplerian::SetPositionVelocity().

const int O_SESSAME::LONG_ASC_NODE = VectorIndexBase + 3
 

position of the longitude of the ascending node, $\Omega$, in the element vector

Definition at line 40 of file Keplerian.h.

Referenced by O_SESSAME::Keplerian::GetLongAscNode(), O_SESSAME::Keplerian::GetLongPerigee(), O_SESSAME::Keplerian::GetTrueLongitude(), O_SESSAME::Keplerian::ReadTwoLineElementSet(), and O_SESSAME::Keplerian::SetPositionVelocity().

const int O_SESSAME::LONG_PERIGEE = VectorIndexBase + 5
 

position of the Longitude of Perigee, $\Pi$, in the element vector

Definition at line 50 of file Keplerian.h.

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

const int O_SESSAME::MatrixColsIndex = 2
 

< Value referring to the "columns" index

Definition at line 27 of file Matrix.h.

Referenced by O_SESSAME::LinearInterpolator::LinearInterpolator(), myOrbitStateConvFunc(), PositionVelocityConvFunc(), O_SESSAME::CombinedNumericPropagator::PropagateAttitude(), and O_SESSAME::CombinedNumericPropagator::PropagateOrbit().

const int O_SESSAME::MatrixIndexBase = 1
 

< Beginning index of Matrix class

Definition at line 24 of file Matrix.h.

Referenced by O_SESSAME::Plot::AddPlot(), AttituteDynamics(), O_SESSAME::DirectionCosineMatrix::GetEulerAxisAngle(), SequentialFilterHistory::GetHistory(), O_SESSAME::OrbitHistory::GetHistory(), O_SESSAME::History::GetHistory(), O_SESSAME::AttitudeHistory::GetHistory(), IteratedExtendedKalmanFilterHistory::GetIterationHistory(), KalmanFilterHistory::GetKalmanHistory(), O_SESSAME::RungeKuttaIntegrator::Integrate(), main(), myOrbitStateConvFunc(), O_SESSAME::DirectionCosineMatrix::Normalize(), O_SESSAME::Quaternion::operator+(), O_SESSAME::Quaternion::operator-(), Plot(), Plot2D(), PositionVelocityConvFunc(), O_SESSAME::CombinedNumericPropagator::PropagateAttitude(), O_SESSAME::CombinedNumericPropagator::PropagateOrbit(), QuaternionDynamics(), QuaternionKinematics(), R1(), R2(), R3(), O_SESSAME::Quaternion::Set(), O_SESSAME::DirectionCosineMatrix::Set(), and skew().

const int O_SESSAME::MatrixRowsIndex = 1
 

< Value referring to the "rows" index

Definition at line 26 of file Matrix.h.

const int O_SESSAME::MEAN_ANOMALY = VectorIndexBase + 2
 

position of the Mean Anomaly, $M$, in the element vector

Definition at line 47 of file Keplerian.h.

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

const int O_SESSAME::MEAN_ANOMALY_0 = VectorIndexBase + 3
 

position of the Initial Mean Anomaly, $M$, in the element vector

Definition at line 48 of file Keplerian.h.

const int O_SESSAME::SEMIMAJOR_AXIS = VectorIndexBase + 0
 

position of the Semimajor axis, $a$, in the element vector

Definition at line 37 of file Keplerian.h.

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

ssfTime O_SESSAME::tockTime(-1) [static]
 

const int O_SESSAME::TRUE_ANOMALY = VectorIndexBase + 5
 

position of the true anomaly, $\nu$, in the element vector

Definition at line 42 of file Keplerian.h.

Referenced by O_SESSAME::Keplerian::GetArgLattitude(), O_SESSAME::Keplerian::GetEccentricAnomalyFromTrueAnomaly(), O_SESSAME::Keplerian::GetTrueAnomaly(), O_SESSAME::Keplerian::GetTrueAnomalyFromEccentricAnomaly(), O_SESSAME::Keplerian::GetTrueLongitude(), and O_SESSAME::Keplerian::SetPositionVelocity().

const int O_SESSAME::TRUE_LONGITUDE = VectorIndexBase + 6
 

position of the True Longitude, $\ell$, in the element vector

Definition at line 51 of file Keplerian.h.

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

const int O_SESSAME::VectorIndexBase = 1
 

< Beginning index of Vector class

Definition at line 25 of file Matrix.h.

Referenced by AttituteDynamics(), AttituteDynamics_QuaternionAngVel(), ChangeOrbit(), DragForceFunction(), O_SESSAME::Quaternion::GetEulerAxisAngle(), O_SESSAME::DirectionCosineMatrix::GetEulerAxisAngle(), O_SESSAME::Keplerian::GetPositionVelocity(), O_SESSAME::Keplerian::GetPositionVelocityPQW(), O_SESSAME::Rotation::GetRotation(), O_SESSAME::PositionVelocity::GetState(), O_SESSAME::AttitudeState::GetState(), GravityForceFunction(), Whorl::Initialize(), O_SESSAME::LinearInterpolator::Interpolate(), main(), O_SESSAME::OsculatingOrbitalElements::Mapping(), O_SESSAME::Quaternion::operator+(), O_SESSAME::Quaternion::operator-(), OrbitForcesFunctor(), OrbitForcesWithDragFunctor(), O_SESSAME::Quaternion::Quaternion(), QuaternionKinematics(), O_SESSAME::Quaternion::Set(), O_SESSAME::ModifiedRodriguezParameters::Set(), O_SESSAME::DirectionCosineMatrix::Set(), O_SESSAME::Keplerian::SetKeplerianRepresentationEccentricAnomaly(), O_SESSAME::Keplerian::SetKeplerianRepresentationMeanAnomaly(), O_SESSAME::Keplerian::SetPositionVelocity(), O_SESSAME::PositionVelocity::SetState(), SetupOrbit(), skew(), ThirdBodyForceDisturbance(), and TwoBodyDynamics().


Generated on Wed Sep 5 12:54:47 2007 for DSACSS Operational Code by  doxygen 1.3.9.1