00001 #pragma ident "$Id: DOP.hpp 1889 2009-05-11 15:47:23Z afarris $" 00002 00008 #ifndef DOP_GPSTK 00009 #define DOP_GPSTK 00010 00011 //============================================================================ 00012 // 00013 // This file is part of GPSTk, the GPS Toolkit. 00014 // 00015 // The GPSTk is free software; you can redistribute it and/or modify 00016 // it under the terms of the GNU Lesser General Public License as published 00017 // by the Free Software Foundation; either version 2.1 of the License, or 00018 // any later version. 00019 // 00020 // The GPSTk is distributed in the hope that it will be useful, 00021 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00022 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00023 // GNU Lesser General Public License for more details. 00024 // 00025 // You should have received a copy of the GNU Lesser General Public 00026 // License along with GPSTk; if not, write to the Free Software Foundation, 00027 // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00028 // 00029 // Dagoberto Salazar - gAGE. 2006 00030 // 00031 //============================================================================ 00032 00033 00034 00035 #include "Exception.hpp" 00036 #include "Matrix.hpp" 00037 #include "MiscMath.hpp" 00038 00039 00040 namespace gpstk 00041 { 00044 NEW_EXCEPTION_CLASS(InvalidDOP, gpstk::Exception); 00045 00046 00049 00050 00054 class DOP 00055 { 00056 public: 00058 bool isValid(void) 00059 { return valid; } 00060 00062 double GDOP; 00063 00065 double PDOP; 00066 00068 double TDOP; 00069 00071 DOP() throw(InvalidDOP) { valid = false; }; 00072 00073 00081 virtual int Compute(const Matrix<double>& covarianceMatrix) throw(InvalidDOP); 00082 00083 00085 virtual ~DOP() {}; 00086 00087 00088 protected: 00089 bool valid; // true only if results are valid 00090 00091 }; // end class SolverBase 00092 00093 00095 00096 } 00097 00098 #endif
1.3.9.1