00001 #pragma ident "$Id: PoleTides.hpp 2741 2011-06-22 16:37:02Z nwu $"
00002
00008 #ifndef POLETIDES_HPP
00009 #define POLETIDES_HPP
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #include <cmath>
00035 #include <string>
00036
00037 #include "Triple.hpp"
00038 #include "Position.hpp"
00039 #include "DayTime.hpp"
00040 #include "icd_200_constants.hpp"
00041 #include "geometry.hpp"
00042
00043
00044
00045 namespace gpstk
00046 {
00047
00050
00078 class PoleTides
00079 {
00080 public:
00081
00083 PoleTides() : xdisp(0.0), ydisp(0.0) {};
00084
00085
00091 PoleTides( const double& x,
00092 const double& y )
00093 : xdisp(x), ydisp(y) {};
00094
00095
00113 Triple getPoleTide( const DayTime& t,
00114 const Position& p )
00115 throw(InvalidRequest);
00116
00117
00132 Triple getPoleTide( const DayTime& t,
00133 const Position& p,
00134 const double& x,
00135 const double& y )
00136 throw(InvalidRequest)
00137 { setXY(x,y); return (getPoleTide(t, p)); };
00138
00139
00147 PoleTides& setXY( const double& x,
00148 const double& y );
00149
00150
00152 double getX(void) const
00153 { return xdisp; };
00154
00155
00157 double getY(void) const
00158 { return ydisp; };
00159
00160
00162 virtual ~PoleTides() {};
00163
00164
00165 private:
00166
00167
00169 double xdisp;
00170
00171
00173 double ydisp;
00174
00175
00176 };
00177
00179
00180 }
00181 #endif // POLETIDES_HPP