NavLibrary.hpp
Go to the documentation of this file.
1 //==============================================================================
2 //
3 // This file is part of GNSSTk, the ARL:UT GNSS Toolkit.
4 //
5 // The GNSSTk is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published
7 // by the Free Software Foundation; either version 3.0 of the License, or
8 // any later version.
9 //
10 // The GNSSTk is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public
16 // License along with GNSSTk; if not, write to the Free Software Foundation,
17 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
18 //
19 // This software was developed by Applied Research Laboratories at the
20 // University of Texas at Austin.
21 // Copyright 2004-2022, The Board of Regents of The University of Texas System
22 //
23 //==============================================================================
24 
25 
26 //==============================================================================
27 //
28 // This software was developed by Applied Research Laboratories at the
29 // University of Texas at Austin, under contract to an agency or agencies
30 // within the U.S. Department of Defense. The U.S. Government retains all
31 // rights to use, duplicate, distribute, disclose, or release this software.
32 //
33 // Pursuant to DoD Directive 523024
34 //
35 // DISTRIBUTION STATEMENT A: This software has been approved for public
36 // release, distribution is unlimited.
37 //
38 //==============================================================================
39 #ifndef GNSSTK_NAVLIBRARY_HPP
40 #define GNSSTK_NAVLIBRARY_HPP
41 
42 #include "NavDataFactory.hpp"
43 #include "Xvt.hpp"
44 #include "SVHealth.hpp"
45 #include "Position.hpp"
46 
47 namespace gnsstk
48 {
920 
922 
945  {
946  public:
964  bool getXvt(const NavSatelliteID& sat, const CommonTime& when,
965  Xvt& xvt, bool useAlm, SVHealth xmitHealth = SVHealth::Any,
968 
992  bool getXvt(const NavSatelliteID& sat, const CommonTime& when,
993  Xvt& xvt, bool useAlm, const ObsID& oid,
994  SVHealth xmitHealth = SVHealth::Any,
997 
1013  bool getXvt(const NavSatelliteID& sat, const CommonTime& when,
1014  Xvt& xvt, SVHealth xmitHealth = SVHealth::Any,
1017 
1040  bool getXvt(const NavSatelliteID& sat, const CommonTime& when,
1041  Xvt& xvt, const ObsID& oid,
1042  SVHealth xmitHealth = SVHealth::Any,
1045 
1058  bool getHealth(const NavSatelliteID& sat, const CommonTime& when,
1059  SVHealth& healthOut, SVHealth xmitHealth = SVHealth::Any,
1062 
1082  bool getOffset(TimeSystem fromSys, TimeSystem toSys,
1083  const CommonTime& when, NavDataPtr& navOut,
1084  SVHealth xmitHealth = SVHealth::Any,
1086 
1106  bool getOffset(TimeSystem fromSys, TimeSystem toSys,
1107  const CommonTime& when, double& offset,
1108  SVHealth xmitHealth = SVHealth::Any,
1110 
1137  bool getIonoCorr(SatelliteSystem sys, const CommonTime& when,
1138  const Position& rxgeo, const Position& svgeo,
1139  CarrierBand band, double& corrOut,
1140  NavType nt = NavType::Any);
1141 
1177  bool getIonoCorr(const SatID& sat, const CommonTime& when,
1178  const Position& rxgeo,
1179  CarrierBand band, double& corrOut,
1180  NavType nt = NavType::Any, int freqOffs = 0,
1181  bool freqOffsWild = true);
1182 
1200  bool getISC(const SatID& sat, const ObsID& oid, const CommonTime& when,
1201  double& corrOut, SVHealth xmitHealth = SVHealth::Any,
1204 
1213  static std::list<NavMessageID> getISCNMID(const SatID& sat,
1214  const ObsID& oid);
1215 
1230  bool find(const NavMessageID& nmid, const CommonTime& when,
1231  NavDataPtr& navOut, SVHealth xmitHealth, NavValidityType valid,
1232  NavSearchOrder order);
1233 
1239 
1252  void setTypeFilter(const NavMessageTypeSet& nmts);
1253 
1258  void clearTypeFilter();
1259 
1265  void addTypeFilter(NavMessageType nmt);
1266 
1270  void addFactory(NavDataFactoryPtr& fact);
1271 
1276  void dump(std::ostream& s, DumpDetail dl) const;
1277 
1283  void edit(const CommonTime& fromTime, const CommonTime& toTime);
1284 
1293  void edit(const CommonTime& fromTime, const CommonTime& toTime,
1294  const NavSatelliteID& satID);
1295 
1304  void edit(const CommonTime& fromTime, const CommonTime& toTime,
1305  const NavSignalID& signal);
1306 
1308  void clear();
1309 
1314  CommonTime getInitialTime() const;
1315 
1320  CommonTime getFinalTime() const;
1321 
1335  const CommonTime& toTime) const;
1336 
1351  const CommonTime& fromTime,
1352  const CommonTime& toTime) const;
1353 
1367  std::set<SatID> getIndexSet(const CommonTime& fromTime,
1368  const CommonTime& toTime) const;
1369 
1384  std::set<SatID> getIndexSet(NavMessageType nmt,
1385  const CommonTime& fromTime,
1386  const CommonTime& toTime) const;
1387 
1401  const CommonTime& toTime) const;
1402 
1416  bool isPresent(const NavMessageID& nmid,
1417  const CommonTime& fromTime,
1418  const CommonTime& toTime);
1419 
1434  const NavSatelliteID& satID,
1435  const CommonTime& fromTime,
1436  const CommonTime& toTime)
1437  { return isPresent(NavMessageID(satID,nmt),fromTime,toTime); }
1438 
1440  std::string getFactoryFormats() const;
1441 
1442  protected:
1446  };
1447 
1449 
1450 }
1451 
1452 #endif // GNSSTK_NAVLIBRARY_HPP
gnsstk::NavLibrary::edit
void edit(const CommonTime &fromTime, const CommonTime &toTime)
Definition: NavLibrary.cpp:495
gnsstk::NavDataPtr
std::shared_ptr< NavData > NavDataPtr
Factories instantiate these in response to find() requests.
Definition: NavData.hpp:62
gnsstk::NavMessageTypeSet
std::set< NavMessageType > NavMessageTypeSet
Set of message types, used by NavLibrary and NavDataFactory.
Definition: NavMessageType.hpp:76
gnsstk::NavLibrary::getAvailableMsgs
NavMessageIDSet getAvailableMsgs(const CommonTime &fromTime, const CommonTime &toTime) const
Definition: NavLibrary.cpp:637
gnsstk::NavMessageID
Class used to identify/categorize navigation message data.
Definition: NavMessageID.hpp:52
Xvt.hpp
gnsstk::NavLibrary::setValidityFilter
void setValidityFilter(NavValidityType nvt)
Definition: NavLibrary.cpp:426
gnsstk::NavLibrary::isTypePresent
bool isTypePresent(NavMessageType nmt, const NavSatelliteID &satID, const CommonTime &fromTime, const CommonTime &toTime)
Definition: NavLibrary.hpp:1433
SVHealth.hpp
gnsstk::NavLibrary::dump
void dump(std::ostream &s, DumpDetail dl) const
Definition: NavLibrary.cpp:483
gnsstk::CarrierBand
CarrierBand
Definition: CarrierBand.hpp:54
gnsstk::NavSatelliteID
Definition: NavSatelliteID.hpp:57
gnsstk::SatelliteSystem
SatelliteSystem
Supported satellite systems.
Definition: SatelliteSystem.hpp:55
gnsstk::NavSatelliteIDSet
std::set< NavSatelliteID > NavSatelliteIDSet
Definition: NavSatelliteID.hpp:174
gnsstk::NavLibrary::getIndexSet
std::set< SatID > getIndexSet(const CommonTime &fromTime, const CommonTime &toTime) const
Definition: NavLibrary.cpp:606
gnsstk::NavLibrary::getIonoCorr
bool getIonoCorr(SatelliteSystem sys, const CommonTime &when, const Position &rxgeo, const Position &svgeo, CarrierBand band, double &corrOut, NavType nt=NavType::Any)
Definition: NavLibrary.cpp:162
gnsstk::NavLibrary::getXvt
bool getXvt(const NavSatelliteID &sat, const CommonTime &when, Xvt &xvt, bool useAlm, SVHealth xmitHealth=SVHealth::Any, NavValidityType valid=NavValidityType::ValidOnly, NavSearchOrder order=NavSearchOrder::User)
Definition: NavLibrary.cpp:52
example5.oid
oid
Definition: example5.py:29
gnsstk::SatID
Definition: SatID.hpp:89
Position.hpp
gnsstk::SVHealth
SVHealth
Identify different types of SV health states.
Definition: SVHealth.hpp:52
gnsstk::NavValidityType
NavValidityType
Definition: NavValidityType.hpp:53
gnsstk::NavSearchOrder
NavSearchOrder
Specify the behavior of nav data searches in NavLibrary/NavDataFactory.
Definition: NavSearchOrder.hpp:51
gnsstk
For Sinex::InputHistory.
Definition: BasicFramework.cpp:50
gnsstk::NavLibrary::getISC
bool getISC(const SatID &sat, const ObsID &oid, const CommonTime &when, double &corrOut, SVHealth xmitHealth=SVHealth::Any, NavValidityType valid=NavValidityType::ValidOnly, NavSearchOrder order=NavSearchOrder::User)
Definition: NavLibrary.cpp:225
gnsstk::NavDataFactoryPtr
std::shared_ptr< NavDataFactory > NavDataFactoryPtr
Managed pointer to NavDataFactory.
Definition: NavDataFactory.hpp:398
gnsstk::NavLibrary::clearTypeFilter
void clearTypeFilter()
Definition: NavLibrary.cpp:448
gnsstk::NavLibrary::getInitialTime
CommonTime getInitialTime() const
Definition: NavLibrary.cpp:541
gnsstk::SVHealth::Any
@ Any
Use in searches when you don't care about the SV health.
gnsstk::NavType::Any
@ Any
Used to match any nav code.
gnsstk::NavDataFactoryMap
std::multimap< NavSignalID, NavDataFactoryPtr > NavDataFactoryMap
Map signal to a factory.
Definition: NavDataFactory.hpp:400
gnsstk::NavLibrary::getOffset
bool getOffset(TimeSystem fromSys, TimeSystem toSys, const CommonTime &when, NavDataPtr &navOut, SVHealth xmitHealth=SVHealth::Any, NavValidityType valid=NavValidityType::ValidOnly)
Definition: NavLibrary.cpp:144
gnsstk::NavLibrary
Definition: NavLibrary.hpp:944
gnsstk::NavValidityType::ValidOnly
@ ValidOnly
Only load/find nav messages that pass validity checks.
gnsstk::ObsID
Definition: ObsID.hpp:82
gnsstk::CommonTime
Definition: CommonTime.hpp:84
gnsstk::TimeSystem
TimeSystem
Definition of various time systems.
Definition: TimeSystem.hpp:51
example6.valid
valid
Definition: example6.py:20
gnsstk::Xvt
Definition: Xvt.hpp:60
gnsstk::NavLibrary::setTypeFilter
void setTypeFilter(const NavMessageTypeSet &nmts)
Definition: NavLibrary.cpp:437
gnsstk::NavSignalID
Class used to identify navigation data signal types.
Definition: NavSignalID.hpp:54
gnsstk::DumpDetail
DumpDetail
Specify level of detail for dump output.
Definition: DumpDetail.hpp:51
gnsstk::NavLibrary::addTypeFilter
void addTypeFilter(NavMessageType nmt)
Definition: NavLibrary.cpp:459
gnsstk::NavLibrary::getHealth
bool getHealth(const NavSatelliteID &sat, const CommonTime &when, SVHealth &healthOut, SVHealth xmitHealth=SVHealth::Any, NavValidityType valid=NavValidityType::ValidOnly, NavSearchOrder order=NavSearchOrder::User)
Definition: NavLibrary.cpp:112
gnsstk::NavMessageType
NavMessageType
Identify different types of navigation message data.
Definition: NavMessageType.hpp:59
gnsstk::NavLibrary::getISCNMID
static std::list< NavMessageID > getISCNMID(const SatID &sat, const ObsID &oid)
Definition: NavLibrary.cpp:250
gnsstk::NavLibrary::getFinalTime
CommonTime getFinalTime() const
Definition: NavLibrary.cpp:555
gnsstk::NavLibrary::clear
void clear()
Remove all data from the library's factories.
Definition: NavLibrary.cpp:530
gnsstk::NavLibrary::addFactory
void addFactory(NavDataFactoryPtr &fact)
Definition: NavLibrary.cpp:470
gnsstk::Position
Definition: Position.hpp:136
gnsstk::NavLibrary::isPresent
bool isPresent(const NavMessageID &nmid, const CommonTime &fromTime, const CommonTime &toTime)
Definition: NavLibrary.cpp:656
gnsstk::NavSearchOrder::User
@ User
Return the latest message before the search time.
gnsstk::NavLibrary::getFactoryFormats
std::string getFactoryFormats() const
Return a comma-separated list of formats supported by the factories.
Definition: NavLibrary.cpp:671
gnsstk::NavType
NavType
Supported navigation types.
Definition: NavType.hpp:58
gnsstk::NavLibrary::find
bool find(const NavMessageID &nmid, const CommonTime &when, NavDataPtr &navOut, SVHealth xmitHealth, NavValidityType valid, NavSearchOrder order)
Definition: NavLibrary.cpp:390
gnsstk::NavMessageIDSet
std::set< NavMessageID > NavMessageIDSet
Definition: NavMessageID.hpp:101
NavDataFactory.hpp
gnsstk::NavLibrary::factories
NavDataFactoryMap factories
Definition: NavLibrary.hpp:1445
gnsstk::NavLibrary::getAvailableSats
NavSatelliteIDSet getAvailableSats(const CommonTime &fromTime, const CommonTime &toTime) const
Definition: NavLibrary.cpp:568


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:40