00001 #pragma ident "$Id: ComputeDOP.hpp 1315 2008-07-25 18:35:21Z architest $"
00002
00008 #ifndef COMPUTEDOP_HPP
00009 #define COMPUTEDOP_HPP
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 #include "ProcessingClass.hpp"
00036
00037
00038
00039 namespace gpstk
00040 {
00041
00044
00045
00095 class ComputeDOP : public ProcessingClass
00096 {
00097 public:
00098
00100 ComputeDOP()
00101 : gdop(-1.0), pdop(-1.0), tdop(-1.0), hdop(-1.0), vdop(-1.0)
00102 { setIndex(); };
00103
00104
00111 virtual satTypeValueMap& Process( const DayTime& time,
00112 satTypeValueMap& gData )
00113 throw(ProcessingException);
00114
00115
00121 virtual gnssSatTypeValue& Process(gnssSatTypeValue& gData)
00122 throw(ProcessingException)
00123 { Process(gData.header.epoch, gData.body); return gData; };
00124
00125
00131 virtual gnssRinex& Process(gnssRinex& gData)
00132 throw(ProcessingException)
00133 { Process(gData.header.epoch, gData.body); return gData; };
00134
00135
00137 virtual double getGDOP(void) const
00138 { return gdop; };
00139
00140
00142 virtual double getPDOP(void) const
00143 { return pdop; };
00144
00145
00147 virtual double getTDOP(void) const
00148 { return tdop; };
00149
00150
00152 virtual double getHDOP(void) const
00153 { return hdop; };
00154
00155
00157 virtual double getVDOP(void) const
00158 { return vdop; };
00159
00160
00162 virtual int getIndex(void) const;
00163
00164
00166 virtual std::string getClassName(void) const;
00167
00168
00170 virtual ~ComputeDOP() {};
00171
00172
00173 private:
00174
00175
00177 double gdop;
00178
00180 double pdop;
00181
00183 double tdop;
00184
00186 double hdop;
00187
00189 double vdop;
00190
00192 static int classIndex;
00193
00195 int index;
00196
00198 void setIndex(void)
00199 { index = classIndex++; };
00200
00201
00202 };
00203
00205
00206 }
00207 #endif // COMPUTEDOP_HPP