00001 #pragma ident "$Id: SunPosition.hpp 1161 2008-03-27 17:16:22Z ckiesch $"
00002
00009 #ifndef SUNPOSITION_HPP
00010 #define SUNPOSITION_HPP
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #include <cmath>
00036 #include <string>
00037
00038 #include "DayTime.hpp"
00039 #include "Triple.hpp"
00040 #include "icd_200_constants.hpp"
00041 #include "AstronomicalFunctions.hpp"
00042
00043
00044
00045 namespace gpstk
00046 {
00047
00050
00066 class SunPosition
00067 {
00068 public:
00069
00071 SunPosition() throw() {}
00072
00074 virtual ~SunPosition() {}
00075
00076
00092 Triple getPosition(const DayTime& t) const
00093 throw(InvalidRequest);
00094
00095
00101 Triple getPositionCIS(const DayTime& t) const
00102 throw(InvalidRequest);
00103
00104
00112 DayTime getInitialTime() const throw(InvalidRequest)
00113 { return initialTime; }
00114
00115
00123 DayTime getFinalTime() const throw(InvalidRequest)
00124 { return finalTime; }
00125
00126
00127 private:
00128
00130 static const DayTime initialTime;
00131
00133 static const DayTime finalTime;
00134
00135 };
00136
00137
00139
00140 }
00141 #endif // SUNPOSITION_HPP