RequireObservables.hpp

Go to the documentation of this file.
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 //  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 ( http://www.gage.es ). 2007, 2008
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    }; // End of class 'RequireObservables'
00205 
00207 
00208 }
00209 #endif  // REQUIREOBSERVABLES_HPP

Generated on Tue May 22 03:31:00 2012 for GPS ToolKit Software Library by  doxygen 1.3.9.1