#include <GPS.h>
Public Methods | |
| GPStime | time () const |
| GPS synchronized time for the satellite. More... | |
| double | lat () const |
| present latitude. More... | |
| double | lon () const |
| present longitude. More... | |
| double | pitch () const |
| present 'pitch' angle in N-S direction (roll around x-axis). More... | |
| double | yaw () const |
| present 'yaw' angle - (rotate around z-axis). More... | |
| double | roll () const |
| present 'roll' andle in E-W direction (roll around y-axis). More... | |
| double | phase () const |
| get the current phase of the orbit. More... | |
| const Orbit* | orbit () const |
| access to the orbit (for computation only). More... | |
| Coords | state () const |
| current state of the GPS system. More... | |
| double | expansion () const |
| expansion of the current orbit. More... | |
| GPStime | sampleintvl () const |
| sample interval for random orbit distribution. More... | |
| double | ascendingLon () const |
| return the orbit's ascending longitude. More... | |
| std::pair<double,double> | rotateAngles () |
| access m_rotangles. More... | |
| void | orbit ( Orbit* ) |
| set a specific Orbit object for lat/lon calculations. More... | |
| void | pass ( double ) |
| pass a specific amount of time. More... | |
| void | phase ( double ) |
| set the current phase of the orbit. More... | |
| void | expansion ( double ) |
| set the expansion factor for the orbit (-1) = random. More... | |
| void | synch () |
| synchronize w. scheduler. More... | |
| void | sampleintvl ( GPStime ) |
| set the sample interval. More... | |
| void | ascendingLon (double) |
| special to set the ascending longitude. More... | |
| void | rotateAngles (std::pair<double,double> coords) |
| set m_rotangles. More... | |
| void | printOn (std::ostream& out) const |
| print time & position. More... | |
| void | notifyObservers () |
| Subject& | notification () |
| std::pair<double,double> | galToGlast (std::pair<double,double> galcoords) |
| transformation fron galactic coordinates to GLAST coordinates. More... | |
Static Public Methods | |
| GPS* | instance () |
| void | kill () |
Protected Methods | |
| GPS () | |
| virtual | ~GPS () |
| void | pitch ( double ) |
| void | yaw ( double ) |
| void | roll ( double ) |
| void | lat ( double ) |
| void | lon ( double ) |
| void | time ( GPStime ) |
| Orbit* | orbit () |
| GPStime | orbittime () const |
| void | orbittime ( GPStime ) |
| void | setState ( const GPS::Coords& ) |
Protected Attributes | |
| std::pair<double,double> | m_rotangles |
Private Attributes | |
| Orbit* | m_orbit |
| double | m_expansion |
| GPStime | m_time |
| GPStime | m_orbittime |
| double | m_sampleintvl |
| Subject | m_notification |
Static Private Attributes | |
| GPS* | s_instance = 0 |
Friends | |
| class | FluxGenerator |
object is used to compute the spacecraft's position and pointing characteristics. Time is tracked through this object, and synchronized with the Scheduler for discrete event simulation. An expansion factor is provided to allow for acceleration or randomization of the orbit. If the expansion factor is negative, then the position of the spacecraft is chosen as a random distribution over an orbit. Otherwise, the expansion factor represents an acceleration of the spacecraft's orbit. Ie. an expansion factor of 2 would reduce the orbit period of the spacecraft by 1/2.
Definition at line 34 of file GPS.h.
|
|
Definition at line 44 of file GPS.cxx. Referenced by instance(). |
|
|
|
|
|
special to set the ascending longitude.
|
|
|
return the orbit's ascending longitude.
Definition at line 251 of file GPS.cxx. Referenced by FluxMgr::setGlastPosition(). |
|
|
set the expansion factor for the orbit (-1) = random.
|
|
|
expansion of the current orbit.
Definition at line 142 of file GPS.cxx. Referenced by FluxMgr::setExpansion(), and synch(). |
|
|
transformation fron galactic coordinates to GLAST coordinates.
Definition at line 265 of file GPS.cxx. Referenced by FluxSource::getGalacticDir(). |
|
|
Definition at line 204 of file GPS.cxx. Referenced by HeSpectrum::askGPS(), GalElSpectrum::askGPS(), CHIMESpectrum::askGPS(), AlbedoPSpectrum::askGPS(), TrappedProtonSpectrum::calculate_rate(), HeSpectrum::calculate_rate(), GalElSpectrum::calculate_rate(), CHIMESpectrum::calculate_rate(), AlbedoPSpectrum::calculate_rate(), FluxSource::getGalacticDir(), HeSpectrum::init(), GalElSpectrum::init(), CHIMESpectrum::init(), AlbedoPSpectrum::init(), FluxMgr::location(), FluxMgr::pass(), sampleintvl(), FluxMgr::setExpansion(), FluxMgr::setGlastAngles(), FluxMgr::setGlastPosition(), and FluxMgr::synch(). |
|
|
|
|
|
|
|
|
present latitude.
Definition at line 121 of file GPS.cxx. Referenced by galToGlast(), FluxMgr::location(), printOn(), and state(). |
|
|
|
|
|
present longitude.
Definition at line 126 of file GPS.cxx. Referenced by HeSpectrum::askGPS(), GalElSpectrum::askGPS(), CHIMESpectrum::askGPS(), AlbedoPSpectrum::askGPS(), TrappedProtonSpectrum::calculate_rate(), HeSpectrum::calculate_rate(), GalElSpectrum::calculate_rate(), CHIMESpectrum::calculate_rate(), galToGlast(), FluxMgr::location(), printOn(), and state(). |
|
|
Definition at line 108 of file GPS.h. Referenced by HeSpectrum::init(), GalElSpectrum::init(), CHIMESpectrum::init(), and AlbedoPSpectrum::init(). |
|
|
Definition at line 107 of file GPS.h. Referenced by synch(). |
|
|
|
|
|
set a specific Orbit object for lat/lon calculations.
|
|
|
access to the orbit (for computation only).
Definition at line 81 of file GPS.cxx. Referenced by lat(), lon(), phase(), pitch(), roll(), state(), synch(), and yaw(). |
|
|
|
|
|
Definition at line 223 of file GPS.cxx. Referenced by galToGlast(), lat(), lon(), phase(), pitch(), roll(), synch(), and yaw(). |
|
|
pass a specific amount of time.
Definition at line 155 of file GPS.cxx. Referenced by FluxMgr::pass(). |
|
|
set the current phase of the orbit.
|
|
|
get the current phase of the orbit.
|
|
|
|
|
|
present 'pitch' angle in N-S direction (roll around x-axis).
Definition at line 66 of file GPS.cxx. Referenced by state(). |
|
|
print time & position.
|
|
|
|
|
|
present 'roll' andle in E-W direction (roll around y-axis).
Definition at line 76 of file GPS.cxx. Referenced by state(). |
|
|
set m_rotangles.
|
|
|
access m_rotangles.
Definition at line 314 of file GPS.cxx. Referenced by FluxMgr::setGlastAngles(). |
|
|
set the sample interval.
|
|
|
sample interval for random orbit distribution.
|
|
|
|
|
|
current state of the GPS system.
|
|
|
synchronize w. scheduler.
Definition at line 91 of file GPS.cxx. Referenced by FluxMgr::synch(). |
|
|
|
|
|
GPS synchronized time for the satellite.
Definition at line 131 of file GPS.cxx. Referenced by pass(), phase(), printOn(), setState(), state(), and synch(). |
|
|
|
|
|
present 'yaw' angle - (rotate around z-axis).
Definition at line 71 of file GPS.cxx. Referenced by state(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.2.3 written by Dimitri van Heesch,
© 1997-2000