Go to the documentation of this file.
66 double& corrOut)
override
74 double& corrOut)
override
90 double& corrOut)
override
98 double& corrOut)
override
114 double& corrOut)
override
122 double& corrOut)
override
138 double& corrOut)
override
146 double& corrOut)
override
174 dataPath = gnsstk::getPathData() + gnsstk::getFileSep();
181 TUDEF(
"GroupPathCorr",
"GroupPathCorr");
191 TUDEF(
"GroupPathCorr",
"getCorr(Position,double)");
206 ndf = std::make_shared<gnsstk::MultiFormatNavDataFactory>();
213 ec1 = std::make_shared<gnsstk::BCISCorrector>(navLib);
214 ec2 = std::make_shared<gnsstk::BCIonoCorrector>(navLib);
215 ec3 = std::make_shared<gnsstk::GlobalTropCorrector>();
220 uut.
calcs.push_back(ec1);
221 uut.
calcs.push_back(ec2);
222 uut.
calcs.push_back(ec3);
232 TUDEF(
"GroupPathCorr",
"getCorr(Xvt,double)");
254 ndf = std::make_shared<gnsstk::MultiFormatNavDataFactory>();
261 ec1 = std::make_shared<gnsstk::BCISCorrector>(navLib);
262 ec2 = std::make_shared<gnsstk::BCIonoCorrector>(navLib);
263 ec3 = std::make_shared<gnsstk::GlobalTropCorrector>();
268 uut.
calcs.push_back(ec1);
269 uut.
calcs.push_back(ec2);
270 uut.
calcs.push_back(ec3);
280 TUDEF(
"GroupPathCorr",
"getCorr(Position,CorrectionResults)");
292 ec1 = std::make_shared<TestISCorrector1>();
293 ec2 = std::make_shared<TestIonoCorrector>();
294 ec3 = std::make_shared<TestISCorrector2>();
295 ec4 = std::make_shared<TestTropCorrector>();
296 uut.
calcs.push_back(ec1);
297 uut.
calcs.push_back(ec2);
298 uut.
calcs.push_back(ec3);
299 uut.
calcs.push_back(ec4);
307 auto i1 = results1.begin();
323 auto i2 = results2.begin();
341 auto i3 = results3.begin();
360 TUDEF(
"GroupPathCorr",
"getCorr(Xvt,CorrectionResults)");
379 ec1 = std::make_shared<TestISCorrector1>();
380 ec2 = std::make_shared<TestIonoCorrector>();
381 ec3 = std::make_shared<TestISCorrector2>();
382 ec4 = std::make_shared<TestTropCorrector>();
383 uut.
calcs.push_back(ec1);
384 uut.
calcs.push_back(ec2);
385 uut.
calcs.push_back(ec3);
386 uut.
calcs.push_back(ec4);
394 auto i1 = results1.begin();
410 auto i2 = results2.begin();
428 auto i3 = results3.begin();
447 TUDEF(
"GroupPathCorr",
"init");
452 auto i = uut.
calcs.begin();
467 TUDEF(
"GroupPathCorr",
"initGlobal");
472 auto i = uut.
calcs.begin();
491 TUDEF(
"GroupPathCorr",
"initNB");
496 auto i = uut.
calcs.begin();
514 unsigned errorTotal = 0;
526 std::cout <<
"Total Failures for " << __FILE__ <<
": " << errorTotal
bool getCorr(const gnsstk::Position &rxPos, const gnsstk::Position &svPos, const gnsstk::SatID &sat, const gnsstk::ObsID &obs, const gnsstk::CommonTime &when, gnsstk::NavType nav, double &corrOut) override
gnsstk::WxObsData wx
The storage for all weather data read.
bool initNB(NavLibrary &navLib, const std::string &rinMetFile="")
#define TUCATCH(STATEMENT)
bool init(NavLibrary &navLib)
unsigned initGlobalTest()
unsigned getCorrTestXvtDouble()
CorrectorType
Identify different sources of pseudorange bias.
@ Trop
Troposphere (weather) corrector.
@ Phase
accumulated phase, in cycles
NavLibrary & navLib
Reference to the nav library from which we will get ISC data.
#define TUASSERTE(TYPE, EXP, GOT)
bool getCorr(const gnsstk::Position &rxPos, const gnsstk::Xvt &svPos, const gnsstk::SatID &sat, const gnsstk::ObsID &obs, const gnsstk::CommonTime &when, gnsstk::NavType nav, double &corrOut) override
bool getCorr(const gnsstk::Position &rxPos, const gnsstk::Position &svPos, const gnsstk::SatID &sat, const gnsstk::ObsID &obs, const gnsstk::CommonTime &when, gnsstk::NavType nav, double &corrOut) override
unsigned getCorrTestXvtResults()
@ Any
wildcard; allows comparison with any other type
bool getCorr(const gnsstk::Position &rxPos, const gnsstk::Xvt &svPos, const gnsstk::SatID &sat, const gnsstk::ObsID &obs, const gnsstk::CommonTime &when, gnsstk::NavType nav, double &corrOut) override
std::string asString(IonexStoreStrategy e)
Convert a IonexStoreStrategy to a whitespace-free string name.
NavLibrary & navLib
Reference to the nav library from which we will get iono data.
bool initGlobal(NavLibrary &navLib, const std::string &rinMetFile="")
@ UseFirst
Sum includes first valid correction of type, all computed.
double getCorrSum(CorrDupHandling dups) const
Triple v
satellite velocity in ECEF Cartesian, meters/second
double relcorr
relativity correction (standard 2R.V/c^2 term), seconds
std::shared_ptr< NavDataFactory > NavDataFactoryPtr
Managed pointer to NavDataFactory.
@ CA
Legacy GPS civil code.
unsigned constructorTest()
Triple x
Sat position ECEF Cartesian (X,Y,Z) meters.
@ ComputeLast
Sum includes last valid correction of a type.
bool getCorr(const gnsstk::Position &rxPos, const gnsstk::Xvt &svPos, const gnsstk::SatID &sat, const gnsstk::ObsID &obs, const gnsstk::CommonTime &when, gnsstk::NavType nav, double &corrOut) override
std::ostream & operator<<(std::ostream &s, const ObsEpoch &oe) noexcept
@ ComputeFirst
Sum includes first valid correction, no duplication.
double clkdrift
satellite clock drift in seconds/second
WxObsMap obs
The actual data.
const CorrectionResultList & getResults() const
Get the ordered list of results.
@ L1
GPS L1, Galileo E1, SBAS L1, QZSS L1, BeiDou L1.
bool getCorr(const gnsstk::Position &rxPos, const gnsstk::Position &svPos, const gnsstk::SatID &sat, const gnsstk::ObsID &obs, const gnsstk::CommonTime &when, gnsstk::NavType nav, double &corrOut) override
#define TUDEF(CLASS, METHOD)
@ ISC
Inter-signal bias corrector.
bool getCorr(const gnsstk::Position &rxPos, const gnsstk::Xvt &svPos, const gnsstk::SatID &sat, const gnsstk::ObsID &obs, const gnsstk::CommonTime &when, gnsstk::NavType nav, double &corrOut) override
unsigned getCorrTestPositionDouble()
unsigned getCorrTestPositionResults()
GroupPathCorrectorList calcs
The list of GroupPathCorrector objects to use in the calculation.
bool getCorr(const Position &rxPos, const Position &svPos, const SatID &sat, const ObsID &obs, const CommonTime &when, NavType nav, CorrectionResults &corrOut, CorrDupHandling dups=CorrDupHandling::ComputeFirst)
void addFactory(NavDataFactoryPtr &fact)
MetReader wxData
Read and store weather data for look-up (single site)
#define TUASSERTFE(EXP, GOT)
std::list< CorrectionResult > CorrectionResultList
Just an ordered list of group path correction results.
double clkbias
Sat clock correction in seconds.
virtual bool loadFile(const std::string &fn)
Load RINEX MET data into wxData, uses Model.
NavType
Supported navigation types.
@ Iono
Ionospheric corrector.
CorrectorType corrType
Set by child classes, indicates what type of bias is computed.
std::shared_ptr< GroupPathCorrector > GroupPathCorrectorPtr
Short-hand for shared_ptr.
bool getCorr(const gnsstk::Position &rxPos, const gnsstk::Position &svPos, const gnsstk::SatID &sat, const gnsstk::ObsID &obs, const gnsstk::CommonTime &when, gnsstk::NavType nav, double &corrOut) override
gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:39