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

OrbitObserver.h

Go to the documentation of this file.
00001 //////////////////////////////////////////////////////////////////////////////////////////////////
00002 /*! \file: OrbitObserver.h
00003 *  \brief: Orbit Element Observer for DSACSS.
00004 *  \author $Author: jayhawk_hokie $
00005 *  \version $Revision: 1.1 $
00006 *  \date    $Date: 2007/08/31 16:09:30 $
00007 *//////////////////////////////////////////////////////////////////////////////////////////////////
00008 /*!
00009 */
00010 //////////////////////////////////////////////////////////////////////////////////////////////////
00011 
00012 #ifndef __ORBIT_OBSERVER_H__
00013 #define __ORBIT_OBSERVER_H__
00014 
00015 // System Includes
00016 #include <stdlib.h>
00017 #include <unistd.h>
00018 #include <string.h>
00019 #include <stdio.h>
00020 #include <iostream.h>
00021 
00022 // Math Includes
00023 #include <rotation/Rotation.h>
00024 #include <matrix/Matrix.h>
00025 
00026 // Orbit Includes
00027 #include <orbit/Orbit.h>
00028 #include <orbit/OrbitState.h>
00029 #include <orbit/orbitstaterep/Keplerian.h>
00030 
00031 // transform coe
00032 #include <orbit/orbitstaterep/MappingMeanOsculatingOrbitElements.h>
00033 
00034 // GPS Sensor
00035 #include <Sensors/AshtechG12_GPS_PhysicalDevice.h>
00036 
00037 // Simulator
00038 #include<Base/Whorl.h>
00039 //#include<Base/WhorlSim.h>
00040 
00041 // Communication
00042 #include "Comm/ClientSocket.h"
00043 #include "Comm/SocketException.h"
00044 
00045 // XML Parser
00046 #include "dsacssinterface.h"
00047 
00048 using namespace std;
00049 
00050 using namespace O_SESSAME;
00051 
00052 
00053 class OrbitObserver
00054 {
00055 
00056         public:
00057 
00058                 OrbitObserver( );
00059 
00060                 virtual ~OrbitObserver( );
00061 
00062                 // Facilitators
00063 
00064                         // Mutators
00065 
00066                                 /*! Runs the observer (pure virtual function) */
00067                                 virtual int Run() = 0;
00068 
00069                                 /*! Initializes the observer (pure virtual function */
00070                                 virtual int Initialize() = 0;
00071 
00072 
00073                 Matrix DirectionCosMatrix1Axis( double _angle );
00074 
00075                 Matrix DirectionCosMatrix2Axis( double _angle );
00076 
00077                 Matrix DirectionCosMatrix3Axis( double _angle );
00078 
00079                 Vector WGS2ECEFPosition( double _latitude, double _longitude, double _altitude );
00080 
00081                 Vector NED2ECEFVelocity( double _latitude, double _longitude, double _altitude,
00082                         double _velocityNorth, double _velocityEast, double _velocityDown );
00083 
00084                 Vector WGS842ECEF( double _latitude, double _longitude, double _altitude,
00085                         double _velocityNorth, double _velocityEast, double _velocityDown );
00086 
00087                 Vector ECEFPosition2WGS84( double _x, double _y, double _z );
00088 
00089                 Vector ECEF2NEDVelocity( double _latitude, double _longitude, double _altitude,
00090                         double _Vx, double _Vy, double _Vz );
00091                 
00092                 Vector ECEF2WGS84( double _x, double _y, double _z, double _Vx, double _Vy, double _Vz );
00093 
00094                 Vector ECEF2ECI( CAMdoubleVector _ECEFVector, double _jDay );
00095 
00096                 Vector ECI2ECEF( CAMdoubleVector _ECIVector, double _jDay );
00097 
00098                 double lat_lon( double latlon, char sector );
00099 
00100                 void TangentPlaneState( AshtechG12_GPS_PhysicalDevice::Position recPos, CAMdoubleVector &_WGS84Vector );
00101 
00102                 void ECI2COE(Vector ECI, Vector VECI, Keplerian& myCOE, double& a, double& e, double& i, double& Lon, double& Arg, double& tru);
00103 
00104         protected:
00105 
00106 };
00107 
00108 #endif
00109 
00110 // Do not change the comments below - they will be added automatically by CVS
00111 /*****************************************************************************
00112 *       $Log: OrbitObserver.h,v $
00113 *       Revision 1.1  2007/08/31 16:09:30  jayhawk_hokie
00114 *       Initial Submission.
00115 *
00116 *
00117 *
00118 ******************************************************************************/
00119 
00120 
00121 
00122 

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