PNBGalINavDataFactory.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_PNBGALINAVDATAFACTORY_HPP
40 #define GNSSTK_PNBGALINAVDATAFACTORY_HPP
41 
42 #include "PNBNavDataFactory.hpp"
43 #include "GalINavAlm.hpp"
44 #include "GalINavHealth.hpp"
45 
46 namespace gnsstk
47 {
49 
50 
63  {
64  public:
73  bool addData(const PackedNavBitsPtr& navIn, NavDataPtrList& navOut,
74  double cadence = -1)
75  override;
76 
87  bool processEph(unsigned wordType, const PackedNavBitsPtr& navIn,
88  NavDataPtrList& navOut);
89 
99  bool processAlm(unsigned wordType, const PackedNavBitsPtr& navIn,
100  NavDataPtrList& navOut);
101 
171  bool processAlmOrb(const std::vector<PackedNavBitsPtr>& almWord,
172  GalINavAlm *alm,
173  GalINavHealth *hp1, GalINavHealth *hp2,
174  int wtA, int wtB,
175  int asiWNa, int asit0a,
176  int asiSVID, int asbSVID,
177  int asidAhalf, int asbdAhalf,
178  int asiEcc, int asbEcc,
179  int asiw, int asbw,
180  int asidi, int asbdi,
181  int asiOMEGA0, int asbOMEGA0,
182  int asiOMEGAdot, int asbOMEGAdot,
183  int asiM0, int asbM0,
184  int asiaf0, int asbaf0,
185  int asiaf1, int asbaf1,
186  int asiE5bhs, int asbE5bhs,
187  int asiE1Bhs, int asbE1Bhs);
188 
194  bool processOffset(const PackedNavBitsPtr& navIn, NavDataPtrList& navOut);
195 
202  void resetState() override;
203 #if 0
204 
207  void dumpState(std::ostream& s) const;
208 #endif
209 
210  protected:
214  std::map<NavSatelliteID, std::vector<PackedNavBitsPtr> > almAcc;
217  std::map<NavSatelliteID, std::vector<PackedNavBitsPtr> > ephAcc;
218  };
219 
221 
222 } // namespace gnsstk
223 
224 #endif // GNSSTK_PNBGALINAVDATAFACTORY_HPP
gnsstk::PNBGalINavDataFactory::processAlmOrb
bool processAlmOrb(const std::vector< PackedNavBitsPtr > &almWord, GalINavAlm *alm, GalINavHealth *hp1, GalINavHealth *hp2, int wtA, int wtB, int asiWNa, int asit0a, int asiSVID, int asbSVID, int asidAhalf, int asbdAhalf, int asiEcc, int asbEcc, int asiw, int asbw, int asidi, int asbdi, int asiOMEGA0, int asbOMEGA0, int asiOMEGAdot, int asbOMEGAdot, int asiM0, int asbM0, int asiaf0, int asbaf0, int asiaf1, int asbaf1, int asiE5bhs, int asbE5bhs, int asiE1Bhs, int asbE1Bhs)
Definition: PNBGalINavDataFactory.cpp:524
gnsstk::PNBGalINavDataFactory::ephAcc
std::map< NavSatelliteID, std::vector< PackedNavBitsPtr > > ephAcc
Definition: PNBGalINavDataFactory.hpp:217
gnsstk::PNBGalINavDataFactory::almAcc
std::map< NavSatelliteID, std::vector< PackedNavBitsPtr > > almAcc
Definition: PNBGalINavDataFactory.hpp:214
gnsstk::PackedNavBitsPtr
std::shared_ptr< PackedNavBits > PackedNavBitsPtr
Managed pointer for passing PackedNavBits around.
Definition: PackedNavBits.hpp:66
GalINavAlm.hpp
gnsstk::galfnav::asiWNa
@ asiWNa
Definition: GalFBits.hpp:384
gnsstk::PNBGalINavDataFactory
Definition: PNBGalINavDataFactory.hpp:62
gnsstk::PNBGalINavDataFactory::processOffset
bool processOffset(const PackedNavBitsPtr &navIn, NavDataPtrList &navOut)
Definition: PNBGalINavDataFactory.cpp:613
gnsstk::NavDataPtrList
std::list< NavDataPtr > NavDataPtrList
Definition: NavData.hpp:75
GalINavHealth.hpp
gnsstk::gpscnav2::asbaf0
@ asbaf0
af0 start bit
Definition: GPSC2Bits.hpp:369
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::PNBGalINavDataFactory::addData
bool addData(const PackedNavBitsPtr &navIn, NavDataPtrList &navOut, double cadence=-1) override
Definition: PNBGalINavDataFactory.cpp:56
gnsstk::gpscnav2::asbw
@ asbw
w start bit
Definition: GPSC2Bits.hpp:361
PNBNavDataFactory.hpp
gnsstk::PNBNavDataFactory::processEph
bool processEph
If true, ephemeris data will be output by addData.
Definition: PNBNavDataFactory.hpp:124
gnsstk::gpscnav2::asbM0
@ asbM0
M0 start bit.
Definition: GPSC2Bits.hpp:365
gnsstk::gpscnav2::asbdi
@ asbdi
delta i start bit
Definition: GPSC2Bits.hpp:345
gnsstk::GalINavAlm
Class containing data elements unique to Galileo I/NAV almanacs.
Definition: GalINavAlm.hpp:52
gnsstk::PNBGalINavDataFactory::resetState
void resetState() override
Definition: PNBGalINavDataFactory.cpp:686
gnsstk::gpscnav2::asbaf1
@ asbaf1
af1 start bit
Definition: GPSC2Bits.hpp:373
gnsstk::GalINavHealth
Definition: GalINavHealth.hpp:53
gnsstk::bds::asbEcc
@ asbEcc
Eccentricity.
Definition: BDSD1Bits.hpp:130
gnsstk::gpscnav2::asbOMEGA0
@ asbOMEGA0
OMEGA0 MSBs start bit.
Definition: GPSC2Bits.hpp:357
gnsstk::gpscnav2::asbOMEGAdot
@ asbOMEGAdot
OMEGAdot start bit.
Definition: GPSC2Bits.hpp:349
gnsstk::galfnav::asit0a
@ asit0a
Definition: GalFBits.hpp:389
gnsstk::PNBNavDataFactory
Definition: PNBNavDataFactory.hpp:61


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