00001 #pragma ident "$Id: NablaOp.hpp 3140 2012-06-18 15:03:02Z susancummins $"
00002
00009 #ifndef GPSTK_NABLAOP_HPP
00010 #define GPSTK_NABLAOP_HPP
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 #include "ProcessingClass.hpp"
00037
00038
00039 namespace gpstk
00040 {
00041
00044
00116 class NablaOp : public ProcessingClass
00117 {
00118 public:
00119
00120
00126 NablaOp();
00127
00128
00134 NablaOp(const SatID& rSat);
00135
00136
00142 NablaOp(const TypeID& difftype)
00143 : lookReferenceSat(true)
00144 { setDiffType(difftype); };
00145
00146
00153 NablaOp( const SatID& rSat,
00154 const TypeID& difftype )
00155 : refSat(rSat), lookReferenceSat(false)
00156 { setDiffType(difftype); };
00157
00158
00165 NablaOp( const SatID& rSat,
00166 const TypeIDSet& diffSet )
00167 : refSat(rSat), lookReferenceSat(false), diffTypes(diffSet)
00168 { };
00169
00170
00182 virtual NablaOp& setRefSat(const SatID& rSat)
00183 { refSat = rSat; lookReferenceSat = false; return (*this); };
00184
00185
00188 virtual NablaOp& useHighestSat(void)
00189 { lookReferenceSat = true; return (*this); };
00190
00191
00193 virtual SatID getRefSat(void) const
00194 { return refSat; };
00195
00196
00204 virtual NablaOp& setDiffType(const TypeID& difftype)
00205 { diffTypes.clear(); diffTypes.insert(difftype); return (*this); };
00206
00207
00213 virtual NablaOp& addDiffType(const TypeID& difftype)
00214 { diffTypes.insert(difftype); return (*this); };
00215
00216
00224 virtual NablaOp& setDiffTypeSet(const TypeIDSet& diffSet)
00225 { diffTypes.clear(); diffTypes = diffSet; return (*this); };
00226
00227
00233 virtual NablaOp& addDiffTypeSet(const TypeIDSet& diffSet);
00234
00235
00237 virtual TypeIDSet getDiffTypeSet(void) const
00238 { return diffTypes; };
00239
00240
00247 virtual satTypeValueMap& Process(satTypeValueMap& gData)
00248 throw(ProcessingException);
00249
00250
00257 virtual gnssSatTypeValue& Process(gnssSatTypeValue& gData)
00258 throw(ProcessingException)
00259 { Process(gData.body); return gData; };
00260
00261
00268 virtual gnssRinex& Process(gnssRinex& gData)
00269 throw(ProcessingException)
00270 { Process(gData.body); return gData; };
00271
00272
00274 virtual std::string getClassName(void) const;
00275
00276
00278 virtual ~NablaOp() {};
00279
00280
00281 private:
00282
00283
00285 SatID refSat;
00286
00287
00289 bool lookReferenceSat;
00290
00291
00293 TypeIDSet diffTypes;
00294
00295
00296 };
00297
00299
00300 }
00301
00302 #endif // GPSTK_NABLAOP_HPP