PreciseRange.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 
43 //------------------------------------------------------------------------------------
44 #ifndef PRECISE_EPHEMERIS_RANGE_INCLUDE
45 #define PRECISE_EPHEMERIS_RANGE_INCLUDE
46 
47 //------------------------------------------------------------------------------------
48 // GNSSTk
49 #include "EllipsoidModel.hpp"
50 #include "GPSEllipsoid.hpp"
51 #include "CommonTime.hpp"
52 #include "Matrix.hpp"
53 #include "Position.hpp"
54 #include "SatID.hpp"
55 #include "NavLibrary.hpp"
56 
57 // geomatics
58 #include "AntexData.hpp"
59 #include "SolarSystem.hpp"
60 
61 //------------------------------------------------------------------------------------
62 namespace gnsstk
63 {
65 
66 
74  {
75  public:
78 
101  double ComputeAtTransmitTime(const CommonTime& nomRecTime,
102  const double pr,
103  const Position& rxPos,
104  const SatID sat,
105  const AntexData& antenna,
106  const std::string& freq1,
107  const std::string& freq2,
108  SolarSystem& solSys,
109  NavLibrary& eph,
110  bool isCOM = false,
111  const EllipsoidModel& ellipsoid = GPSEllipsoid());
112 
118  double ComputeAtTransmitTime(const CommonTime& nomRecTime,
119  const double pr,
120  const Position& rxPos,
121  const SatID sat,
122  NavLibrary& eph,
123  const EllipsoidModel& ellipsoid = GPSEllipsoid())
124  {
125  // ant will be invalid, so antenna computations will be skipped;
126  // thus satellite attitude will not be needed.
127  AntexData ant;
128  SolarSystem ss;
129  std::string s;
130  return ComputeAtTransmitTime(nomRecTime, pr, rxPos, sat, ant, s, s, ss,
131  eph, false, ellipsoid);
132  }
133 
139  double rawrange;
140 
143 
146 
152 
157  double elevation;
158 
163  double azimuth;
164 
170 
173 
176 
179 
185 
188 
190  double Sagnac;
191 
192  }; // end class PreciseRange
193 
195 
196 } // namespace gnsstk
197 
198 #endif // PRECISE_EPHEMERIS_RANGE_INCLUDE
gnsstk::PreciseRange::azimuth
double azimuth
Definition: PreciseRange.hpp:163
gnsstk::PreciseRange::satclkbias
double satclkbias
Definition: PreciseRange.hpp:151
gnsstk::PreciseRange::elevation
double elevation
Definition: PreciseRange.hpp:157
gnsstk::PreciseRange
Definition: PreciseRange.hpp:73
gnsstk::PreciseRange::ComputeAtTransmitTime
double ComputeAtTransmitTime(const CommonTime &nomRecTime, const double pr, const Position &rxPos, const SatID sat, NavLibrary &eph, const EllipsoidModel &ellipsoid=GPSEllipsoid())
Definition: PreciseRange.hpp:118
gnsstk::PreciseRange::SatV
Position SatV
Definition: PreciseRange.hpp:145
gnsstk::PreciseRange::Sagnac
double Sagnac
Net time delay due to Sagnac effect in seconds.
Definition: PreciseRange.hpp:190
gnsstk::SatID
Definition: SatID.hpp:89
SatID.hpp
gnsstk::PreciseRange::satLOSPCV
double satLOSPCV
Definition: PreciseRange.hpp:184
Position.hpp
gnsstk::GPSEllipsoid
Definition: GPSEllipsoid.hpp:67
gnsstk::Triple
Definition: Triple.hpp:68
gnsstk
For Sinex::InputHistory.
Definition: BasicFramework.cpp:50
gnsstk::PreciseRange::PreciseRange
PreciseRange()
Default constructor.
Definition: PreciseRange.hpp:77
gnsstk::PreciseRange::rawrange
double rawrange
Definition: PreciseRange.hpp:139
gnsstk::PreciseRange::SatR
Position SatR
The satellite position (m) and velocity (m/s) in ECEF coordinates.
Definition: PreciseRange.hpp:145
NavLibrary.hpp
gnsstk::PreciseRange::elevationGeodetic
double elevationGeodetic
Definition: PreciseRange.hpp:169
gnsstk::NavLibrary
Definition: NavLibrary.hpp:944
gnsstk::AntexData
Definition: AntexData.hpp:120
gnsstk::PreciseRange::ComputeAtTransmitTime
double ComputeAtTransmitTime(const CommonTime &nomRecTime, const double pr, const Position &rxPos, const SatID sat, const AntexData &antenna, const std::string &freq1, const std::string &freq2, SolarSystem &solSys, NavLibrary &eph, bool isCOM=false, const EllipsoidModel &ellipsoid=GPSEllipsoid())
Definition: PreciseRange.cpp:65
gnsstk::PreciseRange::relativity2
double relativity2
Definition: PreciseRange.hpp:142
gnsstk::PreciseRange::relativity
double relativity
The relativity correction in meters, and high precision correction.
Definition: PreciseRange.hpp:142
gnsstk::CommonTime
Definition: CommonTime.hpp:84
gnsstk::Vector< double >
AntexData.hpp
GPSEllipsoid.hpp
gnsstk::PreciseRange::SatPCOXYZ
Vector< double > SatPCOXYZ
The Satellite PCO vector, in ECEF XYZ, meters (from COM to PC)
Definition: PreciseRange.hpp:187
SolarSystem.hpp
CommonTime.hpp
gnsstk::PreciseRange::cosines
Triple cosines
The direction cosines of the satellite, as seen at the receiver (XYZ).
Definition: PreciseRange.hpp:178
gnsstk::Position
Definition: Position.hpp:136
Matrix.hpp
gnsstk::PreciseRange::satclkdrift
double satclkdrift
Definition: PreciseRange.hpp:151
gnsstk::PreciseRange::satLOSPCO
double satLOSPCO
Definition: PreciseRange.hpp:184
gnsstk::EllipsoidModel
Definition: EllipsoidModel.hpp:56
gnsstk::SolarSystem
Definition: SolarSystem.hpp:162
gnsstk::PreciseRange::azimuthGeodetic
double azimuthGeodetic
The satellite azimuth (geodetic), as seen at the receiver, in degrees.
Definition: PreciseRange.hpp:172
EllipsoidModel.hpp
gnsstk::PreciseRange::transmit
CommonTime transmit
The computed transmit time of the signal.
Definition: PreciseRange.hpp:175


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