TypeID Class Reference

#include <TypeID.hpp>

Collaboration diagram for TypeID:

Collaboration graph
[legend]
List of all members.

Detailed Description

This class creates an index able to represent any type of observation, correction, model parameter or other data value of interest for GNSS data processing.

This class is extensible in run-time, so the programmer may add indexes on-demand. For instance, in order to create a new TypeID object referring INS-related data, and with "Inertial" as description string, you may write the following:

    TypeID INS = TypeID::newValueType("Inertial");

Or using the constructor:

    TypeID INS(TypeID::newValueType("Inertial"));

From now on, you'll be able to use INS as TypeID when you need to refer to inertial system data.

Definition at line 73 of file TypeID.hpp.

Public Types

enum  ValueType {
  Unknown, C1, C2, P1,
  P2, L1, L2, D1,
  D2, S1, S2, T1,
  T2, SSI1, LLI1, SSI2,
  LLI2, C5, L5, D5,
  S5, SSI5, LLI5, C6,
  L6, D6, S6, SSI6,
  LLI6, C7, L7, D7,
  S7, SSI7, LLI7, C8,
  L8, D8, S8, SSI8,
  LLI8, PC, LC, PI,
  LI, Pdelta, Ldelta, MWubbena,
  GRAPHIC1, GRAPHIC2, GRAPHIC5, GRAPHIC6,
  GRAPHIC7, GRAPHIC8, WL, WL1,
  WL2, WL3, WL4, EWL,
  L1dot, L1dot2, L2dot, L2dot2,
  L5dot, L5dot2, P1dot, P1dot2,
  P2dot, P2dot2, P5dot, P5dot2,
  L6dot, L6dot2, L7dot, L7dot2,
  L8dot, L8dot2, LCdot, LCdot2,
  LIdot, LIdot2, Ldeltadot, Ldeltadot2,
  transmit, rho, rhodot, rhodot2,
  dtSat, dtSatdot, dtSatdot2, rel,
  gravDelay, tropo, dryTropo, dryMap,
  wetTropo, wetMap, tropoSlant, iono,
  ionoTEC, ionoMap, ionoMap2, ionoL1,
  ionoL2, ionoL5, ionoL6, ionoL7,
  ionoL8, windUp, satPCenter, satX,
  satY, satZ, satVX, satVY,
  satVZ, satAX, satAY, satAZ,
  satJ2kX, satJ2kY, satJ2kZ, satJ2kVX,
  satJ2kVY, satJ2kVZ, satJ2kAX, satJ2kAY,
  satJ2kAZ, elevation, azimuth, CSL1,
  CSL2, CSL5, CSL6, CSL7,
  CSL8, satArc, BL1, BL2,
  BL5, BL6, BL7, BL8,
  BLC, BWL, BWL2, BWL3,
  BWL4, mpC1, mpC2, mpC5,
  mpC6, mpC7, mpC8, mpL1,
  mpL2, mpL5, mpL6, mpL7,
  mpL8, instC1, instC2, instC5,
  instC6, instC7, instC8, instL1,
  instL2, instL5, instL6, instL7,
  instL8, prefitP1, prefitP2, prefitL1,
  prefitL2, postfitP1, postfitP2, postfitL1,
  postfitL2, prefitC5, prefitL5, postfitC5,
  postfitL5, prefitGRAPHIC1, prefitGRAPHIC2, postfitGRAPHIC1,
  postfitGRAPHIC2, prefitMWubbena, prefitWL, prefitWL2,
  prefitWL3, prefitWL4, postfitWL, postfitWL2,
  postfitWL3, postfitWL4, prefitC, prefitL,
  postfitC, postfitL, dx, dy,
  dz, dLat, dLon, dH,
  cdt, cdtSat, dSatX, dSatY,
  dSatZ, dSatR, dSatT, dSatN,
  weight, codeBias, cdtC1, cdtP1,
  cdtC2, cdtP2, cdtC5, cdtP5,
  cdtL1, cdtL2, cdtL5, cdtPC,
  cdtLC, cdtWL, cdtWL2, cdtWL3,
  cdtWL4, cdtMW, cdtSatC1, cdtSatP1,
  cdtSatC2, cdtSatP2, cdtSatC5, cdtSatP5,
  cdtSatL1, cdtSatL2, cdtSatL5, cdtSatPC,
  cdtSatLC, cdtSatWL, cdtSatMW, recX,
  recY, recZ, recVX, recVY,
  recVZ, recAX, recAY, recAZ,
  recLat, recLon, recH, recVLat,
  recVLon, recVH, recALat, recALon,
  recAH, recJ2kX, recJ2kY, recJ2kZ,
  recJ2kVX, recJ2kVY, recJ2kVZ, recJ2kAX,
  recJ2kAY, recJ2kAZ, sigma, iura,
  Action, dummy0, dummy1, dummy2,
  dummy3, dummy4, dummy5, dummy6,
  dummy7, dummy8, dummy9, Last,
  Placeholder = Last+1000
}
 The type of the data value. More...

