NablaOp Class Reference
[GPS solution algorithms and Tropospheric]

#include <NablaOp.hpp>

Inheritance diagram for NablaOp:

Inheritance graph
[legend]
Collaboration diagram for NablaOp:

Collaboration graph
[legend]
List of all members.

Detailed Description

This class applies the Nabla operator (differences on satellite-related data) to GNSS data structures.

A typical way to use this class follows:

      // Input observation file stream
   RinexObsStream rin("ebre0300.02o");
      // Reference position of receiver station
   Position nominalPos(4833520.2269, 41537.00768, 4147461.489);

      // Some more code and definitions here...

      // GNSS data structure for rover data
   gnssRinex gRin;

      // Set model defaults. A typical C1-based modeling is used
   ModeledPR model( nominalPos,
                    ionoStore,
                    mopsTM,
                    bceStore,
                    TypeID::C1,
                    true );

      // Create an object to compute single differences on
      // satellite-related data. The highest satellite will be used as
      // reference satellite and prefit residuals and geometric
      // coefficients dx, dy, dz will be differenced (this is the
      // default behaviour).
   NablaOp nabla;

   while(rin >> gRin)
   {

         // By default, difference is applied on code prefit residuals
         // and geometric coefficients dx, dy, dz; therefore, you
         // must use a modeler object before 'nabla'
      gRin >> model >> nabla;
   }

The "NablaOp" object will visit every satellite in the GNSS data structure that is "gRin" and, unless told otherwise with 'setRefSat()' method, it will pick up as reference satellite the satellite with the highest elevation.

Afterwards, it will REMOVE reference satellite data from the GNSS data structure and will substract the specified type or types (code prefit residuals, dx, dy, dz by default) from the corresponding data in the rest of the "gRef" data structure.

Take notice that in the default case the types to be differenced were computed by "ModeledPR" or "ModeledReferencePR" objects (among others), so those steps are mandatory.

Be warned that, by default, if a given satellite does not have in "gRin" the data required to be differenced, it will be summarily deleted from the data structure.

Warning:
Using method "setRefSat()" may be desirable in order to ensure that different receivers use the same reference satellite. However, you must be aware that method "setRefSat()" will also disable the automatic lookup of the satellite with the highest elevation. That may cause troubles if the reference satellite goes out of view at a later epoch. Therefore, you should later re-enable automatic lookup with the method "useHighestSat(void)".
See also:
DeltaOp.hpp for differences on ground-related data.

Definition at line 116 of file NablaOp.hpp.

Public Member Functions

 NablaOp ()
 Default constructor.
 NablaOp (const SatID &rSat)
 Common constructor taking as input the reference satellite to be used.
 NablaOp (const TypeID &difftype)
 Common constructor taking as input the type of data values to be differenced.
 NablaOp (const SatID &rSat, const TypeID &difftype)
 Common constructor taking as input the type of data values to be differenced and the reference satellite.
 NablaOp (const SatID &rSat, const TypeIDSet &diffSet)
 Common constructor taking as input a set of types of data values to be differenced, as wll as the reference satellite.
virtual NablaOpsetRefSat (const SatID &rSat)
 Method to set the reference satellite to be used.
virtual NablaOpuseHighestSat (void)
 Method to indicate that the reference satellite will be the one with highest elevation.
virtual SatID getRefSat (void) const
 Method to get the reference satellite being used.
virtual NablaOpsetDiffType (const TypeID &difftype)
 Method to set data type values to be differenced.
virtual NablaOpaddDiffType (const TypeID &difftype)
 Method to add a data value type to be differenced.
virtual NablaOpsetDiffTypeSet (const TypeIDSet &diffSet)
 Method to establish a set of data values to be differenced.
virtual NablaOpaddDiffTypeSet (const TypeIDSet &diffSet)
 Method to add a set of data value types to be differenced.
virtual TypeIDSet getDiffTypeSet (void) const
 Method to get the set of data value types to be differenced.
virtual satTypeValueMapProcess (satTypeValueMap &gData) throw (ProcessingException)
 Returns a reference to a satTypeValueMap object after differencing data type values given in 'diffTypes' field with respect to reference station data in 'refData' field.
virtual gnssSatTypeValueProcess (gnssSatTypeValue &gData) throw (ProcessingException)
 Returns a reference to a gnssSatTypeValue object after differencing data type values given in 'diffTypes' field with respect to reference station data in 'refData' field.
virtual gnssRinexProcess (gnssRinex &gData) throw (ProcessingException)
 Returns a reference to a gnnsRinex object after differencing data type values given in 'diffTypes' field with respect to reference station data in 'refData' field.
virtual std::string getClassName (void) const
 Returns a string identifying this object.
virtual ~NablaOp ()
 Destructor.


