GPSAlmanacStore Class Reference
[Ephemstore]

#include <GPSAlmanacStore.hpp>

Inheritance diagram for GPSAlmanacStore:

Inheritance graph
[legend]
Collaboration diagram for GPSAlmanacStore:

Collaboration graph
[legend]
List of all members.

Detailed Description

Store GPS almanac information (i.e.

like the data in subframes 4&5) and compute satellite Xvt based upon this data and the algorithms defined in the IS-GPS-200.

Definition at line 66 of file GPSAlmanacStore.hpp.

Public Member Functions

 GPSAlmanacStore () throw ()
virtual ~GPSAlmanacStore ()
virtual Xvt getXvt (const SatID &id, const CommonTime &t) const throw ( gpstk::InvalidRequest )
 Returns the position, velocity, and clock offset of the indicated object in ECEF coordinates (meters) at the indicated time.
virtual Xvt getXvtMostRecentXmit (const SatID id, const CommonTime &t) const throw ( gpstk::InvalidRequest )
 Returns the position, velocity, and clock offset of the indicated object in ECEF coordinates (meters) at the indicated time.
virtual void dump (std::ostream &s=std::cout, short detail=0) const throw ()
 A debugging function that outputs in human readable form, all data stored in this object.
virtual void edit (const CommonTime &tmin, const CommonTime &tmax=CommonTime::END_OF_TIME) throw ()
 Edit the dataset, removing data outside the indicated time interval.
virtual void clear (void) throw ()
 Clear the dataset, meaning remove all data.
virtual TimeSystem getTimeSystem (void) const throw ()
 Return time system (NB assumed always to be GPS).
virtual CommonTime getInitialTime () const throw ()
 Determine the earliest time for which this object can successfully determine the Xvt for any object.
virtual CommonTime getFinalTime () const throw ()
 Determine the latest time for which this object can successfully determine the Xvt for any object.
virtual bool velocityIsPresent () const throw ()
virtual bool hasVelocity () const throw ()
 Return true if velocity data is present in the store.
virtual bool isPresent (const SatID &sat) const throw ()
 Return true if the given SatID is present in the store.
short getSatHealth (const SatID sat, const CommonTime &t) const throw ( gpstk::InvalidRequest)
 Returns the health of an SV for a particular time.
bool addAlmanac (const AlmOrbit &alm) throw ()
bool addAlmanac (const EngAlmanac &alm) throw ()
AlmOrbit findAlmanac (const SatID sat, const CommonTime &t) const throw ( gpstk::InvalidRequest )
 gets the closest almanac for the given time and satellite, closest being in the past or future.
AlmOrbit findMostRecentAlmanac (const SatID sat, const CommonTime &t) const throw ( gpstk::InvalidRequest )
 gets the most recent almanac for the given time and satellite id, most recent meaning it must have a transmit time before the specified time.
AlmOrbits findAlmanacs (const CommonTime &t) const throw ( gpstk::InvalidRequest )
 returns all almanacs closest to t for all satellites

Protected Types

typedef std::map< CommonTime,
AlmOrbit
EngAlmMap
 This is intended to just store weekly sets of unique EngAlmanacs for a single SV.
typedef std::map< SatID, EngAlmMapUBAMap
 This is intended to hold all unique EngEphemerises for each SV The key is the SatID of the SV.

Protected Attributes

UBAMap uba
 The map where all EngAlmanacs are stored.
CommonTime initialTime
CommonTime finalTime


Member Typedef Documentation

typedef std::map<CommonTime, AlmOrbit> EngAlmMap [protected]
 

This is intended to just store weekly sets of unique EngAlmanacs for a single SV.

The key is ToA

Definition at line 203 of file GPSAlmanacStore.hpp.

typedef std::map<SatID, EngAlmMap> UBAMap [protected]
 

This is intended to hold all unique EngEphemerises for each SV The key is the SatID of the SV.

Definition at line 207 of file GPSAlmanacStore.hpp.


Constructor & Destructor Documentation

GPSAlmanacStore  )  throw () [inline]
 

Definition at line 70 of file GPSAlmanacStore.hpp.

virtual ~GPSAlmanacStore  )  [inline, virtual]
 

Definition at line 76 of file GPSAlmanacStore.hpp.


Member Function Documentation

bool addAlmanac const EngAlmanac alm  )  throw ()
 

Definition at line 91 of file GPSAlmanacStore.cpp.

References gpstk::AlmOrbits.

bool addAlmanac const AlmOrbit alm  )  throw ()
 

Definition at line 73 of file GPSAlmanacStore.cpp.

References AlmOrbit::getToaTime().

virtual void clear void   )  throw () [inline, virtual]
 

Clear the dataset, meaning remove all data.

Implements OrbElemStore.

Definition at line 124 of file GPSAlmanacStore.hpp.

void dump std::ostream &  s = std::cout,
short  detail = 0
const throw () [virtual]
 

A debugging function that outputs in human readable form, all data stored in this object.

Parameters:
[in] s the stream to receive the output; defaults to cout
[in] detail the level of detail to provide

Reimplemented from OrbElemStore.

Definition at line 217 of file GPSAlmanacStore.cpp.

