SunPosition Class Reference
[Ephemeris calculations]

#include <SunPosition.hpp>

Collaboration diagram for SunPosition:

Collaboration graph
[legend]
List of all members.

Detailed Description

This class computes the approximate position of the Sun at the given epoch in the ECEF system.

It yields best results between March 1st 1900 and February 28th 2100.

This is a C++ implementation version based on the FORTRAN version originally written by P.T. Wallace, Starlink Project. The FORTRAN version of Starlink project was available under the GPL license.

Errors in position in the period 1950-2050 are:

More information may be found in http://starlink.jach.hawaii.edu/

Definition at line 66 of file SunPosition.hpp.

Public Member Functions

 SunPosition () throw ()
 Default constructor.
virtual ~SunPosition ()
 Destructor.
Triple getPosition (const DayTime &t) const throw (InvalidRequest)
 Returns the position of Sun ECEF coordinates (meters) at the indicated time.
Triple getPositionCIS (const DayTime &t) const throw (InvalidRequest)
 Function to compute Sun position in CIS system (coordinates in meters).
DayTime getInitialTime () const throw (InvalidRequest)
 Determine the earliest time for which this object can successfully determine the position for the Sun.
DayTime getFinalTime () const throw (InvalidRequest)
 Determine the latest time for which this object can successfully determine the position for the Sun.


Constructor & Destructor Documentation

SunPosition  )  throw () [inline]
 

Default constructor.

Definition at line 71 of file SunPosition.hpp.

virtual ~SunPosition  )  [inline, virtual]
 

Destructor.

Definition at line 74 of file SunPosition.hpp.


Member Function Documentation

DayTime getFinalTime  )  const throw (InvalidRequest) [inline]
 

Determine the latest time for which this object can successfully determine the position for the Sun.

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

Definition at line 123 of file SunPosition.hpp.

DayTime getInitialTime  )  const throw (InvalidRequest) [inline]
 

Determine the earliest time for which this object can successfully determine the position for the Sun.

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

Definition at line 112 of file SunPosition.hpp.

Triple getPosition const DayTime t  )  const throw (InvalidRequest)
 

Returns the position of Sun ECEF coordinates (meters) at the indicated time.

Parameters:
[in] t the time to look up
Returns:
the position of the Sun at time (as a Triple)
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.
Warning:
This method yields an approximate result, given that pole movement is not taken into account, neither precession nor nutation.

Definition at line 53 of file SunPosition.cpp.

References gpstk::CIS2CTS(), and GPSTK_THROW.

Referenced by SolidTides::getSolidTide(), EclipsedSatFilter::Process(), ComputeWindUp::Process(), and ComputeSatPCenter::Process().

Triple getPositionCIS const DayTime t  )  const throw (InvalidRequest)
 

Function to compute Sun position in CIS system (coordinates in meters).

Parameters:
t Epoch

Definition at line 80 of file SunPosition.cpp.

References gpstk::gamma(), GPSTK_THROW, gpstk::MeanEarthMoonBary(), Triple::theArray, and TWO_PI.


The documentation for this class was generated from the following files:
Generated on Wed Feb 8 03:31:42 2012 for GPS ToolKit Software Library by  doxygen 1.3.9.1