GalEphemerisStore Class Reference
[Ephemstore]

#include <GalEphemerisStore.hpp>

Inheritance diagram for GalEphemerisStore:

Inheritance graph
[legend]
Collaboration diagram for GalEphemerisStore:

Collaboration graph
[legend]
List of all members.

Detailed Description

Abstract base class for storing and accessing an objects position, velocity, and clock data.

Also defines a simple interface to remove data that has been added.

Definition at line 70 of file GalEphemerisStore.hpp.

Public Types

typedef std::map< CommonTime,
GalEphemeris
GalEphMap
 This is intended to just store sets of unique EngEphemerides for a single SV.

Public Member Functions

 GalEphemerisStore () throw ()
virtual ~GalEphemerisStore ()
virtual Xvt getXvt (const SatID &sat, const CommonTime &t) const throw ( InvalidRequest )
 Returns the position, velocity, and clock offset of the indicated satellite in ECEF coordinates (meters) at the indicated time.
virtual Xvt getXvt (const SatID &sat, const CommonTime &t, short &ref) const throw ( InvalidRequest )
 This returns the pvt of the sv in ecef coordinates (units m, s, m/s, s/s) 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 TimeSystem getTimeSystem (void) const throw ()
 Return time system (NB assumed always to be Galileo).
virtual CommonTime getInitialTime () const throw ()
 Determine the earliest time for which this object can successfully determine the Xvt for any satellite.
virtual CommonTime getFinalTime () const throw ()
 Determine the latest time for which this object can successfully determine the Xvt for any satellite.
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 &id) const throw ()
 Return true if the given SatID is present in the store TD correct?
short getSatHealth (const SatID &sat, const CommonTime &t) const throw ( InvalidRequest )
 Returns the health of an SV for a particular time.
bool addEphemeris (const GalEphemeris &eph) throw ()
 Add an GalEphemeris object to this collection.
void wiper (const CommonTime &t) throw ()
 Remove GalEphemeris objects older than t.
void clear () throw ()
 Remove all data from this collection.
unsigned ubeSize () const throw ()
 Get the number of GalEphemeris objects in this collection.
unsigned size () const throw ()
const GalEphemerisfindEphemeris (const SatID &sat, const CommonTime &t) const throw ( InvalidRequest )
 Find an ephemeris based upon the search method configured by SearchNear/SearchPast.
const GalEphemerisfindUserEphemeris (const SatID &sat, const CommonTime &t) const throw ( InvalidRequest )
 Find an ephemeris for the indicated satellite at time t.
const GalEphemerisfindNearEphemeris (const SatID &sat, const CommonTime &t) const throw ( InvalidRequest )
 Find an ephemeris for the indicated satellite at time t.
int addToList (std::list< GalEphemeris > &v) const throw ()
 Add all ephemerides to an existing list<GalEphemeris>.
void SearchNear (void) throw ()
 use findNearEphemeris() in the getSat...() routines
void SearchPast (void) throw ()
 use findEphemeris() in the getSat...() routines (the default)
bool getOnlyHealthyFlag (void) const
 Get flag that causes unhealthy ephemerides to be excluded.
void setOnlyHealthyFlag (bool flag)
 Set flag that causes unhealthy ephemerides to be excluded.
const GalEphMapgetEphMap (const SatID &sat) const throw ( InvalidRequest )
 Returns a map of the ephemerides available for the specified satellite.

Protected Types

typedef std::map< short, GalEphMapUBEMap
 This is intended to hold all unique EngEphemerides for each SV The key is the prn of the SV.

Protected Attributes

UBEMap ube
 The map where all EngEphemerides are stored.
CommonTime initialTime
CommonTime finalTime
bool strictMethod
 flag indicating search method (find...Eph) to use in getSatXvt and getSatHealth
bool onlyHealthy
 flag indicating ephemerides should be excluded if unhealthy; default false.


Member Typedef Documentation

typedef std::map<CommonTime, GalEphemeris> GalEphMap
 

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

