GravitationalDelay Class Reference
[GPS solution algorithms and Tropospheric]

#include <GravitationalDelay.hpp>

Inheritance diagram for GravitationalDelay:

Inheritance graph
[legend]
Collaboration diagram for GravitationalDelay:

Collaboration graph
[legend]
List of all members.

Detailed Description

This class computes the delay in the signal due to changes in the gravity field.

This class is meant to be used with the GNSS data structures objects found in "DataStructures" class.

A typical way to use this class follows:

      // Input observation file stream
   RinexObsStream rin("ebre0300.02o");

      // Load the precise ephemeris file
   SP3EphemerisStore sp3Eph;
   sp3Eph.loadFile("igs11513.sp3");

      // Reference position of receiver station
   Position nominalPos(4833520.2269, 41537.00768, 4147461.489);

      // Object to compute gravitational delay effects
   GravitationalDelay grDelay(nominalPos);

      // Some more code and definitions here...

   gnssRinex gRin;  // GNSS data structure for fixed station data

      // Set defaults of models. A typical C1-based modeling is used
   BasicModel model( nominalPos, sp3Eph);

   while(rin >> gRin)
   {

         // Apply the model on the GDS
      gRin >> model >> grDelay;
   }

The "GravitationalDelay" object will visit every satellite in the GNSS data structure that is "gRin" and will compute the delay in the signal caused by the change in the gravity field when the signal travels from satellite to receiver.

This effect is small, ranging from about 0.01 to 0.02 m, and it is only used for precise positioning. The result is stored in the GDS with its own type: "TypeID::gravDelay" (in meters) and should be used in the prefit residual computation process, like the more general relativity effect (which is related but it is not the same). Class "LinearCombinations" takes it into account.

Warning:
Be aware that this class DOES NEED both the receiver and satellite position. The former is set with the common constructor or the appropriate method, while you must use a class such a "BasicModel" to compute the later and add it to the GDS.
See also:
BasicModel.hpp and LinearCombinations.hpp.

Definition at line 105 of file GravitationalDelay.hpp.

Public Member Functions

 GravitationalDelay ()
 Default constructor.
 GravitationalDelay (const Position &stapos)
 Common constructor.
virtual satTypeValueMapProcess (const DayTime &epoch, satTypeValueMap &gData) throw (ProcessingException)
 Returns a satTypeValueMap object, adding the new data generated when calling this object.
virtual gnssSatTypeValueProcess (gnssSatTypeValue &gData) throw (ProcessingException)
 Returns a gnnsSatTypeValue object, adding the new data generated when calling this object.
virtual gnssRinexProcess (gnssRinex &gData) throw (ProcessingException)
 Returns a gnnsRinex object, adding the new data generated when calling this object.
virtual Position getNominalPosition (void) const
 Returns nominal position of receiver station.
virtual GravitationalDelaysetNominalPosition (const Position &stapos)
 Sets nominal position of receiver station.
virtual int getIndex (void) const
 Returns an index identifying this object.
virtual std::string getClassName (void) const
 Returns a string identifying this object.
virtual ~GravitationalDelay ()
 Destructor.


Constructor & Destructor Documentation

GravitationalDelay  )  [inline]
 

Default constructor.

Definition at line 110 of file GravitationalDelay.hpp.

GravitationalDelay const Position stapos  )  [inline]
 

Common constructor.

Parameters:
stapos Nominal position of receiver station.

Definition at line 118 of file GravitationalDelay.hpp.

virtual ~GravitationalDelay  )  [inline, virtual]
 

Destructor.

Definition at line 173 of file GravitationalDelay.hpp.


Member Function Documentation

std::string getClassName void   )  const [virtual]
 

Returns a string identifying this object.

Implements ProcessingClass.

Definition at line 47 of file GravitationalDelay.cpp.

int getIndex void   )  const [virtual]
 

Returns an index identifying this object.

Implements ProcessingClass.

Definition at line 42 of file GravitationalDelay.cpp.

virtual Position getNominalPosition void   )  const [inline, virtual]
 

Returns nominal position of receiver station.

Definition at line 153 of file GravitationalDelay.hpp.

gnssRinex & Process gnssRinex gData  )  throw (ProcessingException) [virtual]
 

Returns a gnnsRinex object, adding the new data generated when calling this object.

Parameters:
gData Data object holding the data.

Implements ProcessingClass.

Definition at line 159 of file GravitationalDelay.cpp.

References GPSTK_THROW.

virtual gnssSatTypeValue& Process gnssSatTypeValue gData  )  throw (ProcessingException) [inline, virtual]
 

Returns a gnnsSatTypeValue object, adding the new data generated when calling this object.

Parameters:
gData Data object holding the data.

Implements ProcessingClass.

Definition at line 138 of file GravitationalDelay.hpp.

satTypeValueMap & Process const DayTime epoch,
satTypeValueMap gData
throw (ProcessingException) [virtual]
 

Returns a satTypeValueMap object, adding the new data generated when calling this object.

Parameters:
epoch Time of observations.
gData Data object holding the data.

Definition at line 68 of file GravitationalDelay.cpp.

References GPSTK_THROW, gpstk::K, Triple::mag(), and gpstk::SatIDSet.

virtual GravitationalDelay& setNominalPosition const Position stapos  )  [inline, virtual]
 

Sets nominal position of receiver station.

Parameters:
stapos Nominal position of receiver station.

Definition at line 160 of file GravitationalDelay.hpp.


The documentation for this class was generated from the following files:
Generated on Thu Feb 9 03:31:30 2012 for GPS ToolKit Software Library by  doxygen 1.3.9.1