ModelObs.hpp

Go to the documentation of this file.
00001 #pragma ident "$Id: ModelObs.hpp 1312 2008-07-24 18:15:26Z architest $"
00002 
00009 #ifndef MODELOBS_HPP
00010 #define MODELOBS_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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00029 //
00030 //  Dagoberto Salazar - gAGE ( http://www.gage.es ). 2006, 2007, 2008
00031 //
00032 //============================================================================
00033 
00034 
00035 
00036 #include "ModelObsFixedStation.hpp"
00037 #include "Bancroft.hpp"
00038 #include "PRSolution.hpp"
00039 
00040 namespace gpstk
00041 {
00042 
00045 
00116    class ModelObs : public ModelObsFixedStation
00117    {
00118    public:
00119 
00121       ModelObs() : modelPrepared(false)
00122       { setIndex(); };
00123 
00124 
00138       ModelObs( const Position& RxCoordinates,
00139                 IonoModelStore& dIonoModel,
00140                 TropModel& dTropoModel,
00141                 XvtStore<SatID>& dEphemeris,
00142                 const TypeID& dObservable,
00143                 bool usetgd = true );
00144 
00145 
00159       ModelObs( const Position& RxCoordinates,
00160                 IonoModelStore& dIonoModel,
00161                 XvtStore<SatID>& dEphemeris,
00162                 const TypeID& dObservable,
00163                 bool usetgd = true );
00164 
00165 
00179       ModelObs( const Position& RxCoordinates,
00180                 TropModel& dTropoModel,
00181                 XvtStore<SatID>& dEphemeris,
00182                 const TypeID& dObservable,
00183                 bool usetgd = true );
00184 
00185 
00198       ModelObs( const Position& RxCoordinates,
00199                 XvtStore<SatID>& dEphemeris,
00200                 const TypeID& dObservable,
00201                 bool usetgd = true );
00202 
00203 
00215       ModelObs( IonoModelStore& dIonoModel,
00216                 TropModel& dTropoModel,
00217                 XvtStore<SatID>& dEphemeris,
00218                 const TypeID& dObservable,
00219                 bool usetgd = true );
00220 
00221 
00232       ModelObs( IonoModelStore& dIonoModel,
00233                 XvtStore<SatID>& dEphemeris,
00234                 const TypeID& dObservable,
00235                 bool usetgd = true );
00236 
00237 
00248       ModelObs( TropModel& dTropoModel,
00249                 XvtStore<SatID>& dEphemeris,
00250                 const TypeID& dObservable,
00251                 bool usetgd = true );
00252 
00253 
00267       virtual int Prepare( const DayTime& Tr,
00268                            std::vector<SatID>& Satellite,
00269                            std::vector<double>& Pseudorange,
00270                            const XvtStore<SatID>& Eph );
00271 
00272 
00283       virtual int Prepare( const DayTime& time,
00284                            const satTypeValueMap& data );
00285 
00286 
00296       virtual int Prepare(const gnssSatTypeValue& gData)
00297       { return (Prepare(gData.header.epoch, gData.body)); };
00298 
00299 
00306       virtual int Prepare( const double& aRx,
00307                            const double& bRx,
00308                            const double& cRx,
00309                            Position::CoordinateSystem s = Position::Cartesian,
00310                            GeoidModel *geoid = NULL );
00311 
00312 
00319       virtual int Prepare(const Position& RxCoordinates);
00320 
00321 
00328       virtual satTypeValueMap& Process( const DayTime& time,
00329                                         satTypeValueMap& gData )
00330          throw(ProcessingException);
00331 
00332 
00334       inline bool getModelPrepared() const
00335       { return modelPrepared; };
00336 
00337 
00343       inline ModelObs& setModelPrepared(const bool& prepare)
00344       { modelPrepared = prepare; return (*this); };
00345 
00346 
00348       virtual int getIndex(void) const;
00349 
00350 
00352       virtual std::string getClassName(void) const;
00353 
00354 
00356       virtual ~ModelObs() {};
00357 
00358 
00359    protected:
00360 
00361 
00362       bool modelPrepared;
00363 
00364 
00365    private:
00366 
00367 
00369       static int classIndex;
00370 
00371 
00373       int index;
00374 
00375 
00377       void setIndex(void)
00378       { index = classIndex++; };
00379 
00380 
00381    }; // End of class 'ModelObs'
00382 
00384 
00385 }  // End of namespace gpstk
00386 #endif // MODELOBS_HPP

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