TropModel Class Reference
[GPS solution algorithms and Tropospheric]

#include <TropModel.hpp>

Inheritance diagram for TropModel:

Inheritance graph
[legend]
List of all members.

Detailed Description

Abstract base class for tropospheric models.

The wet and dry components of the tropospheric delay are each the product of a zenith delay and a mapping function. Usually the zenith delay depends only on the weather (temperature, pressure and humidity), while the mapping function depends only on the satellite elevation, i.e. the geometry of satellite and receiver. This may not be true in complex models. The full tropospheric delay is the sum of the wet and dry components. A TropModel is valid only when all the necessary information (weather + whatever else the model requires) is specified; An InvalidTropModel exception will be thrown when any correction() or zenith_delay() or mapping_function() routine is called for an invalid TropModel.

Definition at line 93 of file TropModel.hpp.

Public Member Functions

virtual ~TropModel ()
 Destructor.
bool isValid (void)
 Return validity of model.
virtual double correction (double elevation) const throw (InvalidTropModel)
 Compute and return the full tropospheric delay.
virtual double correction (const Position &RX, const Position &SV, const DayTime &tt) throw (InvalidTropModel)
 Compute and return the full tropospheric delay, given the positions of receiver and satellite and the time tag.
virtual double correction (const Xvt &RX, const Xvt &SV, const DayTime &tt) throw (InvalidTropModel)
virtual double dry_zenith_delay (void) const =0 throw (InvalidTropModel)
 Compute and return the zenith delay for dry component of the troposphere.
virtual double wet_zenith_delay (void) const =0 throw (InvalidTropModel)
 Compute and return the zenith delay for wet component of the troposphere.
virtual double dry_mapping_function (double elevation) const =0 throw (InvalidTropModel)
 Compute and return the mapping function for dry component of the troposphere.
virtual double wet_mapping_function (double elevation) const =0 throw (InvalidTropModel)
 Compute and return the mapping function for wet component of the troposphere.
virtual void setWeather (const double &T, const double &P, const double &H) throw (InvalidParameter)
 Re-define the tropospheric model with explicit weather data.
virtual void setWeather (const WxObservation &wx) throw (InvalidParameter)
 Re-define the tropospheric model with explicit weather data.
virtual void setReceiverHeight (const double &ht)
 Define the receiver height; this required by some models before calling correction() or any of the zenith_delay or mapping_function routines.
virtual void setReceiverLatitude (const double &lat)
 Define the latitude of the receiver; this is required by some models before calling correction() or any of the zenith_delay or mapping_function routines.
virtual void setDayOfYear (const int &d)
 Define the day of year; this is required by some models before calling correction() or any of the zenith_delay or mapping_function routines.

Protected Attributes

bool valid
double temp
double press
double humid


Constructor & Destructor Documentation

virtual ~TropModel  )  [inline, virtual]
 

Destructor.

Definition at line 107 of file TropModel.hpp.


Member Function Documentation

virtual double correction const Xvt RX,
const Xvt SV,
const DayTime tt
throw (InvalidTropModel) [inline, virtual]
 

Deprecated:
Compute and return the full tropospheric delay, given the positions of receiver and satellite and the time tag. This version is most useful within positioning algorithms, where the receiver position and timetag may vary; it computes the elevation (and other receiver location information) and passes them to appropriate set...() routines and the correction(elevation) routine.
Parameters:
RX Receiver position in ECEF cartesian coordinates (meters)
SV Satellite position in ECEF cartesian coordinates (meters)
tt Time tag of the signal

Reimplemented in ZeroTropModel, GGHeightTropModel, NBTropModel, SaasTropModel, GCATTropModel, MOPSTropModel, and NeillTropModel.

Definition at line 145 of file TropModel.hpp.

double correction const Position RX,
const Position SV,
const DayTime tt
throw (InvalidTropModel) [virtual]
 

Compute and return the full tropospheric delay, given the positions of receiver and satellite and the time tag.

This version is most useful within positioning algorithms, where the receiver position and timetag may vary; it computes the elevation (and other receiver location information) and passes them to appropriate set...() routines and the correction(elevation) routine.

Parameters:
RX Receiver position
SV Satellite position
tt Time tag of the signal

Reimplemented in ZeroTropModel, GGHeightTropModel, NBTropModel, SaasTropModel, GCATTropModel, MOPSTropModel, and NeillTropModel.

Definition at line 85 of file TropModel.cpp.

References GPSTK_RETHROW, and GPSTK_THROW.

double correction double  elevation  )  const throw (InvalidTropModel) [virtual]
 

Compute and return the full tropospheric delay.

Parameters:
elevation Elevation of satellite as seen at receiver, in degrees

Reimplemented in ZeroTropModel, GGHeightTropModel, NBTropModel, SaasTropModel, GCATTropModel, MOPSTropModel, and NeillTropModel.

