00001 #pragma ident "$Id: SatArcMarker.hpp 2513 2011-02-20 09:29:32Z yanweignss $"
00002
00008 #ifndef GPSTK_SATARCMARKER_HPP
00009 #define GPSTK_SATARCMARKER_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
00097 class SatArcMarker : public ProcessingClass
00098 {
00099 public:
00100
00102 SatArcMarker()
00103 : watchCSFlag(TypeID::CSL1), deleteUnstableSats(false),
00104 unstablePeriod(31.0)
00105 { setIndex(); };
00106
00107
00116 SatArcMarker( const TypeID& watchFlag,
00117 const bool delUnstableSats,
00118 const double unstableTime );
00119
00120
00122 virtual TypeID getCSFlag() const
00123 { return watchCSFlag; };
00124
00125
00130 virtual SatArcMarker& setCSFlag(const TypeID& watchFlag)
00131 { watchCSFlag = watchFlag; return (*this); };
00132
00133
00135 virtual bool getDeleteUnstableSat() const
00136 { return deleteUnstableSats; };
00137
00138
00143 virtual SatArcMarker& setDeleteUnstableSats(const bool delUnstableSats)
00144 { deleteUnstableSats = delUnstableSats; return (*this); };
00145
00146
00149 virtual double getUnstablePeriod() const
00150 { return unstablePeriod; };
00151
00152
00160 virtual SatArcMarker& setUnstablePeriod(const double unstableTime);
00161
00162
00166 virtual DayTime getArcChangedEpoch(const SatID& sat);
00167
00174 virtual satTypeValueMap& Process( const DayTime& epoch,
00175 satTypeValueMap& gData )
00176 throw(ProcessingException);
00177
00178
00184 virtual gnssSatTypeValue& Process(gnssSatTypeValue& gData)
00185 throw(ProcessingException);
00186
00187
00193 virtual gnssRinex& Process(gnssRinex& gData)
00194 throw(ProcessingException);
00195
00196
00198 virtual int getIndex(void) const;
00199
00200
00202 virtual std::string getClassName(void) const;
00203
00204
00206 virtual ~SatArcMarker() {};
00207
00208
00209 private:
00210
00211
00213 TypeID watchCSFlag;
00214
00215
00217 bool deleteUnstableSats;
00218
00219
00222 double unstablePeriod;
00223
00224
00226 std::map<SatID, double> satArcMap;
00227
00228
00230 std::map<SatID, DayTime> satArcChangeMap;
00231
00232
00234 std::map<SatID, bool> satIsNewMap;
00235
00236
00238 static int classIndex;
00239
00240
00242 int index;
00243
00244
00246 void setIndex(void)
00247 { index = classIndex++; };
00248
00249
00250 };
00251
00252
00254
00255 }
00256
00257 #endif // GPSTK_SATARCMARKER_HPP