XYZ2NEU.hpp

Go to the documentation of this file.
00001 #pragma ident "$Id: XYZ2NEU.hpp 3140 2012-06-18 15:03:02Z susancummins $"
00002 
00009 #ifndef GPSTK_XYZ2NEU_HPP
00010 #define GPSTK_XYZ2NEU_HPP
00011 
00012 //============================================================================
00013 //
00014 //  This file is part of GPSTk, the GPS Toolkit.
00015 //
00016 //  The GPSTk is free software; you can redistribute it and/or modify
00017 //  it under the terms of the GNU Lesser General Public License as published
00018 //  by the Free Software Foundation; either version 2.1 of the License, or
00019 //  any later version.
00020 //
00021 //  The GPSTk is distributed in the hope that it will be useful,
00022 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
00023 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00024 //  GNU Lesser General Public License for more details.
00025 //
00026 //  You should have received a copy of the GNU Lesser General Public
00027 //  License along with GPSTk; if not, write to the Free Software Foundation,
00028 //  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
00029 //
00030 //  Dagoberto Salazar - gAGE ( http://www.gage.es ). 2007, 2008, 2011
00031 //
00032 //============================================================================
00033 
00034 
00035 
00036 #include "geometry.hpp"                   // DEG_TO_RAD
00037 #include "Matrix.hpp"
00038 #include "Position.hpp"
00039 #include "TypeID.hpp"
00040 #include "ProcessingClass.hpp"
00041 
00042 
00043 namespace gpstk
00044 {
00045 
00048 
00122    class XYZ2NEU : public ProcessingClass
00123    {
00124    public:
00125 
00127       XYZ2NEU()
00128          : refLat(0.0), refLon(0.0)
00129       { init(); };
00130 
00131 
00137       XYZ2NEU( const double& lat,
00138                const double& lon )
00139       { setLatLon(lat, lon); }
00140 
00141 
00146       XYZ2NEU(const Position& refPos);
00147 
00148 
00156       virtual XYZ2NEU& setLat(const double& lat);
00157 
00158 
00160       virtual double getLat(void) const
00161       { return (refLat*RAD_TO_DEG); };
00162 
00163 
00168       virtual XYZ2NEU& setLon(const double& lon);
00169 
00170 
00172       virtual double getLon(void) const
00173       { return (refLon*RAD_TO_DEG); };
00174 
00175 
00185       virtual XYZ2NEU& setLatLon( const double& lat,
00186                                   const double& lon );
00187 
00188 
00195       virtual satTypeValueMap& Process(satTypeValueMap& gData)
00196          throw(ProcessingException);
00197 
00198 
00205       virtual gnssSatTypeValue& Process(gnssSatTypeValue& gData)
00206          throw(ProcessingException)
00207       { Process(gData.body); return gData; };
00208 
00209 
00216       virtual gnssRinex& Process(gnssRinex& gData)
00217          throw(ProcessingException)
00218       { Process(gData.body); return gData; };
00219 
00220 
00222       virtual std::string getClassName(void) const;
00223 
00224 
00226       virtual ~XYZ2NEU() {};
00227 
00228 
00229    private:
00230 
00231 
00234       double refLat;
00235 
00236 
00239       double refLon;
00240 
00241 
00243       Matrix<double> rotationMatrix;
00244 
00245 
00248       TypeIDSet inputSet;
00249 
00250 
00253       TypeIDSet outputSet;
00254 
00255 
00258       virtual void init();
00259 
00260 
00261    }; // End of class 'XYZ2NEU'
00262 
00264 
00265 }  // End of namespace gpstk
00266 
00267 #endif   // GPSTK_XYZ2NEU_HPP

Generated on Wed May 22 03:31:16 2013 for GPS ToolKit Software Library by  doxygen 1.3.9.1