00001 #pragma ident "$Id: RequireObservables.hpp 3140 2012-06-18 15:03:02Z susancummins $" 00002 00008 #ifndef GPSTK_REQUIREOBSERVABLES_HPP 00009 #define GPSTK_REQUIREOBSERVABLES_HPP 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA 00028 // 00029 // Dagoberto Salazar - gAGE ( http://www.gage.es ). 2007, 2008, 2011 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 { }; 00087 00088 00093 RequireObservables(const TypeID& type) 00094 { setRequiredType(type); }; 00095 00096 00101 RequireObservables(const TypeIDSet& typeSet) 00102 : requiredTypeSet(typeSet) 00103 { }; 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 std::string getClassName(void) const; 00175 00176 00178 virtual ~RequireObservables() {}; 00179 00180 00181 private: 00182 00183 00185 TypeIDSet requiredTypeSet; 00186 00187 00188 }; // End of class 'RequireObservables' 00189 00191 00192 } // End of namespace gpstk 00193 00194 #endif // GPSTK_REQUIREOBSERVABLES_HPP
1.3.9.1