PNBGLOCNavDataFactory.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_PNBGLOCNAVDATAFACTORY_HPP
40 #define GNSSTK_PNBGLOCNAVDATAFACTORY_HPP
41 
42 #include "PNBNavDataFactory.hpp"
44 #include "ValidType.hpp"
45 #include "GLOCNavData.hpp"
46 #include "GLOCNavLTDMP.hpp"
47 
48 namespace gnsstk
49 {
51 
52 
69  {
70  public:
73 
82  bool addData(const PackedNavBitsPtr& navIn, NavDataPtrList& navOut,
83  double cadence = -1)
84  override;
85 
92  void resetState() override;
93 
100  bool processHeader(const PackedNavBitsPtr& navIn, GLOCNavHeader& navOut);
101 
109  bool processHealth(const PackedNavBitsPtr& navIn, NavDataPtrList& navOut);
110 
118  bool processEarth(const PackedNavBitsPtr& navIn, NavDataPtrList& navOut);
119 
134  bool processEph(unsigned long stringID, const PackedNavBitsPtr& navIn,
135  NavDataPtrList& navOut);
136 
145  bool processAlm(const PackedNavBitsPtr& navIn,
146  NavDataPtrList& navOut);
147 
153  bool processLTDMP(unsigned long stringID,
154  const PackedNavBitsPtr& navIn);
155 
156  protected:
158  class TimeMeta
159  {
160  public:
162  void setN4(unsigned v);
164  bool isValid();
166  };
169  std::map<NavSatelliteID, TimeMeta> timeAcc;
173  std::map<NavSatelliteID, std::vector<PackedNavBitsPtr> > ephAcc;
176  std::map<NavSatelliteID, GLOCNavLTDMP> ltdmpAcc;
180  std::map<NavSatelliteID, std::vector<PackedNavBitsPtr> > almAcc;
181 
182  // Some or all of these are likely going to get put into a
183  // time offset class.
184 
189 
193  }; // class PNBGLOCNavDataFactory
194 
196 
197 } // namespace gnsstk
198 
199 #endif // GNSSTK_PNBGLOCNAVDATAFACTORY_HPP
gnsstk::ValidType< unsigned int >
gnsstk::PNBGLOCNavDataFactory::resetState
void resetState() override
Definition: PNBGLOCNavDataFactory.cpp:554
gnsstk::PNBGLOCNavDataFactory::ephAcc
std::map< NavSatelliteID, std::vector< PackedNavBitsPtr > > ephAcc
Definition: PNBGLOCNavDataFactory.hpp:173
gnsstk::PackedNavBitsPtr
std::shared_ptr< PackedNavBits > PackedNavBitsPtr
Managed pointer for passing PackedNavBits around.
Definition: PackedNavBits.hpp:66
gnsstk::PNBGLOCNavDataFactory::TimeMeta::isValid
bool isValid()
Return true if all data fields are valid.
Definition: PNBGLOCNavDataFactory.cpp:571
gnsstk::PNBGLOCNavDataFactory::almDOY
CommonTime almDOY
Used to set the reference almanac time.
Definition: PNBGLOCNavDataFactory.hpp:188
gnsstk::PNBGLOCNavDataFactory::PNBGLOCNavDataFactory
PNBGLOCNavDataFactory()
Initialize data members.
Definition: PNBGLOCNavDataFactory.cpp:63
ValidType.hpp
gnsstk::NavDataPtrList
std::list< NavDataPtr > NavDataPtrList
Definition: NavData.hpp:75
gnsstk::GLOCNavHeader
Definition: GLOCNavHeader.hpp:52
gnsstk::PNBGLOCNavDataFactory::pendingAlms
bool pendingAlms
Definition: PNBGLOCNavDataFactory.hpp:192
gnsstk::PNBGLOCNavDataFactory::almAcc
std::map< NavSatelliteID, std::vector< PackedNavBitsPtr > > almAcc
Definition: PNBGLOCNavDataFactory.hpp:180
gnsstk::PNBGLOCNavDataFactory::processHealth
bool processHealth(const PackedNavBitsPtr &navIn, NavDataPtrList &navOut)
Definition: PNBGLOCNavDataFactory.cpp:244
gnsstk::PNBNavDataFactory::processAlm
bool processAlm
If true, almanac data will be output by addData.
Definition: PNBNavDataFactory.hpp:126
gnsstk
For Sinex::InputHistory.
Definition: BasicFramework.cpp:50
gnsstk::PNBGLOCNavDataFactory::TimeMeta::N4
vuint N4
Leap years since 1996.
Definition: PNBGLOCNavDataFactory.hpp:165
gnsstk::PNBGLOCNavDataFactory::processLTDMP
bool processLTDMP(unsigned long stringID, const PackedNavBitsPtr &navIn)
Definition: PNBGLOCNavDataFactory.cpp:505
gnsstk::PNBGLOCNavDataFactory::timeAcc
std::map< NavSatelliteID, TimeMeta > timeAcc
Definition: PNBGLOCNavDataFactory.hpp:169
BasicTimeSystemConverter.hpp
PNBNavDataFactory.hpp
gnsstk::PNBNavDataFactory::processEph
bool processEph
If true, ephemeris data will be output by addData.
Definition: PNBNavDataFactory.hpp:124
gnsstk::PNBGLOCNavDataFactory::processEarth
bool processEarth(const PackedNavBitsPtr &navIn, NavDataPtrList &navOut)
Definition: PNBGLOCNavDataFactory.cpp:202
gnsstk::CommonTime
Definition: CommonTime.hpp:84
gnsstk::PNBGLOCNavDataFactory::addData
bool addData(const PackedNavBitsPtr &navIn, NavDataPtrList &navOut, double cadence=-1) override
Definition: PNBGLOCNavDataFactory.cpp:71
gnsstk::PNBGLOCNavDataFactory::btsc
BasicTimeSystemConverter btsc
Used to convert time stamps to and from GLONASS.
Definition: PNBGLOCNavDataFactory.hpp:186
gnsstk::PNBGLOCNavDataFactory
Definition: PNBGLOCNavDataFactory.hpp:68
gnsstk::BasicTimeSystemConverter
Definition: BasicTimeSystemConverter.hpp:51
gnsstk::PNBGLOCNavDataFactory::processHeader
bool processHeader(const PackedNavBitsPtr &navIn, GLOCNavHeader &navOut)
Definition: PNBGLOCNavDataFactory.cpp:175
GLOCNavLTDMP.hpp
gnsstk::PNBGLOCNavDataFactory::ltdmpAcc
std::map< NavSatelliteID, GLOCNavLTDMP > ltdmpAcc
Definition: PNBGLOCNavDataFactory.hpp:176
GLOCNavData.hpp
gnsstk::PNBGLOCNavDataFactory::TimeMeta::setN4
void setN4(unsigned v)
Set the value of N4 (from string 10).
Definition: PNBGLOCNavDataFactory.cpp:564
gnsstk::PNBGLOCNavDataFactory::TimeMeta
Class to store fields used to turn GLONASS into UT1.
Definition: PNBGLOCNavDataFactory.hpp:158
gnsstk::PNBNavDataFactory
Definition: PNBNavDataFactory.hpp:61


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