📄 modeledpr.hpp
字号:
useTGD = usetgd; }; /** Explicit constructor, taking as input default ionospheric and tropospheric * models, ephemeris to be used, default observable and whether TGD will be * computed or not. * * This constructor is meant to be used when working with GNSS data structures * in order to set the basic parameters from the beginning. * * @param dIonoModel Ionospheric model to be used by default. * @param dTropoModel Tropospheric model to be used by default. * @param dObservable Observable type to be used by default. * @param dEphemeris EphemerisStore object to be used by default. * @param usetgd Whether TGD will be used by default or not. * * @sa DataStructures.hpp. */ ModeledPR(IonoModelStore& dIonoModel, TropModel& dTropoModel, EphemerisStore& dEphemeris, const TypeID& dObservable, bool usetgd = true) throw(Exception) { InitializeValues(); setDefaultIonoModel(dIonoModel); setDefaultTropoModel(dTropoModel); setDefaultObservable(dObservable); setDefaultEphemeris(dEphemeris); useTGD = usetgd; }; /** Explicit constructor, taking as input default ionospheric model, * ephemeris to be used, default observable and whether TGD will be * computed or not. * * This constructor is meant to be used when working with GNSS data structures * in order to set the basic parameters from the beginning. * * @param dIonoModel Ionospheric model to be used by default. * @param dObservable Observable type to be used by default. * @param dEphemeris EphemerisStore object to be used by default. * @param usetgd Whether TGD will be used by default or not. * * @sa DataStructures.hpp. */ ModeledPR(IonoModelStore& dIonoModel, EphemerisStore& dEphemeris, const TypeID& dObservable, bool usetgd = true) throw(Exception) { InitializeValues(); setDefaultIonoModel(dIonoModel); pDefaultTropoModel = NULL; setDefaultObservable(dObservable); setDefaultEphemeris(dEphemeris); useTGD = usetgd; }; /** Explicit constructor, taking as input default tropospheric model, * ephemeris to be used, default observable and whether TGD will be * computed or not. * * This constructor is meant to be used when working with GNSS data structures * in order to set the basic parameters from the beginning. * * @param dTropoModel Tropospheric model to be used by default. * @param dObservable Observable type to be used by default. * @param dEphemeris EphemerisStore object to be used by default. * @param usetgd Whether TGD will be used by default or not. * * @sa DataStructures.hpp. */ ModeledPR(TropModel& dTropoModel, EphemerisStore& dEphemeris, const TypeID& dObservable, bool usetgd = true) throw(Exception) { InitializeValues(); pDefaultIonoModel = NULL; setDefaultTropoModel(dTropoModel); setDefaultObservable(dObservable); setDefaultEphemeris(dEphemeris); useTGD = usetgd; }; /** Method to set an a priori position of receiver using Bancroft method. * * @param Tr Time of observation * @param Satellite Vector of satellites in view * @param Pseudorange Pseudoranges measured from mobile to satellites * @param Eph Satellites Ephemeris * * @return * 0 if OK * -1 if problems arose */ virtual int Prepare(const DayTime& Tr, std::vector<SatID>& Satellite, std::vector<double>& Pseudorange, const EphemerisStore& Eph); /** Method to set an a priori position of receiver using Bancroft method. * * @param Tr Time of observation * @param Satellite Vector of satellites in view * @param Pseudorange Pseudoranges measured from mobile to satellites * @param Eph Satellites Ephemeris * * @return * 0 if OK * -1 if problems arose */ virtual int Prepare(const DayTime& Tr, const Vector<SatID>& Satellite, const Vector<double>& Pseudorange, const EphemerisStore& Eph) { int i; std::vector<SatID> vSat; std::vector<double> vPR; // Convert from gpstk::Vector to std::vector for (i = 0; i < (int)Satellite.size(); i++) vSat.push_back(Satellite[i]); for (i = 0; i < (int)Pseudorange.size(); i++) vPR.push_back(Pseudorange[i]); return Prepare(Tr, vSat, vPR, Eph); }; /** Method to set an a priori position of receiver using Bancroft method. Intended to be used * with GNSS data structures. * * @param time DayTime object for this epoch * @param data A satTypeValueMap data structure holding the data * * @return * 0 if OK * -1 if problems arose */ virtual inline int Prepare(const DayTime& time, const satTypeValueMap& data) { int i; std::vector<SatID> vSat; std::vector<double> vPR; Vector<SatID> Satellite( data.getVectorOfSatID() ); Vector<double> Pseudorange( data.getVectorOfTypeID( (*this).getDefaultObservable() ) ); // Convert from gpstk::Vector to std::vector for (i = 0; i < (int)Satellite.size(); i++) vSat.push_back(Satellite[i]); for (i = 0; i < (int)Pseudorange.size(); i++) vPR.push_back(Pseudorange[i]); return Prepare(time, vSat, vPR, (*( (*this).getDefaultEphemeris())) ); }; /** Method to set an a priori position of receiver using Bancroft method. Intended to be used * with GNSS data structures. * * @param gData GNSS data structure to be used * * @return * 0 if OK * -1 if problems arose */ virtual inline int Prepare(const gnssSatTypeValue& gData) { return ((*this).Prepare(gData.header.epoch, gData.body)); }; /** Method to set the initial (a priori) position of receiver before * Compute() method. * @return * 0 if OK * -1 if problems arose */ virtual int Prepare(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 before * Compute() method. * @return * 0 if OK * -1 if problems arose */ virtual int Prepare(const Position& RxCoordinates) throw(GeometryException); /** Returns a satTypeValueMap object, adding the new data generated when calling a modeling object. * * @param time Epoch. * @param gData Data object holding the data. */ virtual satTypeValueMap& processModel(const DayTime& time, satTypeValueMap& gData) throw(Exception); /// Method to get if the model has been prepared. inline bool getModelPrepared() const { return modelPrepared; }; /** Method to forcefully set whether the model has been prepared. * * @param prepare Boolean indicating whether the model has been prepared. */ inline void setModelPrepared(const bool& prepare) { modelPrepared = prepare; }; /// Destructor. virtual ~ModeledPR() throw() {}; protected: bool modelPrepared; }; // class ModeledPR //@}} // namespace#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -