00001 #pragma ident "$Id: SolverWMS.hpp 1319 2008-07-28 13:46:29Z architest $"
00002
00008 #ifndef SOLVERWMS_HPP
00009 #define SOLVERWMS_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 #include "SolverLMS.hpp"
00035
00036
00037 namespace gpstk
00038 {
00039
00041
00042
00044
00120 class SolverWMS : public SolverLMS
00121 {
00122 public:
00123
00128 SolverWMS();
00129
00130
00136 SolverWMS(const gnssEquationDefinition& eqDef);
00137
00138
00150 virtual int Compute( const Vector<double>& prefitResiduals,
00151 const Matrix<double>& designMatrix,
00152 const Matrix<double>& weightMatrix )
00153 throw(InvalidSolver);
00154
00155
00168 virtual int Compute( const Vector<double>& prefitResiduals,
00169 const Matrix<double>& designMatrix,
00170 const Vector<double>& weightVector )
00171 throw(InvalidSolver);
00172
00173
00180 virtual int Compute( const Vector<double>& prefitResiduals,
00181 const Matrix<double>& designMatrix )
00182 throw(InvalidSolver)
00183 { return SolverLMS::Compute(prefitResiduals, designMatrix); };
00184
00185
00191 virtual satTypeValueMap& Process(satTypeValueMap& gData)
00192 throw(ProcessingException);
00193
00194
00197 Matrix<double> covMatrixNoWeight;
00198
00199
00201 virtual int getIndex(void) const;
00202
00203
00205 virtual std::string getClassName(void) const;
00206
00207
00209 virtual ~SolverWMS() {};
00210
00211
00212 private:
00213
00214
00216 static int classIndex;
00217
00218
00220 int index;
00221
00222
00224 void setIndex(void)
00225 { index = classIndex++; };
00226
00227
00228
00229 };
00230
00232
00233 }
00234 #endif // SOLVERWMS_HPP