Public Member Functions

 TypeID ()
 empty constructor, creates an invalid object
 TypeID (ValueType vt)
 Explicit constructor.
virtual bool operator== (const TypeID &right) const
 Equality requires all fields to be the same.
virtual bool operator< (const TypeID &right) const
 This ordering is somewhat arbitrary but is required to be able to use an TypeID as an index to a std::map.
bool operator!= (const TypeID &right) const
 Inequality operator.
bool operator> (const TypeID &right) const
 Greater than operator.
bool operator<= (const TypeID &right) const
 Less than or equal operator.
bool operator>= (const TypeID &right) const
 Greater than or equal operator.
virtual TypeID operator= (const TypeID &right)
 Assignment operator.
virtual std::ostream & dump (std::ostream &s) const
 Convenience output method.
virtual bool isValid () const
 Returns true if this is a valid TypeID.
virtual ~TypeID ()
 Destructor.

Static Public Member Functions

ValueType newValueType (const std::string &s)
 Static method to add new TypeID's.
TypeID byName (std::string name) throw (InvalidRequest)
 Static method to get the user registered TypeID by name string.
TypeID regByName (std::string name, std::string desc)
 Static method to add new TypeID's by name string.
void unregByName (std::string name)
 unregister a TypeID by it's name string
void unregAll ()
 unregister all TypeIDs registered by name string

Public Attributes

ValueType type
 Type of the value.

Static Public Attributes

std::map< ValueType, std::string > tStrings
 Map holding type descriptions.
Initializer TypeIDsingleton


Member Enumeration Documentation

enum ValueType
 

The type of the data value.