The key is the Toe - 1/2 the fit interval.

Definition at line 259 of file GalEphemerisStore.hpp.

typedef std::map<short, GalEphMap> UBEMap [protected]
 

This is intended to hold all unique EngEphemerides for each SV The key is the prn of the SV.

Definition at line 272 of file GalEphemerisStore.hpp.


Constructor & Destructor Documentation

GalEphemerisStore  )  throw () [inline]
 

Definition at line 74 of file GalEphemerisStore.hpp.

virtual ~GalEphemerisStore  )  [inline, virtual]
 

Definition at line 82 of file GalEphemerisStore.hpp.


Member Function Documentation

bool addEphemeris const GalEphemeris eph  )  throw ()
 

Add an GalEphemeris object to this collection.

Parameters:
eph the GalEphemeris to add
Returns:
true if ephemeris was added, false otherwise

Definition at line 174 of file GalEphemerisStore.cpp.

References GalEphemeris::getTransmitTime().

int addToList std::list< GalEphemeris > &  v  )  const throw ()
 

Add all ephemerides to an existing list<GalEphemeris>.

Returns:
the number of ephemerides added.

Definition at line 400 of file GalEphemerisStore.cpp.

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

Remove all data from this collection.

Implements OrbElemStore.

Definition at line 187 of file GalEphemerisStore.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 128 of file GalEphemerisStore.cpp.

References GalEphemeris::getEpochTime(), and gpstk::printTime().

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:
tmin defines the beginning of the time interval
tmax defines the end of the time interval

Implements OrbElemStore.

Definition at line 230 of file GalEphemerisStore.cpp.

const GalEphemeris & findEphemeris const SatID sat,
const CommonTime t
const throw ( InvalidRequest )
 

Find an ephemeris based upon the search method configured by SearchNear/SearchPast.

Parameters:
sat SatID of satellite of interest
t time with which to search for ephemeris
Returns:
a reference to the desired ephemeris
Exceptions:
InvalidRequest object thrown when no ephemeris is found

Definition at line 95 of file GalEphemerisStore.cpp.

References GPSTK_RETHROW.

const GalEphemeris & findNearEphemeris const SatID sat,
const CommonTime t
const throw ( InvalidRequest )
 

Find an ephemeris for the indicated satellite at time t.

The ephemeris chosen is the one with HOW time closest to the time t, (i.e. with smallest fabs(t-HOW), but still within the fit interval.

Parameters:
sat the SV of interest
t the time of interest
Returns:
a reference to desired ephemeris
Exceptions:
InvalidRequest object thrown when no ephemeris is found

Definition at line 334 of file GalEphemerisStore.cpp.

References gpstk::StringUtils::asString(), GalEphemeris::getTransmitTime(), and GPSTK_THROW.

const GalEphemeris & findUserEphemeris const SatID sat,
const CommonTime t
const throw ( InvalidRequest )
 

Find an ephemeris for the indicated satellite at time t.

The ephemeris is chosen to be the one that 1) is within the fit interval for the given time of interest, and 2) is the last ephemeris transmitted before the time of interest (i.e. min(toi - HOW time)).

Parameters:
sat the SV of interest
t the time of interest
Returns:
a reference to the desired ephemeris
Exceptions:
InvalidRequest object thrown when no ephemeris is found

Definition at line 264 of file GalEphemerisStore.cpp.

References gpstk::StringUtils::asString(), GalEphemeris::getTransmitTime(), and GPSTK_THROW.

const GalEphemerisStore::GalEphMap & getEphMap const SatID sat  )  const throw ( InvalidRequest )
 

Returns a map of the ephemerides available for the specified satellite.

Note that the return is specifically chosen as a const reference. The intent is to provide "read only" access for analysis. If the map needs to be modified, see other methods.

Definition at line 421 of file GalEphemerisStore.cpp.

References gpstk::StringUtils::asString(), and GPSTK_THROW.

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

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

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

Implements OrbElemStore.