Definition at line 62 of file TropModel.cpp.

References GPSTK_THROW.

Referenced by ModelObsFixedStation::getTropoCorrections(), and ModeledReferencePR::getTropoCorrections().

virtual double dry_mapping_function double  elevation  )  const throw (InvalidTropModel) [pure virtual]
 

Compute and return the mapping function for dry component of the troposphere.

Parameters:
elevation Elevation of satellite as seen at receiver, in degrees

Implemented in ZeroTropModel, SimpleTropModel, GGTropModel, GGHeightTropModel, NBTropModel, SaasTropModel, GCATTropModel, and NeillTropModel.

virtual double dry_zenith_delay void   )  const throw (InvalidTropModel) [pure virtual]
 

Compute and return the zenith delay for dry component of the troposphere.

Implemented in ZeroTropModel, SimpleTropModel, GGTropModel, GGHeightTropModel, NBTropModel, SaasTropModel, GCATTropModel, MOPSTropModel, and NeillTropModel.

bool isValid void   )  [inline]
 

Return validity of model.

Definition at line 110 of file TropModel.hpp.

Referenced by ModelObsFixedStation::getTropoCorrections(), and ModeledReferencePR::getTropoCorrections().

virtual void setDayOfYear const int &  d  )  [inline, virtual]
 

Define the day of year; this is required by some models before calling correction() or any of the zenith_delay or mapping_function routines.

Parameters:
d Day of year.

Reimplemented in NBTropModel, SaasTropModel, MOPSTropModel, and NeillTropModel.

Definition at line 201 of file TropModel.hpp.

virtual void setReceiverHeight const double &  ht  )  [inline, virtual]
 

Define the receiver height; this required by some models before calling correction() or any of the zenith_delay or mapping_function routines.

Parameters:
ht Height of the receiver in meters.

Reimplemented in GGHeightTropModel, NBTropModel, SaasTropModel, GCATTropModel, MOPSTropModel, and NeillTropModel.

Definition at line 190 of file TropModel.hpp.

virtual void setReceiverLatitude const double &  lat  )  [inline, virtual]
 

Define the latitude of the receiver; this is required by some models before calling correction() or any of the zenith_delay or mapping_function routines.

Parameters:
lat Latitude of the receiver in degrees.

Reimplemented in NBTropModel, SaasTropModel, MOPSTropModel, and NeillTropModel.

Definition at line 196 of file TropModel.hpp.

void setWeather const WxObservation wx  )  throw (InvalidParameter) [virtual]
 

Re-define the tropospheric model with explicit weather data.

Typically called just before correction().

Parameters:
wx the weather to use for this correction

Reimplemented in SimpleTropModel, GGTropModel, GGHeightTropModel, NBTropModel, SaasTropModel, GCATTropModel, MOPSTropModel, and NeillTropModel.

Definition at line 138 of file TropModel.cpp.

References GPSTK_RETHROW, and GPSTK_THROW.

void setWeather const double &  T,
const double &  P,
const double &  H
throw (InvalidParameter) [virtual]
 

Re-define the tropospheric model with explicit weather data.

Typically called just before correction().

Parameters:
T temperature in degrees Celsius
P atmospheric pressure in millibars
H relative humidity in percent

Reimplemented in SimpleTropModel, GGTropModel, GGHeightTropModel, NBTropModel, SaasTropModel, GCATTropModel, MOPSTropModel, and NeillTropModel.

Definition at line 110 of file TropModel.cpp.

References GPSTK_THROW.

virtual double wet_mapping_function double  elevation  )  const throw (InvalidTropModel) [pure virtual]
 

Compute and return the mapping function for wet component of the troposphere.

Parameters:
elevation Elevation of satellite as seen at receiver, in degrees

Implemented in ZeroTropModel, SimpleTropModel, GGTropModel, GGHeightTropModel, NBTropModel, SaasTropModel, GCATTropModel, and NeillTropModel.

virtual double wet_zenith_delay void   )  const throw (InvalidTropModel) [pure virtual]
 

Compute and return the zenith delay for wet component of the troposphere.

Implemented in ZeroTropModel, SimpleTropModel, GGTropModel, GGHeightTropModel, NBTropModel, SaasTropModel, GCATTropModel, MOPSTropModel, and NeillTropModel.


Member Data Documentation

double humid [protected]
 

Definition at line 207 of file TropModel.hpp.

double press [protected]
 

Definition at line 206 of file TropModel.hpp.

double temp [protected]
 

Definition at line 205 of file TropModel.hpp.

bool valid [protected]
 

Definition at line 204 of file TropModel.hpp.


The documentation for this class was generated from the following files:
Generated on Thu Nov 20 03:37:31 2008 for GPS ToolKit Software Library by  doxygen 1.3.9.1