BrcClockCorrection.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 
46 #ifndef GNSSTK_BRCLOCKCORRECTION_HPP
47 #define GNSSTK_BRCLOCKCORRECTION_HPP
48 
49 #include "EngNav.hpp"
50 #include "Exception.hpp"
51 #include "CommonTime.hpp"
52 #include "ObsID.hpp"
53 #include "CivilTime.hpp"
54 #include "GNSSconstants.hpp"
55 #include "TimeSystem.hpp"
56 #include "GPSWeekSecond.hpp"
57 #include "YDSTime.hpp"
58 
60 
61 namespace gnsstk
62 {
64 
65 
76  class BrcClockCorrection : public EngNav
77  {
78  public:
80  BrcClockCorrection() noexcept;
81 
83  BrcClockCorrection( const std::string satSysArg, const ObsID obsIDArg,
84  const short PRNIDArg, const CommonTime TocArg,
85  const CommonTime TopArg, const short URAocArg,
86  const short URAoc1Arg, const short URAoc2Arg,
87  const bool healthyArg, const double af0Arg,
88  const double af1Arg, const double af2Arg );
89 
91  BrcClockCorrection( const ObsID obsIDArg, const short PRNID,
92  const short fullweeknum, const long subframe1[10] );
93 
94  // Add other constructors for other navigation message formats here...
95 
97  virtual ~BrcClockCorrection() {}
98 
99  bool operator==(const BrcClockCorrection& right) const noexcept;
100  bool operator!=(const BrcClockCorrection& right) const noexcept
101  { return !operator==(right); }
102 
107  bool hasData() const;
108 
114  CommonTime getEpochTime() const;
115 
119  short getPRNID() const;
120 
124  ObsID getObsID() const;
125 
131  double getAccuracy(const CommonTime& t) const;
132 
136  short getURAoc(const short& ndx) const;
137 
139  //NB Determine if this function is needed, as it is never used
140  //bool isHealthy() const;
141 
147  short getFullWeek() const;
148 
154  double getToc() const;
155 
159  double getAf0() const;
160 
166  double getAf1() const;
167 
172  double getAf2() const;
173 
177  double svClockBias(const CommonTime& t) const;
178 
182  double svClockBiasM(const CommonTime& t) const;
183 
187  double svClockDrift(const CommonTime& t) const;
188 
190  void loadData( const std::string satSysArg, const ObsID obsIDArg,
191  const short PRNIDArg, const CommonTime TocArg,
192  const CommonTime TopArg, const short URAocArg,
193  const short URAoc1Arg, const short URAoc2Arg,
194  const bool healthyArg, const double af0Arg,
195  const double af1Arg, const double af2Arg );
196 
198  void loadData(const std::string satSysArg, const ObsID obsIDArg,
199  const short PRNIDArg, const CommonTime TocArg,
200  const short URAocArg, const bool healthyArg,
201  const double af0Arg, const double af1Arg,
202  const double af2Arg );
203 
207  void loadData( const ObsID obsIDArg, const short PRNID,
208  const short fullweeknum, const long subframe1[10] );
209 
211  void dump(std::ostream& s = std::cout) const;
212 
213  protected:
215 
216  bool dataLoaded;
217  std::string satSys;
219  short PRNID;
222  short URAoc;
223  short URAoc1;
224  short URAoc2;
225  bool healthy;
228 
230 
231  double af0;
232  double af1;
233  double af2;
235 
236  friend class ::BrcClockCorrection_T;
237  friend std::ostream& operator<<(std::ostream& s,
238  const BrcClockCorrection& eph);
239 
240  }; // class BrcClockCorrection
241 
243 
244 } // namespace
245 
246 #endif
TimeSystem.hpp
YDSTime.hpp
gnsstk::BrcClockCorrection::dataLoaded
bool dataLoaded
Definition: BrcClockCorrection.hpp:216
gnsstk::BrcClockCorrection::getAf1
double getAf1() const
Definition: BrcClockCorrection.cpp:332
gnsstk::BrcClockCorrection::~BrcClockCorrection
virtual ~BrcClockCorrection()
Destructor.
Definition: BrcClockCorrection.hpp:97
gnsstk::BrcClockCorrection::operator!=
bool operator!=(const BrcClockCorrection &right) const noexcept
Definition: BrcClockCorrection.hpp:100
gnsstk::BrcClockCorrection::dump
void dump(std::ostream &s=std::cout) const
Definition: BrcClockCorrection.cpp:411
gnsstk::BrcClockCorrection::svClockDrift
double svClockDrift(const CommonTime &t) const
Definition: BrcClockCorrection.cpp:241
gnsstk::BrcClockCorrection::af0
double af0
Definition: BrcClockCorrection.hpp:231
gnsstk::BrcClockCorrection::operator<<
friend std::ostream & operator<<(std::ostream &s, const BrcClockCorrection &eph)
gnsstk::BrcClockCorrection::svClockBias
double svClockBias(const CommonTime &t) const
Definition: BrcClockCorrection.cpp:226
gnsstk::BrcClockCorrection::Top
CommonTime Top
Definition: BrcClockCorrection.hpp:221
gnsstk::BrcClockCorrection::BrcClockCorrection
BrcClockCorrection() noexcept
Default constructor.
Definition: BrcClockCorrection.cpp:54
gnsstk::BrcClockCorrection::URAoc1
short URAoc1
Definition: BrcClockCorrection.hpp:223
gnsstk::EngNav
Definition: EngNav.hpp:69
GNSSconstants.hpp
gnsstk::BrcClockCorrection::Toc
CommonTime Toc
Definition: BrcClockCorrection.hpp:220
gnsstk::BrcClockCorrection::obsID
ObsID obsID
Definition: BrcClockCorrection.hpp:218
gnsstk
For Sinex::InputHistory.
Definition: BasicFramework.cpp:50
gnsstk::BrcClockCorrection::hasData
bool hasData() const
Definition: BrcClockCorrection.cpp:216
gnsstk::BrcClockCorrection::getURAoc
short getURAoc(const short &ndx) const
Definition: BrcClockCorrection.cpp:298
gnsstk::BrcClockCorrection::PRNID
short PRNID
Definition: BrcClockCorrection.hpp:219
gnsstk::ObsID
Definition: ObsID.hpp:82
gnsstk::CommonTime
Definition: CommonTime.hpp:84
gnsstk::BrcClockCorrection::getEpochTime
CommonTime getEpochTime() const
Definition: BrcClockCorrection.cpp:221
gnsstk::BrcClockCorrection::healthy
bool healthy
Definition: BrcClockCorrection.hpp:225
gnsstk::BrcClockCorrection::loadData
void loadData(const std::string satSysArg, const ObsID obsIDArg, const short PRNIDArg, const CommonTime TocArg, const CommonTime TopArg, const short URAocArg, const short URAoc1Arg, const short URAoc2Arg, const bool healthyArg, const double af0Arg, const double af1Arg, const double af2Arg)
Definition: BrcClockCorrection.cpp:135
gnsstk::BrcClockCorrection::getAf2
double getAf2() const
Definition: BrcClockCorrection.cpp:342
CivilTime.hpp
gnsstk::BrcClockCorrection::getAf0
double getAf0() const
Definition: BrcClockCorrection.cpp:322
gnsstk::BrcClockCorrection::af2
double af2
Definition: BrcClockCorrection.hpp:233
gnsstk::BrcClockCorrection::satSys
std::string satSys
Definition: BrcClockCorrection.hpp:217
GPSWeekSecond.hpp
ObsID.hpp
gnsstk::BrcClockCorrection::getPRNID
short getPRNID() const
Definition: BrcClockCorrection.cpp:249
Exception.hpp
CommonTime.hpp
gnsstk::BrcClockCorrection::URAoc2
short URAoc2
Definition: BrcClockCorrection.hpp:224
gnsstk::BrcClockCorrection::getAccuracy
double getAccuracy(const CommonTime &t) const
Definition: BrcClockCorrection.cpp:280
gnsstk::BrcClockCorrection::svClockBiasM
double svClockBiasM(const CommonTime &t) const
Definition: BrcClockCorrection.cpp:234
gnsstk::BrcClockCorrection
Definition: BrcClockCorrection.hpp:76
gnsstk::BrcClockCorrection::getObsID
ObsID getObsID() const
Definition: BrcClockCorrection.cpp:259
gnsstk::BrcClockCorrection::URAoc
short URAoc
Definition: BrcClockCorrection.hpp:222
gnsstk::BrcClockCorrection::operator==
bool operator==(const BrcClockCorrection &right) const noexcept
Definition: BrcClockCorrection.cpp:97
gnsstk::BrcClockCorrection::getFullWeek
short getFullWeek() const
Definition: BrcClockCorrection.cpp:269
gnsstk::BrcClockCorrection::getToc
double getToc() const
Definition: BrcClockCorrection.cpp:311
BrcClockCorrection_T
Definition: BrcClockCorrection_T.cpp:52
gnsstk::BrcClockCorrection::af1
double af1
Definition: BrcClockCorrection.hpp:232
EngNav.hpp


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