00001 #pragma ident "$Id: ModeledPR.hpp 1312 2008-07-24 18:15:26Z architest $"
00002
00008 #ifndef MODELEDPR_HPP
00009 #define MODELEDPR_HPP
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #include "ModeledReferencePR.hpp"
00036 #include "Matrix.hpp"
00037 #include "Bancroft.hpp"
00038 #include "PRSolution.hpp"
00039 #include "DataStructures.hpp"
00040
00041
00042 namespace gpstk
00043 {
00046
00121 class ModeledPR : public ModeledReferencePR
00122 {
00123 public:
00124
00126 ModeledPR() : modelPrepared(false) {};
00127
00128
00147 ModeledPR( const Position& RxCoordinates,
00148 IonoModelStore& dIonoModel,
00149 TropModel& dTropoModel,
00150 XvtStore<SatID>& dEphemeris,
00151 const TypeID& dObservable,
00152 bool usetgd = true );
00153
00154
00173 ModeledPR( const Position& RxCoordinates,
00174 IonoModelStore& dIonoModel,
00175 XvtStore<SatID>& dEphemeris,
00176 const TypeID& dObservable,
00177 bool usetgd = true );
00178
00179
00198 ModeledPR( const Position& RxCoordinates,
00199 TropModel& dTropoModel,
00200 XvtStore<SatID>& dEphemeris,
00201 const TypeID& dObservable,
00202 bool usetgd = true );
00203
00204
00222 ModeledPR( const Position& RxCoordinates,
00223 XvtStore<SatID>& dEphemeris,
00224 const TypeID& dObservable,
00225 bool usetgd = true );
00226
00227
00244 ModeledPR( IonoModelStore& dIonoModel,
00245 TropModel& dTropoModel,
00246 XvtStore<SatID>& dEphemeris,
00247 const TypeID& dObservable,
00248 bool usetgd = true );
00249
00250
00266 ModeledPR( IonoModelStore& dIonoModel,
00267 XvtStore<SatID>& dEphemeris,
00268 const TypeID& dObservable,
00269 bool usetgd = true );
00270
00271
00287 ModeledPR( TropModel& dTropoModel,
00288 XvtStore<SatID>& dEphemeris,
00289 const TypeID& dObservable,
00290 bool usetgd = true );
00291
00292
00306 virtual int Prepare( const DayTime& Tr,
00307 std::vector<SatID>& Satellite,
00308 std::vector<double>& Pseudorange,
00309 const XvtStore<SatID>& Eph );
00310
00311
00325 virtual int Prepare( const DayTime& Tr,
00326 const Vector<SatID>& Satellite,
00327 const Vector<double>& Pseudorange,
00328 const XvtStore<SatID>& Eph );
00329
00330
00342 virtual int Prepare( const DayTime& time,
00343 const satTypeValueMap& data );
00344
00345
00355 virtual int Prepare(const gnssSatTypeValue& gData)
00356 { return (Prepare(gData.header.epoch, gData.body)); };
00357
00358
00365 virtual int Prepare( const double& aRx,
00366 const double& bRx,
00367 const double& cRx,
00368 Position::CoordinateSystem s=Position::Cartesian,
00369 GeoidModel *geoid = NULL );
00370
00371
00378 virtual int Prepare(const Position& RxCoordinates);
00379
00380
00387 virtual satTypeValueMap& processModel( const DayTime& time,
00388 satTypeValueMap& gData )
00389 throw(Exception);
00390
00391
00393 bool getModelPrepared() const
00394 { return modelPrepared; };
00395
00396
00402 ModeledPR& setModelPrepared(const bool& prepare)
00403 { modelPrepared = prepare; return (*this); };
00404
00405
00407 virtual ~ModeledPR() {};
00408
00409
00410 protected:
00411
00412
00413 bool modelPrepared;
00414
00415
00416 };
00417
00419
00420 }
00421 #endif // MODELEDPR_HPP