LNavCrossSourceFilter.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 // This software was developed by Applied Research Laboratories at the
28 // University of Texas at Austin, under contract to an agency or agencies
29 // within the U.S. Department of Defense. The U.S. Government retains all
30 // rights to use, duplicate, distribute, disclose, or release this software.
31 //
32 // Pursuant to DoD Directive 523024
33 //
34 // DISTRIBUTION STATEMENT A: This software has been approved for public
35 // release, distribution is unlimited.
36 //
37 //==============================================================================
38 
39 #ifndef LNAVCROSSSOURCEFILTER_HPP
40 #define LNAVCROSSSOURCEFILTER_HPP
41 
42 #include "NavFilterMgr.hpp"
43 #include "NavFilter.hpp"
44 #include "LNavFilterData.hpp"
45 
46 namespace gnsstk
47 {
49 
50 
58  {
59  public:
61 
74  virtual void validate(NavMsgList& msgBitsIn, NavMsgList& msgBitsOut);
75 
79  virtual void finalize(NavMsgList& msgBitsOut);
80 
82  virtual unsigned processingDepth() const noexcept
83  { return 1; }
84 
86  virtual std::string filterName() const noexcept
87  { return "CrossSource"; }
88 
89  protected:
91  typedef std::map<LNavFilterData*, NavMsgList, LNavMsgSort> SubframeMap;
93  typedef std::map<uint32_t, SubframeMap> NavMap;
94 
99 
100 
108  void examineSubframes(NavMsgList& msgBitsOut);
109  };
110 
112 
113 }
114 
115 #endif // LNAVCROSSSOURCEFILTER_HPP
gnsstk::LNavCrossSourceFilter
Definition: LNavCrossSourceFilter.hpp:57
const
#define const
Definition: getopt.c:43
gnsstk::LNavCrossSourceFilter::filterName
virtual std::string filterName() const noexcept
Return the filter name.
Definition: LNavCrossSourceFilter.hpp:86
LNavFilterData.hpp
gnsstk::LNavCrossSourceFilter::LNavCrossSourceFilter
LNavCrossSourceFilter()
Definition: LNavCrossSourceFilter.cpp:44
gnsstk::LNavCrossSourceFilter::finalize
virtual void finalize(NavMsgList &msgBitsOut)
Definition: LNavCrossSourceFilter.cpp:68
gnsstk
For Sinex::InputHistory.
Definition: BasicFramework.cpp:50
NavFilter.hpp
NavFilterMgr.hpp
gnsstk::LNavCrossSourceFilter::currentTime
gnsstk::CommonTime currentTime
Most recent time.
Definition: LNavCrossSourceFilter.hpp:98
gnsstk::NavFilter
Definition: NavFilter.hpp:55
gnsstk::LNavCrossSourceFilter::SubframeMap
std::map< LNavFilterData *, NavMsgList, LNavMsgSort > SubframeMap
Map from subframe data to source list.
Definition: LNavCrossSourceFilter.hpp:91
gnsstk::CommonTime
Definition: CommonTime.hpp:84
gnsstk::LNavCrossSourceFilter::groupedNav
NavMap groupedNav
Nav subframes grouped by prn and unique nav bits.
Definition: LNavCrossSourceFilter.hpp:96
gnsstk::LNavCrossSourceFilter::NavMap
std::map< uint32_t, SubframeMap > NavMap
Map from PRN to SubframeMap.
Definition: LNavCrossSourceFilter.hpp:93
gnsstk::NavFilter::NavMsgList
std::list< NavFilterKey * > NavMsgList
Definition: NavFilter.hpp:58
gnsstk::LNavCrossSourceFilter::processingDepth
virtual unsigned processingDepth() const noexcept
Internally stores 1 epoch's worth of subframe data.
Definition: LNavCrossSourceFilter.hpp:82
gnsstk::LNavCrossSourceFilter::examineSubframes
void examineSubframes(NavMsgList &msgBitsOut)
Definition: LNavCrossSourceFilter.cpp:76
gnsstk::LNavCrossSourceFilter::validate
virtual void validate(NavMsgList &msgBitsIn, NavMsgList &msgBitsOut)
Definition: LNavCrossSourceFilter.cpp:49


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