00001 #pragma ident "$Id: AlmOrbit.hpp 3140 2012-06-18 15:03:02Z susancummins $"
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #ifndef GPSTK_ALMORBIT_HPP
00040 #define GPSTK_ALMORBIT_HPP
00041
00047 #include <map>
00048 #include "CommonTime.hpp"
00049 #include "SatID.hpp"
00050 #include "Xvt.hpp"
00051
00052 namespace gpstk
00053 {
00056
00059 class AlmOrbit
00060 {
00061 public:
00063 AlmOrbit() throw();
00064
00066 AlmOrbit(short prn, double aEcc, double ai_offset, double aOMEGAdot,
00067 double aAhalf, double aOMEGA0, double aw, double aM0,
00068 double aAF0, double aAF1, long aToa, long axmit_time,
00069 short aweek, short aSV_health);
00070
00071 Xvt svXvt(const CommonTime& t) const throw();
00072
00073 short getPRNID() const throw()
00074 { return PRN; }
00075
00077 short getFullWeek() const throw();
00078 CommonTime getTransmitTime() const throw();
00079 CommonTime getToaTime() const throw();
00080 CommonTime getTimestamp() const throw() { return getToaTime(); }
00081 short getSVHealth() const throw() { return SV_health; }
00082
00083 void dump(std::ostream& s = std::cout, int verbosity=1) const;
00084
00085 short getPRN() const;
00086 double getecc() const;
00087 double geti_offset() const;
00088 double getOMEGAdot() const;
00089 double getAhalf() const;
00090 double getOMEGA0() const;
00091 double getw() const;
00092 double getM0() const;
00093 double getAF0() const;
00094 double getAF1() const;
00095 long getToaSOW() const;
00096 long getxmit_time() const;
00097 short getToaWeek() const;
00098
00099 protected:
00100 short PRN;
00101 double ecc;
00102 double i_offset;
00103 double OMEGAdot;
00104 double Ahalf;
00105 double OMEGA0;
00106 double w;
00107 double M0;
00108 double AF0;
00109 double AF1;
00110 long Toa;
00111 long xmit_time;
00112 short week;
00113 short SV_health;
00115 private:
00116 friend class EngAlmanac;
00117 };
00118
00120 typedef std::map<SatID, AlmOrbit> AlmOrbits;
00121
00122 std::ostream& operator<<(std::ostream& s, const AlmOrbit& ao);
00123
00124 inline short AlmOrbit::getPRN() const {return(PRN);}
00125 inline double AlmOrbit::getecc() const {return(ecc);}
00126 inline double AlmOrbit::geti_offset() const {return(i_offset);}
00127 inline double AlmOrbit::getOMEGAdot() const {return(OMEGAdot);}
00128 inline double AlmOrbit::getAhalf() const {return(Ahalf);}
00129 inline double AlmOrbit::getOMEGA0() const {return(OMEGA0);}
00130 inline double AlmOrbit::getw() const {return(w);}
00131 inline double AlmOrbit::getM0() const {return(M0);}
00132 inline double AlmOrbit::getAF0() const {return(AF0);}
00133 inline double AlmOrbit::getAF1() const {return(AF1);}
00134 inline long AlmOrbit::getToaSOW() const {return(Toa);}
00135 inline long AlmOrbit::getxmit_time() const {return(xmit_time);}
00136 inline short AlmOrbit::getToaWeek() const {return(week);}
00137
00139
00140 }
00141
00142 #endif