Definition at line 141 of file GalEphemerisStore.hpp.

Referenced by Rinex3EphemerisStore::getFinalTime().

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

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

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

Implements OrbElemStore.

Definition at line 132 of file GalEphemerisStore.hpp.

Referenced by Rinex3EphemerisStore::getInitialTime().

bool getOnlyHealthyFlag void   )  const [inline]
 

Get flag that causes unhealthy ephemerides to be excluded.

Definition at line 250 of file GalEphemerisStore.hpp.

short getSatHealth const SatID sat,
const CommonTime t
const throw ( 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 matching ephemeris found in the store

Definition at line 110 of file GalEphemerisStore.cpp.

References GalEphemeris::getHealth(), and GPSTK_RETHROW.

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

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

Implements XvtStore< SatID >.

Definition at line 125 of file GalEphemerisStore.hpp.

Xvt getXvt const SatID sat,
const CommonTime t,
short &  ref
const throw ( InvalidRequest ) [virtual]
 

This returns the pvt of the sv in ecef coordinates (units m, s, m/s, s/s) at the indicated time.

Parameters:
sat the satellite's SatID
t the time to look up
ref a place to return the IODC for future reference.
Returns:
the Xvt of the SV at time t

Definition at line 72 of file GalEphemerisStore.cpp.

References GPSTK_RETHROW, and GalEphemeris::svXvt().

Xvt getXvt const SatID sat,
const CommonTime t
const throw ( InvalidRequest ) [virtual]
 

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

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

Implements OrbElemStore.

Definition at line 63 of file GalEphemerisStore.cpp.

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

Return true if velocity data is present in the store.

Implements OrbElemStore.

Definition at line 150 of file GalEphemerisStore.hpp.

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

Return true if the given SatID is present in the store TD correct?

Implements OrbElemStore.

Definition at line 155 of file GalEphemerisStore.hpp.

void SearchNear void   )  throw () [inline]
 

use findNearEphemeris() in the getSat...() routines

Definition at line 240 of file GalEphemerisStore.hpp.

void SearchPast void   )  throw () [inline]
 

use findEphemeris() in the getSat...() routines (the default)

Definition at line 245 of file GalEphemerisStore.hpp.

void setOnlyHealthyFlag bool  flag  )  [inline]
 

Set flag that causes unhealthy ephemerides to be excluded.

Definition at line 254 of file GalEphemerisStore.hpp.

unsigned size void   )  const throw () [inline]
 

Definition at line 200 of file GalEphemerisStore.hpp.

Referenced by Rinex3EphemerisStore::getFinalTime(), and Rinex3EphemerisStore::getInitialTime().

unsigned ubeSize  )  const throw ()
 

Get the number of GalEphemeris objects in this collection.

Returns:
the number of GalEphemeris records in the map

Definition at line 252 of file GalEphemerisStore.cpp.

References GalEphemerisStore::ube.

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

Implements OrbElemStore.

Definition at line 145 of file GalEphemerisStore.hpp.

void wiper const CommonTime t  )  throw () [inline]
 

Remove GalEphemeris objects older than t.

Parameters:
t remove GalEphemeris objects older than this

Definition at line 182 of file GalEphemerisStore.hpp.


Member Data Documentation

CommonTime finalTime [protected]
 

Definition at line 278 of file GalEphemerisStore.hpp.

CommonTime initialTime [protected]
 

Definition at line 277 of file GalEphemerisStore.hpp.

bool onlyHealthy [protected]
 

flag indicating ephemerides should be excluded if unhealthy; default false.

Definition at line 285 of file GalEphemerisStore.hpp.

bool strictMethod [protected]
 

flag indicating search method (find...Eph) to use in getSatXvt and getSatHealth

Definition at line 282 of file GalEphemerisStore.hpp.

UBEMap ube [protected]
 

The map where all EngEphemerides are stored.

Definition at line 275 of file GalEphemerisStore.hpp.

Referenced by GalEphemerisStore::ubeSize().


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