Constructor & Destructor Documentation

NablaOp  ) 
 

Default constructor.

By default it will difference prefitC, dx, dy, and dz data and will take as reference satellite the one with the highest elevation.

Definition at line 49 of file NablaOp.cpp.

NablaOp const SatID rSat  ) 
 

Common constructor taking as input the reference satellite to be used.

Parameters:
rSat SatID of satellite to be used as reference.

Definition at line 68 of file NablaOp.cpp.

NablaOp const TypeID difftype  )  [inline]
 

Common constructor taking as input the type of data values to be differenced.

Parameters:
difftype TypeID of data values to be differenced.

Definition at line 142 of file NablaOp.hpp.

NablaOp const SatID rSat,
const TypeID difftype
[inline]
 

Common constructor taking as input the type of data values to be differenced and the reference satellite.

Parameters:
rSat SatID of satellite to be used as reference.
difftype TypeID of data values to be differenced.

Definition at line 153 of file NablaOp.hpp.

NablaOp const SatID rSat,
const TypeIDSet diffSet
[inline]
 

Common constructor taking as input a set of types of data values to be differenced, as wll as the reference satellite.

Parameters:
rSat SatID of satellite to be used as reference.
diffSet TypeIDSet of data values to be differenced.

Definition at line 165 of file NablaOp.hpp.

virtual ~NablaOp  )  [inline, virtual]
 

Destructor.

Definition at line 278 of file NablaOp.hpp.


Member Function Documentation

virtual NablaOp& addDiffType const TypeID difftype  )  [inline, virtual]
 

Method to add a data value type to be differenced.

Parameters:
difftype TypeID of data values to be added to the ones being differenced.

Definition at line 213 of file NablaOp.hpp.

NablaOp & addDiffTypeSet const TypeIDSet diffSet  )  [virtual]
 

Method to add a set of data value types to be differenced.

Parameters:
diffSet TypeIDSet of data values to be added to the ones being differenced.

Definition at line 87 of file NablaOp.cpp.

std::string getClassName void   )  const [virtual]
 

Returns a string identifying this object.

Implements ProcessingClass.

Definition at line 39 of file NablaOp.cpp.

virtual TypeIDSet getDiffTypeSet void   )  const [inline, virtual]
 

Method to get the set of data value types to be differenced.

Definition at line 237 of file NablaOp.hpp.

References gpstk::TypeIDSet.

virtual SatID getRefSat void   )  const [inline, virtual]
 

Method to get the reference satellite being used.

Definition at line 193 of file NablaOp.hpp.

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

Returns a reference to a gnnsRinex object after differencing data type values given in 'diffTypes' field with respect to reference station data in 'refData' field.

Parameters:
gData Data object holding the data.

Implements ProcessingClass.

Definition at line 268 of file NablaOp.hpp.

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

Returns a reference to a gnssSatTypeValue object after differencing data type values given in 'diffTypes' field with respect to reference station data in 'refData' field.

Parameters:
gData Data object holding the data.

Implements ProcessingClass.

Definition at line 257 of file NablaOp.hpp.

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

Returns a reference to a satTypeValueMap object after differencing data type values given in 'diffTypes' field with respect to reference station data in 'refData' field.

Parameters:
gData Data object holding the data.

Definition at line 109 of file NablaOp.cpp.

References GPSTK_THROW, and gpstk::SatIDSet.

virtual NablaOp& setDiffType const TypeID difftype  )  [inline, virtual]
 

Method to set data type values to be differenced.

Parameters:
difftype TypeID of data values to be differenced.
Warning:
Previously set data type values will be deleted. If this is not what you want, see method 'addDiffType()'.

Definition at line 204 of file NablaOp.hpp.

virtual NablaOp& setDiffTypeSet const TypeIDSet diffSet  )  [inline, virtual]
 

Method to establish a set of data values to be differenced.

Parameters:
diffSet TypeIDSet of data values to be differenced.
Warning:
Previously set data type values will be deleted. If this is not what you want, see method 'addDiffTypeSet()'.

Definition at line 224 of file NablaOp.hpp.

virtual NablaOp& setRefSat const SatID rSat  )  [inline, virtual]
 

Method to set the reference satellite to be used.

It is not common to use this method.

Parameters:
rSat SatID of reference satellite to be used.
Warning:
Using this method will disable the automatic lookup of the satellite with the highest elevation. That may cause troubles if the reference satellite goes out of view at a later epoch. Therefore, you should later re-enable automatic lookup with the method "useHighestSat(void)".

Definition at line 182 of file NablaOp.hpp.

virtual NablaOp& useHighestSat void   )  [inline, virtual]
 

Method to indicate that the reference satellite will be the one with highest elevation.

This is the default behaviour.

Definition at line 188 of file NablaOp.hpp.


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