modelobsfixedstation.hpp
来自「一个gps小工具包」· HPP 代码 · 共 486 行 · 第 1/2 页
HPP
486 行
/** Returns a gnnsRinex object, adding the new data generated when * calling a modeling object. * * @param gData Data object holding the data. */ virtual gnssRinex& Process(gnssRinex& gData) throw(Exception) { Process(gData.header.epoch, gData.body); return gData; }; /// Method to get satellite elevation cut-off angle. By default, it /// is set to 10 degrees. virtual double getMinElev() const { return minElev; }; /// Method to set satellite elevation cut-off angle. By default, it /// is set to 10 degrees. virtual ModelObsFixedStation& setMinElev(double newElevation) { minElev = newElevation; return (*this); }; /// Method to set if instrumental delays (TGD) will be used or not /// in the modeling (it is set to true by default). virtual ModelObsFixedStation& setTGD(bool use) { useTGD = use; return (*this); }; /// Method to get a pointer to the default ionospheric model. virtual IonoModelStore* getDefaultIonoModel() const { return pDefaultIonoModel; }; /// Method to set a NULL ionospheric model. virtual ModelObsFixedStation& setNULLIonoModel() { pDefaultIonoModel = NULL; return (*this); }; /** Method to set the default ionospheric model. * @param dIonoModel Ionospheric model to be used by default. */ virtual ModelObsFixedStation& setDefaultIonoModel( IonoModelStore& dIonoModel) { pDefaultIonoModel = &dIonoModel; return (*this); }; /// Method to get a pointer to the default tropospheric model. virtual TropModel* getDefaultTropoModel() const { return pDefaultTropoModel; }; /// Method to set a NULL tropospheric model. virtual ModelObsFixedStation& setNULLTropoModel() { pDefaultTropoModel = NULL; return (*this); }; /** Method to set the default tropospheric model. * @param dTropoModel Tropospheric model to be used by default. */ virtual ModelObsFixedStation& setDefaultTropoModel( TropModel& dTropoModel) { pDefaultTropoModel = &dTropoModel; return (*this); }; /// Method to get the default observable being used with GNSS /// data structures. virtual TypeID getDefaultObservable() const { return defaultObservable; }; /** Method to set the default observable to be used when fed with * GNSS data structures. * @param type TypeID object to be used by default */ virtual ModelObsFixedStation& setDefaultObservable(const TypeID& type) { defaultObservable = type; return (*this); }; /// Method to get a pointer to the default XvtStore<SatID> to be used /// with GNSS data structures. virtual XvtStore<SatID>* getDefaultEphemeris() const { return pDefaultEphemeris; }; /** Method to set the default XvtStore<SatID> to be used with GNSS * data structures. * * @param ephem XvtStore<SatID> object to be used by default */ virtual ModelObsFixedStation& setDefaultEphemeris(XvtStore<SatID>& ephem) { pDefaultEphemeris = &ephem; return (*this); }; /// Either estimated or "a priori" position of receiver Position rxPos; /// Returns an index identifying this object. virtual int getIndex(void) const; /// Returns a string identifying this object. virtual std::string getClassName(void) const; /** Sets the index to a given arbitrary value. Use with caution. * * @param newindex New integer index to be assigned to * current object. */ ModelObsFixedStation& setIndex(const int newindex) { index = newindex; return (*this); }; /// Destructor. virtual ~ModelObsFixedStation() {}; protected: /** Compute the modeled pseudoranges, given satellite ID's, * pseudoranges and other data. * * @param Tr Measured time of reception of the data. * @param Satellite Vector of satellites. * @param Pseudorange Vector of raw pseudoranges (parallel to * satellite), in meters. * @param Eph EphemerisStore to be used. * @param pTropModel Pointer to tropospheric model to be used. * By default points to NULL. * @param pIonoModel Pointer to ionospheric model to be used. * By default points to NULL. * * @return * Number of satellites with valid data * * @sa TropModel.hpp, IonoModelStore.hpp. */ int Compute( const DayTime& Tr, Vector<SatID>& Satellite, Vector<double>& Pseudorange, const XvtStore<SatID>& Eph, TropModel *pTropModel = NULL, IonoModelStore *pIonoModel = NULL ) throw(Exception); /// The elevation cut-off angle for accepted satellites. /// By default it is set to 10 degrees. double minElev; /// Boolean variable indicating if SV instrumental delays (TGD) will /// be included in results. It is true by default. bool useTGD; /// Pointer to default ionospheric model. IonoModelStore *pDefaultIonoModel; /// Pointer to default tropospheric model. TropModel *pDefaultTropoModel; /// Default observable to be used when fed with GNSS data structures. TypeID defaultObservable; /// Pointer to default XvtStore<SatID> object when working with GNSS /// data structures. XvtStore<SatID>* pDefaultEphemeris; /// Initialization method virtual void InitializeValues() throw(Exception) { setInitialRxPosition(); }; /** Method to set the initial (a priori) position of receiver. * @return * 0 if OK * -1 if problems arose */ virtual int setInitialRxPosition( const double& aRx, const double& bRx, const double& cRx, Position::CoordinateSystem s = Position::Cartesian, GeoidModel *geoid = NULL ) throw(GeometryException); /// Method to set the initial (a priori) position of receiver. virtual int setInitialRxPosition(const Position& RxCoordinates) throw(GeometryException); /// Method to set the initial (a priori) position of receiver. virtual int setInitialRxPosition() throw(GeometryException); /// Method to get the tropospheric corrections. virtual double getTropoCorrections( TropModel *pTropModel, double elevation ) throw(); /// Method to get the ionospheric corrections. virtual double getIonoCorrections( IonoModelStore *pIonoModel, DayTime Tr, Geodetic rxGeo, double elevation, double azimuth ) throw(); /// Method to get TGD corrections. virtual double getTGDCorrections( DayTime Tr, const XvtStore<SatID>& Eph, SatID sat ) throw(); private: /// Initial index assigned to this class. static int classIndex; /// Index belonging to this object. int index; /// Sets the index and increment classIndex. void setIndex(void) { index = classIndex++; }; }; // class ModelObsFixedStation //@}} // namespace#endif // MODELOBSFIXEDSTATION_HPP
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?