Enumeration values:
Unknown 
C1  GPS civil code observation in L1 frequency.
C2  GPS civil code observation in L2 frequency.
P1  GPS precise code observation in L1 frequency.
P2  GPS precise code observation in L2 frequency.
L1  GPS phase observation in L1 frequency.
L2  GPS phase observation in L2 frequency.
D1  GPS doppler observation in L1 frequency.
D2  GPS doppler observation in L2 frequency.
S1  GPS signal strength observation in L1 frequency.
S2  GPS signal strength observation in L2 frequency.
T1  Transit integrated doppler observation in L1 frequency.
T2  Transit integrated doppler observation in L2 frequency.
SSI1  Signal strength indicator/index, L1 frequency.
LLI1  Loss of Lock Indicator/ lock count, L1 frequency.
SSI2  Signal strength indicator/index, L2 frequency.
LLI2  Loss of Lock Indicator/ lock count, L2 frequency.
C5  GPS L5C-code pseudorange.
L5  GPS phase observation in L5 frequency.
D5  GPS doppler observation in L5 frequency.
S5  GPS signal strength observation in L5 frequency.
SSI5  Signal strength indicator/index, L5 frequency.
LLI5  Loss of Lock Indicator/ lock count, L5 frequency.
C6  Galileo E6-code pseudorange.
L6  Galileo phase observation in L6 frequency.
D6  Galileo doppler observation in L6 frequency.
S6  Galileo signal strength observation in L6 frequency.
SSI6  Signal strength indicator/index, L6 frequency.
LLI6  Loss of Lock Indicator/ lock count, L6 frequency.
C7  Galileo E5b-code pseudorange.
L7  Galileo phase observation in L5b frequency.
D7  Galileo doppler observation in L5b frequency.
S7  Galileo signal strength observation in L5b frequency.
SSI7  Signal strength indicator/index, L5b frequency.
LLI7  Loss of Lock Indicator/ lock count, L5b frequency.
C8  Galileo E5a+b-code pseudorange.
L8  Galileo phase observation in L5a+b frequency.
D8  Galileo doppler observation in L5a+b frequency.
S8  Galileo signal strength observation in L5a+b frequency.
SSI8  Signal strength indicator/index, L5a+b frequency.
LLI8  Loss of Lock Indicator/ lock count, L5a+b frequency.
PC  Code-based ionosphere-free combination.
LC  Phase-based ionosphere-free combination.
PI  Code-based ionospheric combination.
LI  Phase-based ionospheric combination.
Pdelta  Narrow-lane combination.
Ldelta  Wide-lane combination.
MWubbena  Melbourne-Wubbena combination.
GRAPHIC1  GRoup And PHase Ionospheric Combination in L1.
GRAPHIC2  GRoup And PHase Ionospheric Combination in L2.
GRAPHIC5  GRoup And PHase Ionospheric Combination in L5.
GRAPHIC6  GRoup And PHase Ionospheric Combination in L6.
GRAPHIC7  GRoup And PHase Ionospheric Combination in L7.
GRAPHIC8  GRoup And PHase Ionospheric Combination in L8.
WL  Wide-lane combination(+1*L1-1*L2).
WL1  Wide-lane combination(-1*L1+2*L2).
WL2  Wide-lane combination(-2*L1+3*L2).
WL3  Wide-lane combination(-3*L1+4*L2).
WL4  Wide-lane combination(+4*L1-5*L2).
EWL  Wide-lane combination(-7*L1+9*L2).
L1dot  GPS L1 phase observation first derivative.
L1dot2  GPS L1 phase observation second derivative.
L2dot  GPS L2 phase observation first derivative.
L2dot2  GPS L2 phase observation second derivative.
L5dot  GPS L5 phase observation first derivative.
L5dot2  GPS L5 phase observation second derivative.
P1dot  GPS P1 precise code observation first derivative.
P1dot2  GPS P1 precise code observation second derivative.
P2dot  GPS P2 precise code observation first derivative.
P2dot2  GPS P2 precise code observation second derivative.
P5dot  GPS P5 precise code observation first derivative.
P5dot2  GPS P5 precise code observation second derivative.
L6dot  Galileo L6 phase observation first derivative.
L6dot2  Galileo L6 phase observation second derivative.
L7dot  Galileo L7 phase observation first derivative.
L7dot2  Galileo L7 phase observation second derivative.
L8dot  Galileo L8 phase observation first derivative.
L8dot2  Galileo L8 phase observation second derivative.
LCdot  Phase-based ionosphere-free combination 1st derivative.
LCdot2  Phase-based ionosphere-free combination 2nd derivative.
LIdot  Phase-based ionospheric combination 1st derivative.
LIdot2  Phase-based ionospheric combination 2nd derivative.
Ldeltadot  Wide-lane combination 1st derivative.
Ldeltadot2  Wide-lane combination 2nd derivative.
transmit  Transmit time of the signal.
rho  Geometric distance satellite-receiver.
rhodot  First derivative of geometric distance SV-RX.
rhodot2  Second derivative of geometric distance SV-RX.
dtSat  Satellite clock offset.
dtSatdot  Satellite clock offset drift.
dtSatdot2  Satellite clock offset drift rate.
rel  Relativistic delay.
gravDelay  Gravitational delay.
tropo  Vertical tropospheric delay, total.
dryTropo  Vertical tropospheric delay, dry component.
dryMap  Tropospheric mapping function, dry component.
wetTropo  Vertical tropospheric delay, wet component.
wetMap  Tropospheric mapping function, wet component.
tropoSlant  Slant tropospheric delay, total.
iono  Vertical ionospheric delay.
ionoTEC  Total Electron Content (in TECU), 1TECU = 1e+16 electrons per m**2.
ionoMap  Ionospheric mapping function.
ionoMap2  Ionospheric mapping function for second order ionospheric delay.
ionoL1  Slant ionospheric delay, frequency L1.
ionoL2  Slant ionospheric delay, frequency L2.
ionoL5  Slant ionospheric delay, frequency L5.
ionoL6  Slant ionospheric delay, frequency L6.
ionoL7  Slant ionospheric delay, frequency L7.
ionoL8  Slant ionospheric delay, frequency L8.
windUp  Wind-up effect (in radians).
satPCenter  Satellite antenna phase center correction.
satX  Satellite position, X component.
satY  Satellite position, Y component.
satZ  Satellite position, Z component.
satVX  Satellite velocity, X component.
satVY  Satellite velocity, Y component.
satVZ  Satellite velocity, Z component.
satAX  Satellite acceleration, X component.
satAY  Satellite acceleration, Y component.
satAZ  Satellite acceleration, Z component.
satJ2kX  Satellite position in J2000, X component.
satJ2kY  Satellite position in J2000, Y component.
satJ2kZ  Satellite position in J2000, Z component.
satJ2kVX  Satellite velocity in J2000, X component.
satJ2kVY  Satellite velocity in J2000, Y component.
satJ2kVZ  Satellite velocity in J2000, Z component.
satJ2kAX  Satellite acceleration in J2000, X component.
satJ2kAY  Satellite acceleration in J2000, Y component.
satJ2kAZ  Satellite acceleration in J2000, Z component.
elevation  Satellite elevation.
azimuth  Satellite azimuth.
CSL1  Cycle slip in L1.
CSL2  Cycle slip in L2.
CSL5  Cycle slip in L5.
CSL6  Cycle slip in L6.
CSL7  Cycle slip in L7.
CSL8  Cycle slip in L8.
satArc  Satellite arc number.
BL1  Phase ambiguity in L1.
BL2  Phase ambiguity in L2.
BL5  Phase ambiguity in L5.
BL6  Phase ambiguity in L6.
BL7  Phase ambiguity in L7.
BL8  Phase ambiguity in L8.
BLC  Phase ambiguity in LC.
BWL  Phase ambiguity in WL.
BWL2  Phase ambiguity in WL2.
BWL3  Phase ambiguity in WL3.
BWL4  Phase ambiguity in WL4.
mpC1  Multipath bias, C1.
mpC2  Multipath bias, C2.
mpC5  Multipath bias, C5.
mpC6  Multipath bias, C6.
mpC7  Multipath bias, C7.
mpC8  Multipath bias, C8.
mpL1  Multipath bias, L1.
mpL2  Multipath bias, L2.
mpL5  Multipath bias, L5.
mpL6  Multipath bias, L6.
mpL7  Multipath bias, L7.
mpL8  Multipath bias, L8.
instC1  Instrumental delay, C1.
instC2  Instrumental delay, C2.
instC5  Instrumental delay, C5.
instC6  Instrumental delay, C6.
instC7  Instrumental delay, C7.
instC8  Instrumental delay, C8.
instL1  Instrumental delay, L1.
instL2  Instrumental delay, L2.
instL5  Instrumental delay, L5.
instL6  Instrumental delay, L6.
instL7  Instrumental delay, L7.
instL8  Instrumental delay, L8.
prefitP1  Prefit residual, code P1.
prefitP2  Prefit residual, code P2.
prefitL1  Prefit residual, phase L1.
prefitL2  Prefit residual, phase L2.
postfitP1  Postfit residual, code P1.
postfitP2  Postfit residual, code P2.
postfitL1  Postfit residual, phase L1.
postfitL2  Postfit residual, phase L2.
prefitC5  Prefit residual, code C5.
prefitL5  Prefit residual, phase L5.
postfitC5  Postfit residual, code C5.
postfitL5  Postfit residual, phase L5.
prefitGRAPHIC1  Prefit residual, GRAPHIC1.
prefitGRAPHIC2  Prefit residual, GRAPHIC2.
postfitGRAPHIC1  Postfit residual, GRAPHIC1.
postfitGRAPHIC2  Postfit residual, GRAPHIC2.
prefitMWubbena 
prefitWL  Prefit residual, WL.
prefitWL2  Prefit residual, WL2.
prefitWL3  Prefit residual, WL3.
prefitWL4  Prefit residual, WL4.
postfitWL  Postfit residual, WL.
postfitWL2  Postfit residual, WL2.
postfitWL3  Postfit residual, WL3.
postfitWL4  Postfit residual, WL4.
prefitC  Prefit residual, code.
prefitL  Prefit residual, phase.
postfitC  Postfit residual, code.
postfitL  Postfit residual, phase.
dx  In the position domain: Position bias, X component; in the range domain: dx coefficient.
dy  In the position domain: Position bias, Y component; in the range domain: dy coefficient.
dz  In the position domain: Position bias, Z component; in the range domain: dz coefficient.
dLat  Position bias, Latitude component.
dLon  Position bias, Longitude component.
dH  Position bias, Height component.
cdt  In the position domain: Receiver clock offset, meters; in the range domain: cdt coefficient.
cdtSat  In the position domain: Satellite clock offset, meters; in the range domain: cdt coefficient.
dSatX  dSatX coefficient for satellite position in XYZ
dSatY  dSatY coefficient for satellite position in XYZ
dSatZ  dSatZ coefficient for satellite position in XYZ
dSatR  dSatR coefficient for satellite position in RTN
dSatT  dSatT coefficient for satellite position in RTN
dSatN  dSatN coefficient for satellite position in RTN
weight  Weight assigned to a given observation.
codeBias  Code bias by both receiver and satellite.
cdtC1  Receiver clock offset of C1.
cdtP1  Receiver clock offset of P1.
cdtC2  Receiver clock offset of C2.
cdtP2  Receiver clock offset of P2.
cdtC5  Receiver clock offset of C5.
cdtP5  Receiver clock offset of P5.
cdtL1  Receiver clock offset of L1.
cdtL2  Receiver clock offset of L2.
cdtL5  Receiver clock offset of L5.
cdtPC  Receiver clock offset of PC.
cdtLC  Receiver clock offset of LC.
cdtWL  Receiver clock offset of WL.
cdtWL2  Receiver clock offset of WL2.
cdtWL3  Receiver clock offset of WL3.
cdtWL4  Receiver clock offset of WL4.
cdtMW  Receiver clock offset of MW.
cdtSatC1  Satellite clock offset of C1.
cdtSatP1  Satellite clock offset of P1.
cdtSatC2  Satellite clock offset of C2.
cdtSatP2  Satellite clock offset of P2.
cdtSatC5  Satellite clock offset of C5.
cdtSatP5  Satellite clock offset of P5.
cdtSatL1  Satellite clock offset of L1.
cdtSatL2  Satellite clock offset of L2.
cdtSatL5  Satellite clock offset of L5.
cdtSatPC  Satellite clock offset of PC.
cdtSatLC  Satellite clock offset of LC.
cdtSatWL  Satellite clock offset of WL.
cdtSatMW  Satellite clock offset of MW.
recX  Receiver position, X component.
recY  Receiver position, Y component.
recZ  Receiver position, Z component.
recVX  Receiver velocity, X component.
recVY  Receiver velocity, Y component.
recVZ  Receiver velocity, Z component.
recAX  Receiver acceleration, X component.
recAY  Receiver acceleration, Y component.
recAZ  Receiver acceleration, Z component.
recLat  Receiver position, Latitude component.
recLon  Receiver position, Longitude component.
recH  Receiver position, Height component.
recVLat  Receiver velocity, Latitude component.
recVLon  Receiver velocity, Longitude component.
recVH  Receiver velocity, Height component.
recALat  Receiver acceleration, Latitude component.
recALon  Receiver acceleration, Longitude component.
recAH  Receiver acceleration, Height component.
recJ2kX  Receiver position in J2000, X component.
recJ2kY  Receiver position in J2000, Y component.
recJ2kZ  Receiver position in J2000, Z component.
recJ2kVX  Receiver velocity in J2000, X component.
recJ2kVY  Receiver velocity in J2000, Y component.
recJ2kVZ  Receiver velocity in J2000, Z component.
recJ2kAX  Receiver acceleration in J2000, X component.
recJ2kAY  Receiver acceleration in J2000, Y component.
recJ2kAZ  Receiver acceleration in J2000, Z component.
sigma  Standard deviation.
iura  Index User Range Accuracy.
Action  Flag for quality control.
dummy0  Generic, undefined type #0.
dummy1  Generic, undefined type #1.
dummy2  Generic, undefined type #2.
dummy3  Generic, undefined type #3.
dummy4  Generic, undefined type #4.
dummy5  Generic, undefined type #5.
dummy6  Generic, undefined type #6.
dummy7  Generic, undefined type #7.
dummy8  Generic, undefined type #8.
dummy9  Generic, undefined type #9.
Last  used to extend this...
Placeholder 

