00001 #pragma ident "$Id: ComputeLinear.hpp 1308 2008-07-22 20:01:04Z architest $"
00002
00008 #ifndef COMPUTELINEAR_HPP
00009 #define COMPUTELINEAR_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
00131 class ComputeLinear : public ProcessingClass
00132 {
00133 public:
00134
00136 ComputeLinear()
00137 { setIndex(); clearAll(); };
00138
00139
00144 ComputeLinear( const gnssLinearCombination& linearComb )
00145 { setIndex(); linearList.push_back(linearComb); };
00146
00147
00152 ComputeLinear(const LinearCombList& list)
00153 : linearList(list)
00154 { setIndex(); };
00155
00156
00163 virtual satTypeValueMap& Process( const DayTime& time,
00164 satTypeValueMap& gData )
00165 throw(ProcessingException);
00166
00167
00173 virtual gnssSatTypeValue& Process(gnssSatTypeValue& gData)
00174 throw(ProcessingException)
00175 { Process(gData.header.epoch, gData.body); return gData; };
00176
00177
00183 virtual gnssRinex& Process(gnssRinex& gData)
00184 throw(ProcessingException)
00185 { Process(gData.header.epoch, gData.body); return gData; };
00186
00187
00189 virtual LinearCombList getLinearCombinations(void) const
00190 { return linearList; };
00191
00192
00194 virtual ComputeLinear& clearAll(void)
00195 { linearList.clear(); return (*this); };
00196
00197
00204 virtual ComputeLinear& setLinearCombination(
00205 const gnssLinearCombination& linear )
00206 { clearAll(); linearList.push_back(linear); return (*this); };
00207
00208
00215 virtual ComputeLinear& setLinearCombination(const LinearCombList& list)
00216 { clearAll(); linearList = list; return (*this); };
00217
00218
00223 virtual ComputeLinear& addLinear(const gnssLinearCombination& linear)
00224 { linearList.push_back(linear); return (*this); };
00225
00226
00228 virtual int getIndex(void) const;
00229
00230
00232 virtual std::string getClassName(void) const;
00233
00234
00236 virtual ~ComputeLinear() {};
00237
00238
00239 private:
00240
00241
00243 LinearCombList linearList;
00244
00245
00247 static int classIndex;
00248
00250 int index;
00251
00253 void setIndex(void)
00254 { index = classIndex++; };
00255
00256
00257 };
00258
00259
00261
00262 }
00263 #endif // COMPUTELINEAR_HPP