References AlmOrbit::dump().

void edit const CommonTime tmin,
const CommonTime tmax = CommonTime::END_OF_TIME
throw () [virtual]
 

Edit the dataset, removing data outside the indicated time interval.

Parameters:
[in] tmin defines the beginning of the time interval
[in] tmax defines the end of the time interval

Implements OrbElemStore.

Definition at line 210 of file GPSAlmanacStore.cpp.

AlmOrbit findAlmanac const SatID  sat,
const CommonTime t
const throw ( gpstk::InvalidRequest )
 

gets the closest almanac for the given time and satellite, closest being in the past or future.

Parameters:
sat the satellite's SatID
t the time of interest

Definition at line 103 of file GPSAlmanacStore.cpp.

References GPSTK_THROW.

AlmOrbits findAlmanacs const CommonTime t  )  const throw ( gpstk::InvalidRequest )
 

returns all almanacs closest to t for all satellites

who cares about exceptions - the map will be empty if there are no alms...

Definition at line 187 of file GPSAlmanacStore.cpp.

References gpstk::AlmOrbits.

AlmOrbit findMostRecentAlmanac const SatID  sat,
const CommonTime t
const throw ( gpstk::InvalidRequest )
 

gets the most recent almanac for the given time and satellite id, most recent meaning it must have a transmit time before the specified time.

Parameters:
sat the satellite's SatID
t the time of interest

Definition at line 149 of file GPSAlmanacStore.cpp.

References GPSTK_THROW.

virtual CommonTime getFinalTime  )  const throw () [inline, virtual]
 

Determine the latest time for which this object can successfully determine the Xvt for any object.

Returns:
The final time
Exceptions:
InvalidRequest This is thrown if the object has no data.

Implements OrbElemStore.

Definition at line 144 of file GPSAlmanacStore.hpp.

virtual CommonTime getInitialTime  )  const throw () [inline, virtual]
 

Determine the earliest time for which this object can successfully determine the Xvt for any object.

Returns:
The initial time
Exceptions:
InvalidRequest This is thrown if the object has no data.

Implements OrbElemStore.

Definition at line 135 of file GPSAlmanacStore.hpp.

short getSatHealth const SatID  sat,
const CommonTime t
const throw ( gpstk::InvalidRequest)
 

Returns the health of an SV for a particular time.

Parameters:
sat the satellite's SatID
t the time to look up
Returns:
the SV health bits
Exceptions:
InvalidRequest no data found in store

Definition at line 66 of file GPSAlmanacStore.cpp.

References AlmOrbit::getSVHealth().

virtual TimeSystem getTimeSystem void   )  const throw () [inline, virtual]
 

Return time system (NB assumed always to be GPS).

Implements XvtStore< SatID >.

Definition at line 128 of file GPSAlmanacStore.hpp.

Xvt getXvt const SatID id,
const CommonTime t
const throw ( gpstk::InvalidRequest ) [virtual]
 

Returns the position, velocity, and clock offset of the indicated object in ECEF coordinates (meters) at the indicated time.

Parameters:
[in] id the object's identifier
[in] t the time to look up
Returns:
the Xvt of the object at the indicated time
Exceptions:
InvalidRequest If the request can not be completed for any reason, this is thrown. The text may have additional information as to why the request failed.

Implements OrbElemStore.

Definition at line 52 of file GPSAlmanacStore.cpp.

References AlmOrbit::svXvt().

Xvt getXvtMostRecentXmit const SatID  id,
const CommonTime t
const throw ( gpstk::InvalidRequest ) [virtual]
 

Returns the position, velocity, and clock offset of the indicated object in ECEF coordinates (meters) at the indicated time.

It differs from getXvt in that it uses a different search algorithm - It will use the most recently received almanac information, thereby imitating what a receiver would be doing in real-time. If there is no almanac data for that object prior to the requested time, InvalidRequest will be thrown.

Parameters:
[in] id the object's identifier
[in] t the time to look up
Returns:
the Xvt of the object at the indicated time
Exceptions:
InvalidRequest If the request can not be completed for any reason, this is thrown. The text may have additional information as to why the request failed.

Definition at line 59 of file GPSAlmanacStore.cpp.

References AlmOrbit::svXvt().

virtual bool hasVelocity  )  const throw () [inline, virtual]
 

Return true if velocity data is present in the store.

Implements OrbElemStore.

Definition at line 153 of file GPSAlmanacStore.hpp.

virtual bool isPresent const SatID sat  )  const throw () [inline, virtual]
 

Return true if the given SatID is present in the store.

Implements OrbElemStore.

Definition at line 157 of file GPSAlmanacStore.hpp.

virtual bool velocityIsPresent  )  const throw () [inline, virtual]
 

Implements OrbElemStore.

Definition at line 148 of file GPSAlmanacStore.hpp.


Member Data Documentation

CommonTime finalTime [protected]
 

Definition at line 213 of file GPSAlmanacStore.hpp.

CommonTime initialTime [protected]
 

Definition at line 212 of file GPSAlmanacStore.hpp.

UBAMap uba [protected]
 

The map where all EngAlmanacs are stored.

Definition at line 210 of file GPSAlmanacStore.hpp.


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