ComputeMOPSWeights Class Reference
[GPSTk data structures]

#include <ComputeMOPSWeights.hpp>

Inheritance diagram for ComputeMOPSWeights:

Inheritance graph
[legend]
Collaboration diagram for ComputeMOPSWeights:

Collaboration graph
[legend]
List of all members.

Detailed Description

This class computes satellites weights based on the Appendix J of MOPS C.

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

A typical way to use this class follows:

   RinexObsStream rin("ebre0300.02o");
   RinexNavStream rnavin("brdc0300.02n");
   RinexNavData rNavData;
   GPSEphemerisStore bceStore;
   while (rnavin >> rNavData) bceStore.addEphemeris(rNavData);
   bceStore.SearchPast();  // This is the default

   RinexNavHeader rNavHeader;
   IonoModelStore ionoStore;
   IonoModel ioModel;
   rnavin >> rNavHeader;
   ioModel.setModel(rNavHeader.ionAlpha, rNavHeader.ionBeta);
   ionoStore.addIonoModel(DayTime::BEGINNING_OF_TIME, ioModel);

   Position nominalPos(4833520.2269, 41537.00768, 4147461.489);

   MOPSTropModel mopsTM;
   mopsTM.setReceiverHeight(nominalPos.getAltitude());
   mopsTM.setReceiverLatitude(nominalPos.getGeodeticLatitude());
   mopsTM.setDayOfYear(30);    // Day of the year

   ModeledPR modelRef( nominalPos,
                       ionoStore,
                       mopsTM,
                       bceStore,
                       TypeID::C1,
                       true );

      // Declare a GDS object
   gnssRinex gRin;

      // Create a 'ComputeMOPSWeights' object
   ComputeMOPSWeights mopsW(nominalPos, bceStore);

   while(rin >> gRin)
   {
      gRin >> modelRef >> mopsW;
   }

The "ComputeMOPSWeights" object will visit every satellite in the GNSS data structure that is "gRin" and will try to compute its weight based on the MOPS algorithm.

It is very important to note that MOPS algorithm demands a proper modeling of the observable before starting, otherwise it won't work. That is the reason of the long initialization phase, where the ionospheric model (ionoStore), the MOPS tropospheric model (mopsTM) and the general model (modelRef) objects are set up.

When used with the ">>" operator, this class returns the same incoming data structure with the weights inserted along their corresponding satellites. Be warned that if it is not possible to compute the weight for a given satellite, it will be summarily deleted from the data structure.

See also:
ComputeIURAWeights.hpp.

Definition at line 121 of file ComputeMOPSWeights.hpp.

Public Member Functions

 ComputeMOPSWeights ()
 Default constructor. Generates an invalid object.
 ComputeMOPSWeights (const Position &pos, GPSEphemerisStore &bcephem, int rxClass=2)
 Common constructor.
 ComputeMOPSWeights (const Position &pos, TabularEphemerisStore &tabephem, int rxClass=2)
 Common constructor.
virtual satTypeValueMapProcess (const DayTime &time, 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 ComputeMOPSWeightssetPosition (const Position &pos)
 Method to set the default ephemeris to be used with GNSS data structures.
virtual ComputeMOPSWeightssetDefaultEphemeris (XvtStore< SatID > &ephem)
 Method to set the default ephemeris to be used with GNSS data structures.
virtual ComputeMOPSWeightssetDefaultEphemeris (GPSEphemerisStore &ephem)
 Method to set the default ephemeris to be used with GNSS data structures.
virtual ComputeMOPSWeightssetDefaultEphemeris (TabularEphemerisStore &ephem)
 Method to set the default ephemeris to be used with GNSS data structures.
virtual TypeID getDefaultIono () const
 Method to get the default ionospheric TypeID value to be used.
virtual ComputeMOPSWeightssetDefaultIono (const TypeID &type)
 Method to set the default ionospheric TypeID value to be used.
virtual int getIndex (void) const
 Returns an index identifying this object.
virtual std::string getClassName (void) const
 Returns a string identifying this object.
virtual ~ComputeMOPSWeights ()
 Destructor.


Constructor & Destructor Documentation

ComputeMOPSWeights  )  [inline]
 