Definition at line 78 of file TypeID.hpp.

Referenced by TypeID::newValueType().


Constructor & Destructor Documentation

TypeID  )  [inline]
 

empty constructor, creates an invalid object

Definition at line 388 of file TypeID.hpp.

TypeID ValueType  vt  )  [inline]
 

Explicit constructor.

Parameters:
vt ValueType for the new TypeID. If you want to use the next available ValueType, generate it using the 'newValueType()' method, as indicated in the example in the documentation.

Definition at line 400 of file TypeID.hpp.

virtual ~TypeID  )  [inline, virtual]
 

Destructor.

Definition at line 450 of file TypeID.hpp.


Member Function Documentation

TypeID byName std::string  name  )  throw (InvalidRequest) [static]
 

Static method to get the user registered TypeID by name string.

Parameters:
name Identifying string for the new TypeID
Returns:
The desired TypeID

Definition at line 812 of file TypeID.cpp.

References GPSTK_THROW.

std::ostream & dump std::ostream &  s  )  const [virtual]
 

Convenience output method.

Definition at line 361 of file TypeID.cpp.

Referenced by gpstk::StringUtils::asString(), and gpstk::operator<<().

bool isValid  )  const [virtual]
 

Returns true if this is a valid TypeID.

Basically just checks that the enum is defined

