00001 #pragma ident "$Id: GravitationalDelay.hpp 1315 2008-07-25 18:35:21Z architest $"
00002
00008 #ifndef GRAVITATIONALDELAY_HPP
00009 #define GRAVITATIONALDELAY_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 <math.h>
00036 #include "Position.hpp"
00037 #include "ProcessingClass.hpp"
00038
00039
00040
00041 namespace gpstk
00042 {
00043
00046
00047
00105 class GravitationalDelay : public ProcessingClass
00106 {
00107 public:
00108
00110 GravitationalDelay() : nominalPos(0.0, 0.0, 0.0)
00111 { setIndex(); };
00112
00113
00118 GravitationalDelay(const Position& stapos) : nominalPos(stapos)
00119 { setIndex(); };
00120
00121
00128 virtual satTypeValueMap& Process( const DayTime& epoch,
00129 satTypeValueMap& gData )
00130 throw(ProcessingException);
00131
00132
00138 virtual gnssSatTypeValue& Process(gnssSatTypeValue& gData)
00139 throw(ProcessingException)
00140 { Process(gData.header.epoch, gData.body); return gData; };
00141
00142
00148 virtual gnssRinex& Process(gnssRinex& gData)
00149 throw(ProcessingException);
00150
00151
00153 virtual Position getNominalPosition(void) const
00154 { return nominalPos; };
00155
00156
00160 virtual GravitationalDelay& setNominalPosition(const Position& stapos)
00161 { nominalPos = stapos; return (*this); };
00162
00163
00165 virtual int getIndex(void) const;
00166
00167
00169 virtual std::string getClassName(void) const;
00170
00171
00173 virtual ~GravitationalDelay() {};
00174
00175
00176 private:
00177
00178
00180 Position nominalPos;
00181
00182
00184 static int classIndex;
00185
00187 int index;
00188
00190 void setIndex(void)
00191 { index = classIndex++; };
00192
00193
00194 };
00195
00197
00198 }
00199 #endif // GRAVITATIONALDELAY_HPP