Default constructor. Generates an invalid object.

Definition at line 126 of file ComputeMOPSWeights.hpp.

ComputeMOPSWeights const Position pos,
GPSEphemerisStore bcephem,
int  rxClass = 2
[inline]
 

Common constructor.

Parameters:
pos Reference position.
bcephem GPSEphemerisStore object holding the ephemeris.
rxClass Receiver class. By default, it is 2.

Definition at line 136 of file ComputeMOPSWeights.hpp.

ComputeMOPSWeights const Position pos,
TabularEphemerisStore tabephem,
int  rxClass = 2
[inline]
 

Common constructor.

Parameters:
pos Reference position.
tabephem TabularEphemerisStore object holding the ephemeris.
rxClass Receiver class. By default, it is 2.

Definition at line 150 of file ComputeMOPSWeights.hpp.

virtual ~ComputeMOPSWeights  )  [inline, virtual]
 

Destructor.

Definition at line 244 of file ComputeMOPSWeights.hpp.


Member Function Documentation

std::string getClassName void   )  const [virtual]
 

Returns a string identifying this object.

Reimplemented from ComputeIURAWeights.

Definition at line 48 of file ComputeMOPSWeights.cpp.

virtual TypeID getDefaultIono  )  const [inline, virtual]
 

Method to get the default ionospheric TypeID value to be used.

Definition at line 223 of file ComputeMOPSWeights.hpp.

int getIndex void   )  const [virtual]
 

Returns an index identifying this object.

Reimplemented from ComputeIURAWeights.

Definition at line 43 of file ComputeMOPSWeights.cpp.

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.

Reimplemented from ComputeIURAWeights.

Definition at line 157 of file ComputeMOPSWeights.cpp.

References GPSTK_THROW.

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

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

Parameters:
gData Data object holding the data.

Reimplemented from ComputeIURAWeights.

Definition at line 125 of file ComputeMOPSWeights.cpp.

References GPSTK_THROW.

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

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

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

Reimplemented from ComputeIURAWeights.

Definition at line 59 of file ComputeMOPSWeights.cpp.

References GPSTK_THROW, and gpstk::SatIDSet.

virtual ComputeMOPSWeights& setDefaultEphemeris TabularEphemerisStore ephem  )  [inline, virtual]
 

Method to set the default ephemeris to be used with GNSS data structures.

Parameters:
ephem TabularEphemerisStore object to be used

Reimplemented from ComputeIURAWeights.

Definition at line 217 of file ComputeMOPSWeights.hpp.

virtual ComputeMOPSWeights& setDefaultEphemeris GPSEphemerisStore ephem  )  [inline, virtual]
 

Method to set the default ephemeris to be used with GNSS data structures.

Parameters:
ephem GPSEphemerisStore object to be used

Reimplemented from ComputeIURAWeights.

Definition at line 208 of file ComputeMOPSWeights.hpp.

ComputeMOPSWeights & setDefaultEphemeris XvtStore< SatID > &  ephem  )  [virtual]
 

Method to set the default ephemeris to be used with GNSS data structures.

Parameters:
ephem EphemerisStore object to be used

Reimplemented from ComputeIURAWeights.

Definition at line 189 of file ComputeMOPSWeights.cpp.

virtual ComputeMOPSWeights& setDefaultIono const TypeID type  )  [inline, virtual]
 

Method to set the default ionospheric TypeID value to be used.

Parameters:
type TypeID of ionospheric values to be used by default

Definition at line 231 of file ComputeMOPSWeights.hpp.

virtual ComputeMOPSWeights& setPosition const Position pos  )  [inline, virtual]
 

Method to set the default ephemeris to be used with GNSS data structures.

Parameters:
ephem TabularEphemerisStore object to be used

Definition at line 191 of file ComputeMOPSWeights.hpp.


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