Earth Observation Mission CFI Software Orbit Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.10 00003 //-------------------------------------------------------- 00004 00005 //-------------------------------------------------------------------- 00006 // CVS Info: $Id: ANXTime.h,v 1.12 2014-02-25 15:36:32 cavm Exp $ 00007 //-------------------------------------------------------------------- 00008 00009 #ifndef _ANXTIME_H 00010 #define _ANXTIME_H 00011 00012 //--INCLUDE----------------------------------------------------------- 00013 #include "OrbitData.h" 00014 #include "CfiError.h" 00015 #include "CfiClass.h" 00016 #include "OrbitId.h" 00017 00018 //--NAMESPACES-------------------------------------------------------- 00019 using namespace std; 00020 00021 namespace EECFI 00022 { 00023 00027 class ANXTime: public CfiClass 00028 { 00029 friend class RelANXTime; 00030 friend class OrbitExtra; 00031 friend class Swath; 00032 00033 public: 00034 long orbit; 00035 long seconds; 00036 long microseconds; 00037 00039 ANXTime(); 00040 00042 ANXTime( long orbitIn, long secondsIn, long microsecIn ); 00043 00045 ANXTime( const OrbitId &orbitId, long orbitIn, long secondsIn, long microsecIn ) throw (CfiError); 00046 00048 ANXTime( const ANXTime &at ); 00049 00051 ~ANXTime(); 00052 00054 double orbitToTime( long timeRef ) const throw (CfiError); 00055 00059 void timeToOrbit( long timeRef, double time ) throw (CfiError); 00060 00062 void setBOM(); 00063 00065 void setEOM(); 00066 00068 OrbitalInfo getOrbitInfo() const throw (CfiError); 00069 00078 void orbitInfoConfigure( long item, long option ) const throw (CfiError); // AN-523 00079 00081 void adjustWithNodalPeriod() throw (CfiError); 00082 00083 // ANXTime arithmetic operators. 00084 00086 ANXTime operator+ ( double time ); 00088 ANXTime operator- ( double time ); 00090 double operator- ( const ANXTime &t ) const throw (CfiError); 00091 00092 // ANXTime comparisons. 00094 bool operator> ( const ANXTime &t ) const throw (CfiError); 00096 bool operator< ( const ANXTime &t ) const throw (CfiError); 00098 bool operator>= ( const ANXTime &t ) const throw (CfiError); 00100 bool operator<= ( const ANXTime &t ) const throw (CfiError); 00102 bool operator== ( const ANXTime &t ) const throw (CfiError); 00104 bool operator!= ( const ANXTime &t ) const throw (CfiError); 00105 00107 void operator= ( const ANXTime &t ); 00108 00109 protected: 00110 00111 00112 private: 00113 OrbitId orbitId; 00114 int isBOM_EOM; 00115 }; 00116 00117 } // closing namespace 00118 00119 #endif