#include <DoubleOp.hpp>
Inheritance diagram for DoubleOp:


A typical way to use this class follows:
// Input observation file stream for ROVER RinexObsStream rin("ebre0300.02o"); // Reference position of receiver station Position nominalPos(4833520.2269, 41537.00768, 4147461.489); // Input observation file stream for REFERENCE STATION RinexObsStream rinRef("garr1900.07o"); // Reference station nominal position Position nominalPosRef(4796983.7690, 160308.7500, 4187339.9860); // Some more code and definitions here... // GNSS data structure for rover data gnssRinex gRin; // GNSS data structure for reference station data gnssRinex gRef; // Set model defaults. A typical C1-based modeling is used // Set up rover's modeling object ModeledPR model( nominalPos, ionoStore, mopsTM, bceStore, TypeID::C1, true ); // Set up reference station's modeling object ModeledReferencePR modelRef( nominalPosRef, ionoStore, mopsTM, bceStore, TypeID::C1, true ); // Create an object to compute the single differences // of prefit residuals DoubleOp delta; while(rin >> gRin) { rinRef >> gRef; // Be sure that data streams ARE synchronized // before following on!!! // Set the reference data to be differenced delta.setRefData(gRef.body); // Apply model to reference data gRef >> modelRef; // By default, difference is applied on code prefit residuals gRin >> model >> delta >> solver; }
The "DoubleOp" object will visit every satellite in the GNSS data structure that is "gRin" and will substract from the specified type or types (code prefit residuals by default) the corresponding data in the "gRef" data structure.
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 code prefit residuals were computed by objects of classes such as "ModeledPR" and "ModeledReferencePR" (among others) objects, so those steps are mandatory.
Be warned that, by default, if a given satellite in "gRin" does not have the data required to be differenced, it will be summarily deleted from the data structure.
Definition at line 135 of file DoubleOp.hpp.
Public Member Functions | |
| DoubleOp () | |
| Constructor. | |
| DoubleOp (const TypeID &difftype) | |
| Common constructor taking as input the type of data values to be differenced. | |
| virtual DoubleOp & | setDiffType (const TypeID &difftype) |
| Method to set data type values to be differenced. | |
| virtual DoubleOp & | addDiffType (const TypeID &difftype) |
| Method to add a data value type to be differenced. | |
| virtual DoubleOp & | setDiffTypeSet (const TypeIDSet &diffSet) |
| Method to establish a set of data values to be differenced. | |
| virtual DoubleOp & | addDiffTypeSet (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 DoubleOp & | setRefData (const satTypeValueMap &gData) |
| Method to set the satTypeValueMap data object holding reference station data. | |
| virtual DoubleOp & | setRefData (const gnssSatTypeValue &gData) |
| Method to set the gnssSatTypeValue data object holding reference station data. | |
| virtual DoubleOp & | setRefData (const gnssRinex &gData) |
| Method to set the gnssRinex data object holding reference station data. | |
| virtual satTypeValueMap | getRefData (void) const |
| Method to get the satTypeValueMap data object holding reference station data. | |
| virtual DoubleOp & | setRefSourceID (const SourceID &refSource) |
| Method to set the gnssRinex data object holding reference station data. | |
| virtual SourceID | getRefSourceID (void) const |
| Method to get the satTypeValueMap data object holding reference station SourceID. | |
| virtual DoubleOp & | setRefSat (const SatID &rSat) |
| Method to set the reference satellite to be used. | |
| virtual SatID | getRefSat (void) const |
| Method to get the reference satellite being used. | |
| virtual DoubleOp & | setRefSatMinElevation (const double &minElevation) |
| Method to set the minimum elevation allowed for the reference. | |
| virtual double | getRefSatMinElevation () const |
| Method to get the minimum elevation allowed for the reference satellite in degree. | |
| virtual satTypeValueMap & | Process (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 gnssSatTypeValue & | Process (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 gnssRinex & | Process (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. | |
| ~DoubleOp () | |
| Destructor. | |
Protected Attributes | |
| DeltaOp | sdStations |
| Object to do single difference between receivers. | |
| NablaOp | sdSatellites |
| Object to do single difference between satellites. | |
| SourceID | refSourceID |
| Reference receiver SourceID to get SD between stations. | |
| SatID | refSatID |
| Reference satellite SatID to get SD between satellites. | |
| double | refSatMinElev |
| Minimum elevation for the reference satellite default is 35 degree. | |
|
|
Constructor.
Definition at line 140 of file DoubleOp.hpp. |
|
|
Common constructor taking as input the type of data values to be differenced.
Definition at line 149 of file DoubleOp.hpp. |
|
|
Destructor.
Definition at line 326 of file DoubleOp.hpp. |
|
|
Method to add a data value type to be differenced.
Definition at line 174 of file DoubleOp.hpp. |
|
|
Method to add a set of data value types to be differenced.
Definition at line 200 of file DoubleOp.hpp. |
|
|
Returns a string identifying this object.
Implements ProcessingClass. Definition at line 36 of file DoubleOp.cpp. |
|
|
Method to get the set of data value types to be differenced.
Definition at line 208 of file DoubleOp.hpp. References gpstk::TypeIDSet. |
|
|
Method to get the satTypeValueMap data object holding reference station data.
Definition at line 243 of file DoubleOp.hpp. |
|
|
Method to get the reference satellite being used.
Definition at line 272 of file DoubleOp.hpp. |
|
|
Method to get the minimum elevation allowed for the reference satellite in degree.
Definition at line 286 of file DoubleOp.hpp. |
|
|
Method to get the satTypeValueMap data object holding reference station SourceID.
Definition at line 259 of file DoubleOp.hpp. |
|
|
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.
Implements ProcessingClass. Definition at line 317 of file DoubleOp.hpp. |
|
|
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.
Implements ProcessingClass. Definition at line 306 of file DoubleOp.hpp. |
|
|
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.
Definition at line 46 of file DoubleOp.cpp. References GPSTK_THROW. |
|
|
Method to set data type values to be differenced.
Definition at line 162 of file DoubleOp.hpp. |
|
|
Method to establish a set of data values to be differenced.
Definition at line 188 of file DoubleOp.hpp. |
|
|
Method to set the gnssRinex data object holding reference station data.
Definition at line 237 of file DoubleOp.hpp. References gnssData::body. |
|
|
Method to set the gnssSatTypeValue data object holding reference station data.
Definition at line 227 of file DoubleOp.hpp. References gnssData::body. |
|
|
Method to set the satTypeValueMap data object holding reference station data.
Definition at line 217 of file DoubleOp.hpp. |
|
|
Method to set the reference satellite to be used.
Definition at line 267 of file DoubleOp.hpp. |
|
|
Method to set the minimum elevation allowed for the reference.
Definition at line 280 of file DoubleOp.hpp. |
|
|
Method to set the gnssRinex data object holding reference station data.
Definition at line 253 of file DoubleOp.hpp. |
|
|
Reference satellite SatID to get SD between satellites.
Definition at line 340 of file DoubleOp.hpp. |
|
|
Minimum elevation for the reference satellite default is 35 degree.
Definition at line 344 of file DoubleOp.hpp. |
|
|
Reference receiver SourceID to get SD between stations.
Definition at line 337 of file DoubleOp.hpp. |
|
|
Object to do single difference between satellites.
Definition at line 334 of file DoubleOp.hpp. |
|
|
Object to do single difference between receivers.
Definition at line 331 of file DoubleOp.hpp. |
1.3.9.1