ord.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 /*
40  * ord.hpp - ORD Header File
41  *
42  * This file should expose all of the 'atomic' entry points for calculating the Observed Range Deviation.
43  *
44  * Still to do:
45  * - Rename raw_range_x() methods to more appropriate names.
46  * - Replace raw_range index with proper enumeration.
47  */
48 
49 #ifndef CORE_LIB_ORD_ORD_HPP_
50 #define CORE_LIB_ORD_ORD_HPP_
51 
52 #include <vector>
53 
54 #include "IonoModelStore.hpp"
55 #include "CommonTime.hpp"
56 #include "SatID.hpp"
57 #include "Position.hpp"
58 #include "NavLibrary.hpp"
59 #include "TropModel.hpp"
60 
61 namespace gnsstk {
62 namespace ord {
63 
70 double IonosphereFreeRange(const std::vector<double>& frequencies,
71  const std::vector<double>& pseudoranges);
72 
82  const gnsstk::CommonTime& time, CarrierBand band,
83  const gnsstk::Position& rxLoc, const gnsstk::Xvt& svXvt);
84 
94  NavLibrary& ephemeris);
95 
106 double RawRange1(const gnsstk::Position& rx_loc, const gnsstk::SatID& sat_id,
107  const gnsstk::CommonTime& time,
108  NavLibrary& ephemeris, gnsstk::Xvt& sv_xvt);
109 
121 double RawRange2(double pseudorange, const gnsstk::Position& rx_loc,
122  const gnsstk::SatID& sat_id, const gnsstk::CommonTime& time,
123  NavLibrary& ephemeris, gnsstk::Xvt& sv_xvt);
124 
136 double RawRange3(double pseudorange, const gnsstk::Position& rx_loc,
137  const gnsstk::SatID& sat_id, const gnsstk::CommonTime& time,
138  NavLibrary& ephemeris, gnsstk::Xvt& sv_xvt);
139 
151 double RawRange4(const gnsstk::Position& rx_loc, const gnsstk::SatID& sat_id,
152  const gnsstk::CommonTime& time,
153  NavLibrary& ephemeris, gnsstk::Xvt& sv_xvt);
154 
159 double SvClockBiasCorrection(const gnsstk::Xvt& svXvt);
160 
161 // Calculate the range delta due to relativistic effects
162 // Note: Most of the work is actually done by the Xvt object.
165 double SvRelativityCorrection(gnsstk::Xvt& svXvt);
166 
173 double TroposphereCorrection(const gnsstk::TropModel& trop_model,
174  const gnsstk::Position& rx_loc, const gnsstk::Xvt& sv_xvt);
175 
194 /*
195 double calculate_ord(const std::vector<CarrierBand>& bands,
196  const std::vector<double>& pseudoranges,
197  const gnsstk::Position& rx_loc,
198  const gnsstk::SatID& sat_id,
199  const gnsstk::CommonTime& transmit_time,
200  const gnsstk::CommonTime& receive_time,
201  const gnsstk::IonoModelStore& iono_model,
202  const gnsstk::TropModel& trop_model,
203  NavLibrary& ephemeris,
204  int range_method);
205  */
206 
207 } // namespace ord
208 } // namespace gnsstk
209 
210 #endif // CORE_LIB_ORD_ORD_HPP_
gnsstk::ord::SvClockBiasCorrection
double SvClockBiasCorrection(const gnsstk::Xvt &svXvt)
Definition: ord.cpp:204
gnsstk::ord::RawRange1
double RawRange1(const Position &rxLoc, const SatID &satId, const CommonTime &timeReceived, NavLibrary &ephemeris, Xvt &svXvt)
Definition: ord.cpp:117
gnsstk::CarrierBand
CarrierBand
Definition: CarrierBand.hpp:54
gnsstk::SatID
Definition: SatID.hpp:89
SatID.hpp
gnsstk::TropModel
Definition: TropModel.hpp:105
Position.hpp
TropModel.hpp
gnsstk
For Sinex::InputHistory.
Definition: BasicFramework.cpp:50
IonoModelStore.hpp
gnsstk::ord::RawRange4
double RawRange4(const gnsstk::Position &rxLoc, const gnsstk::SatID &satId, const gnsstk::CommonTime &time, NavLibrary &ephemeris, gnsstk::Xvt &svXvt)
Definition: ord.cpp:165
gnsstk::ord::IonosphereModelCorrection
double IonosphereModelCorrection(const gnsstk::IonoModelStore &ionoModel, const gnsstk::CommonTime &time, CarrierBand band, const gnsstk::Position &rxLoc, const gnsstk::Xvt &svXvt)
Definition: ord.cpp:94
gnsstk::IonoModelStore
Definition: IonoModelStore.hpp:62
NavLibrary.hpp
example4.time
time
Definition: example4.py:103
gnsstk::ord::SvRelativityCorrection
double SvRelativityCorrection(gnsstk::Xvt &svXvt)
Definition: ord.cpp:210
gnsstk::CommonTime
Definition: CommonTime.hpp:84
gnsstk::Xvt
Definition: Xvt.hpp:60
gnsstk::ord::getSvXvt
gnsstk::Xvt getSvXvt(const gnsstk::SatID &satId, const gnsstk::CommonTime &time, NavLibrary &ephemeris)
Definition: ord.cpp:107
gnsstk::ord::RawRange3
double RawRange3(double pseudorange, const gnsstk::Position &rxLoc, const gnsstk::SatID &satId, const gnsstk::CommonTime &time, NavLibrary &ephemeris, gnsstk::Xvt &svXvt)
Definition: ord.cpp:151
CommonTime.hpp
gnsstk::ord::TroposphereCorrection
double TroposphereCorrection(const gnsstk::TropModel &tropModel, const gnsstk::Position &rxLoc, const gnsstk::Xvt &svXvt)
Definition: ord.cpp:215
gnsstk::ord::RawRange2
double RawRange2(double pseudorange, const Position &rxLoc, const SatID &satId, const CommonTime &time, NavLibrary &ephemeris, Xvt &svXvt)
Definition: ord.cpp:136
gnsstk::Position
Definition: Position.hpp:136
gnsstk::ord::IonosphereFreeRange
double IonosphereFreeRange(const std::vector< double > &frequencies, const std::vector< double > &pseudoranges)
Definition: ord.cpp:60


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