00001 #pragma ident "$Id: RequireObservables.hpp 1460 2008-11-18 15:41:23Z ckiesch $"
00002
00008 #ifndef REQUIREOBSERVABLES_HPP
00009 #define REQUIREOBSERVABLES_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 namespace gpstk
00039 {
00040
00043
00044
00080 class RequireObservables : public ProcessingClass
00081 {
00082 public:
00083
00085 RequireObservables()
00086 { setIndex(); };
00087
00088
00093 RequireObservables(const TypeID& type)
00094 { setRequiredType(type); setIndex(); };
00095
00096
00101 RequireObservables(const TypeIDSet& typeSet)
00102 : requiredTypeSet(typeSet)
00103 { setIndex(); };
00104
00105
00111 virtual satTypeValueMap& Process(satTypeValueMap& gData)
00112 throw(ProcessingException);
00113
00114
00119 virtual RequireObservables& addRequiredType(const TypeID& type)
00120 { requiredTypeSet.insert(type); return (*this); };
00121
00122
00127 virtual RequireObservables& addRequiredType(TypeIDSet& typeSet);
00128
00129
00135 virtual RequireObservables& setRequiredType(const TypeID& type)
00136 { requiredTypeSet.clear(); requiredTypeSet.insert(type); return *this; };
00137
00138
00144 virtual RequireObservables& setRequiredType(const TypeIDSet& typeSet)
00145 { requiredTypeSet.clear(); requiredTypeSet = typeSet; return (*this); };
00146
00147
00149 virtual TypeIDSet getRequiredType() const
00150 { return requiredTypeSet; };
00151
00152
00158 virtual gnssSatTypeValue& Process(gnssSatTypeValue& gData)
00159 throw(ProcessingException)
00160 { Process(gData.body); return gData; };
00161
00162
00163
00168 virtual gnssRinex& Process(gnssRinex& gData)
00169 throw(ProcessingException)
00170 { Process(gData.body); return gData; };
00171
00172
00174 virtual int getIndex(void) const;
00175
00176
00178 virtual std::string getClassName(void) const;
00179
00180
00182 virtual ~RequireObservables() {};
00183
00184
00185 private:
00186
00187
00189 TypeIDSet requiredTypeSet;
00190
00191
00193 static int classIndex;
00194
00195
00197 int index;
00198
00199
00201 void setIndex(void)
00202 { index = classIndex++; };
00203
00204 };
00205
00207
00208 }
00209 #endif // REQUIREOBSERVABLES_HPP