Definition at line 371 of file TypeID.cpp.

References TypeID::type.

TypeID::ValueType newValueType const std::string &  s  )  [static]
 

Static method to add new TypeID's.

Parameters:
s Identifying string for the new TypeID

Definition at line 380 of file TypeID.cpp.

References TypeID::ValueType.

bool operator!= const TypeID right  )  const [inline]
 

Inequality operator.

Definition at line 417 of file TypeID.hpp.

References gpstk::operator==().

virtual bool operator< const TypeID right  )  const [inline, virtual]
 

This ordering is somewhat arbitrary but is required to be able to use an TypeID as an index to a std::map.

If an application needs some other ordering, inherit and override this function.

Definition at line 412 of file TypeID.hpp.

References TypeID::type.

bool operator<= const TypeID right  )  const [inline]
 

Less than or equal operator.

Definition at line 427 of file TypeID.hpp.

References gpstk::operator<(), and gpstk::operator==().

TypeID operator= const TypeID right  )  [virtual]
 

Assignment operator.

Definition at line 352 of file TypeID.cpp.

References TypeID::type.

virtual bool operator== const TypeID right  )  const [inline, virtual]
 

Equality requires all fields to be the same.

Definition at line 405 of file TypeID.hpp.

References TypeID::type.

bool operator> const TypeID right  )  const [inline]
 

