ComputeIonoModel Class Reference
[GPS solution algorithms and Tropospheric]

#include <ComputeIonoModel.hpp>

Inheritance diagram for ComputeIonoModel:

Inheritance graph
[legend]
Collaboration diagram for ComputeIonoModel:

Collaboration graph
[legend]
List of all members.

Detailed Description

This is a class to compute the main values related to a given GNSS ionospheric model.

This class is intended to be used with GNSS Data Structures (GDS). It is a more modular alternative to classes such as ModelObs and ModelObsFixedStation.

A typical way to use this class follows:

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

      // Now, create the ComputeTropModel object
   ComputeIonoModel computeIono(nominalPosition);
   computeTropo.setIonosphereMap(ionexFile);

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

   while(rin >> gRin)
   {
         // Apply the ionoospheric model on the GDS
      gRin >> computeIono;
   }

The "ComputeIonoModel" object will visit every satellite in the GNSS data structure that is "gRin" and will try to compute the main values of the corresponding ionospheric model.

When used with the ">>" operator, this class returns the same incoming data structure with the extra data inserted along their corresponding satellites.

Be warned that if a given satellite does not have the information needed (mainly elevation), it will be summarily deleted from the data structure.

Definition at line 87 of file ComputeIonoModel.hpp.

Public Types

enum  IonoModelType { Zero = 0, Klobuchar, Ionex, DualFreq }

Public Member Functions

 ComputeIonoModel ()
 Default constructor.
 ComputeIonoModel (const Position &stapos)
 Common constructor.
virtual satTypeValueMapProcess (const CommonTime &time, satTypeValueMap &gData) throw (ProcessingException)
 Returns a satTypeValueMap object, adding the new data generated when calling a modeling object.
virtual gnssSatTypeValueProcess (gnssSatTypeValue &gData) throw (ProcessingException)
 Returns a gnnsSatTypeValue object, adding the new data generated when calling a modeling object.
virtual gnssRinexProcess (gnssRinex &gData) throw (ProcessingException)
 Returns a gnnsRinex object, adding the new data generated when calling a modeling object.
virtual ComputeIonoModelsetZeroModel ()
virtual ComputeIonoModelsetKlobucharModel (const double a[4], const double b[4])
 Correct ionospheric delay with klobuchar model.
virtual ComputeIonoModelsetKlobucharModel (const IonoModel &im)
 Correct ionospheric delay with klobuchar model.
virtual ComputeIonoModelsetklobucharModel (const std::string &brdcFile)
 Correct ionospheric delay with klobuchar model.
virtual ComputeIonoModelsetIonosphereMap (const std::string &ionexFile)
 Correct ionospheric delay with ionex file.
virtual ComputeIonoModelsetDualFreqModel ()
 Correct ionospheric delay with dual frequency code.
virtual Position getNominalPosition (void) const
 Returns nominal position of receiver station.
virtual ComputeIonoModelsetNominalPosition (const Position &stapos)
 Sets nominal position of receiver station.
virtual std::string getClassName (void) const
 Returns a string identifying this object.
virtual ~ComputeIonoModel ()
 Destructor.


Member Enumeration Documentation

enum IonoModelType
 

Enumeration values:
Zero  Don't do ionospheric delay correction.
Klobuchar  Klobuchar.
Ionex  Ionospheric maps.
DualFreq  Compute from P1 and P2.

Definition at line 90 of file ComputeIonoModel.hpp.


Constructor & Destructor Documentation

ComputeIonoModel  )  [inline]
 

Default constructor.

Definition at line 101 of file ComputeIonoModel.hpp.

ComputeIonoModel const Position stapos  )  [inline]
 

Common constructor.

Parameters:
stapos Nominal position of receiver station.

Definition at line 110 of file ComputeIonoModel.hpp.

virtual ~ComputeIonoModel  )  [inline, virtual]
 

Destructor.

Definition at line 184 of file ComputeIonoModel.hpp.


Member Function Documentation

std::string getClassName void   )  const [virtual]
 

Returns a string identifying this object.

Implements ProcessingClass.

Definition at line 44 of file ComputeIonoModel.cpp.

virtual Position getNominalPosition void   )  const [inline, virtual]
 

Returns nominal position of receiver station.

Definition at line 169 of file ComputeIonoModel.hpp.

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

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

Parameters:
gData Data object holding the data.

Implements ProcessingClass.

Definition at line 141 of file ComputeIonoModel.hpp.

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

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

Parameters:
gData Data object holding the data.

Implements ProcessingClass.

Definition at line 131 of file ComputeIonoModel.hpp.

satTypeValueMap & Process const CommonTime time,
satTypeValueMap gData
throw (ProcessingException) [virtual]
 

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

Parameters:
time Epoch.
gData Data object holding the data.

Definition at line 55 of file ComputeIonoModel.cpp.

References gpstk::gamma(), Position::getIonosphericPiercePoint(), GPSTK_THROW, gpstk::L1_FREQ_GPS, P1, P2, gpstk::SatIDSet, and Position::transformTo().

virtual ComputeIonoModel& setDualFreqModel  )  [inline, virtual]
 

Correct ionospheric delay with dual frequency code.

Definition at line 165 of file ComputeIonoModel.hpp.

ComputeIonoModel & setIonosphereMap const std::string &  ionexFile  )  [virtual]
 

Correct ionospheric delay with ionex file.

Definition at line 237 of file ComputeIonoModel.cpp.

References IonexStore::clear(), and IonexStore::loadFile().

ComputeIonoModel & setklobucharModel const std::string &  brdcFile  )  [virtual]
 

Correct ionospheric delay with klobuchar model.

Definition at line 205 of file ComputeIonoModel.cpp.

References GPSTK_RETHROW, GPSTK_THROW, gpstk::isRinexNavFile(), and ComputeIonoModel::setKlobucharModel().

ComputeIonoModel & setKlobucharModel const IonoModel im  )  [virtual]
 

Correct ionospheric delay with klobuchar model.

Definition at line 197 of file ComputeIonoModel.cpp.

References IonoModelStore::addIonoModel().

ComputeIonoModel & setKlobucharModel const double  a[4],
const double  b[4]
[virtual]
 

Correct ionospheric delay with klobuchar model.

Definition at line 187 of file ComputeIonoModel.cpp.

References IonoModelStore::addIonoModel().

Referenced by ComputeIonoModel::setklobucharModel().

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

Sets nominal position of receiver station.

Parameters:
stapos Nominal position of receiver station.

Definition at line 176 of file ComputeIonoModel.hpp.

virtual ComputeIonoModel& setZeroModel  )  [inline, virtual]
 

Definition at line 146 of file ComputeIonoModel.hpp.


The documentation for this class was generated from the following files:
Generated on Sun May 19 03:31:40 2013 for GPS ToolKit Software Library by  doxygen 1.3.9.1