00001 ////////////////////////////////////////////////////////////////////////////////////////////////// 00002 /*! \file OrbitFrameRSW.h 00003 * \brief Interface to the RSW Satellite Coordinate System Class. 00004 * \author $Author: cakinli $ 00005 * \version $Revision: 1.1.1.1 $ 00006 * \date $Date: 2005/04/26 17:40:59 $ 00007 *////////////////////////////////////////////////////////////////////////////////////////////////// 00008 /* 00009 * 00010 */ 00011 ////////////////////////////////////////////////////////////////////////////////////////////////// 00012 00013 #ifndef __SSF_ORBIT_FRAME_RSW_H__ 00014 #define __SSF_ORBIT_FRAME_RSW_H__ 00015 #include "OrbitFrame.h" 00016 00017 /*! \brief RSW Satellite Coordinate System 00018 * \ingroup OrbitFrames 00019 * 00020 * \detail Applies to studies of relative motion because the system moves 00021 * with the satellite. The R axis is defined as pointing from the Earth's center along the 00022 * radius vector toward the satellite, and the W axis is fixed along the direction normal to 00023 * orbital plane. The S axis points in the direction of the velocity vector and is perpendicular 00024 * to the radius vector. 00025 * Radial: positions and displacements are parallel to the position vector (along R axis) 00026 * Along-track: displacements are normal to the position vector and (for small e) are nearly 00027 * parallel to the satellite's instantaneous velocity vector (along the S axis) 00028 * Cross-track: positions are normal to the plane defined by thte current position and 00029 * velocity vectors (along the W axis). 00030 * Sometimes called the Gaussian coordinate system. (Vallado, pg. 42-43) 00031 */ 00032 class OrbitFrameRSW : public OrbitFrame 00033 { 00034 public: 00035 OrbitFrameRSW(); 00036 virtual ~OrbitFrameRSW(); 00037 00038 OrbitFramePQW* NewPointer(); 00039 OrbitFramePQW* Clone(); 00040 protected: 00041 00042 00043 private: 00044 00045 }; 00046 inline OrbitFrameRSW::OrbitFrameRSW() {}; 00047 inline OrbitFrameRSW::~OrbitFrameRSW() {}; 00048 inline OrbitFrameRSW* OrbitFrameRSW::NewPointer() { return new OrbitFrameRSW(); } 00049 inline OrbitFrameRSW* OrbitFrameRSW::Clone() { return new OrbitFrameRSW(*this); } 00050 00051 #endif 00052 00053 // Do not change the comments below - they will be added automatically by CVS 00054 /***************************************************************************** 00055 * $Log: OrbitFrameRSW.h,v $ 00056 * Revision 1.1.1.1 2005/04/26 17:40:59 cakinli 00057 * Adding OpenSESSAME to DSACSS distrib to capture fixed version. 00058 * 00059 * Revision 1.7 2003/05/21 03:51:38 nilspace 00060 * Fixed spelling of "the" in comments. 00061 * 00062 * Revision 1.6 2003/05/20 17:47:59 nilspace 00063 * Updated comments. 00064 * 00065 * Revision 1.5 2003/04/29 20:17:40 nilspace 00066 * Added NewPointer() and Clone() functions. 00067 * 00068 * Revision 1.4 2003/04/29 18:45:35 nilspace 00069 * Moved all function definitions out of class interface definition. 00070 * 00071 * Revision 1.3 2003/04/23 16:26:07 nilspace 00072 * Updated directory structure & default parameters. 00073 * 00074 * Revision 1.2 2003/04/22 17:37:25 nilspace 00075 * Added reference frames. 00076 * 00077 * Revision 1.1 2003/04/08 22:48:04 nilspace 00078 * Initial Submission. 00079 * 00080 * 00081 ******************************************************************************/