Greater than operator.

Definition at line 422 of file TypeID.hpp.

References gpstk::operator<(), and gpstk::operator==().

bool operator>= const TypeID right  )  const [inline]
 

Greater than or equal operator.

Definition at line 432 of file TypeID.hpp.

References gpstk::operator<().

TypeID regByName std::string  name,
std::string  desc
[static]
 

Static method to add new TypeID's by name string.

Parameters:
name Identifying string for the new TypeID
desc Descriptions of the new TypeID
Returns:
The new TypeID

Definition at line 741 of file TypeID.cpp.

void unregAll  )  [static]
 

unregister all TypeIDs registered by name string

Definition at line 791 of file TypeID.cpp.

References TypeID::type.

void unregByName std::string  name  )  [static]
 

unregister a TypeID by it's name string

Definition at line 764 of file TypeID.cpp.

References TypeID::type.


Member Data Documentation

std::map< TypeID::ValueType, std::string > tStrings [static]
 

Map holding type descriptions.

Definition at line 37 of file TypeID.cpp.

ValueType type
 

Type of the value.

Definition at line 460 of file TypeID.hpp.

Referenced by CodeSmoother::CodeSmoother(), TypeID::isValid(), OneFreqCSDetector::OneFreqCSDetector(), TypeID::operator<(), TypeID::operator=(), TypeID::operator==(), TypeID::unregAll(), and TypeID::unregByName().

Initializer TypeIDsingleton [static]
 

Definition at line 474 of file TypeID.hpp.


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