My Project
 All Classes Files Functions Variables Enumerations Enumerator Friends Macros Pages
Astrometry.h
Go to the documentation of this file.
1 #ifndef GCP_UTIL_ASTROMETRY_H
2 #define GCP_UTIL_ASTROMETRY_H
3 
11 #include "gcp/util/common/Angle.h"
12 #include "gcp/util/common/HourAngle.h"
13 
14 namespace gcp {
15  namespace util {
16 
17  class QuadraticInterpolator;
18 
19  class Astrometry {
20  public:
21 
22  struct Date {
23  int year_;
24  int month_;
25  int day_;
26  int hour_;
27  int min_;
28  int sec_;
29  int nsec_;
30  };
31 
35  Astrometry();
36 
40  virtual ~Astrometry();
41 
48  void extendUt1Utc(double mjd, double ut1utc);
49 
57  void extendEqnEqx(double tt, double eqneqx);
58 
64  double getUt1Utc(double mjd);
65 
72  double getEqnEqx(double tt);
73 
78  bool canBracket(double mjdUtc);
79 
103  static HourAngle mjdUtcToLst(double mjdUtc, Angle longitude,
104  double ut1Utc, double eqnEqx);
105 
109  HourAngle mjdUtcToLst(double mjdUtc, Angle longitude);
110 
123  static double mjdUtcToMjdTt(double mjdUtc);
124  static Date mjdUtcToCalendarDate(double mjdUtc);
125 
126  private:
127 
128  static const double secondsPerDay_;
129  static const double pi_;
130  static const double twopi_;
131 
135  QuadraticInterpolator* ut1Utc_;
136 
140  QuadraticInterpolator* eqnEqx_;
141 
142  }; // End class Astrometry
143 
144  } // End namespace util
145 } // End namespace gcp
146 
147 
148 
149 
150 #endif // End #ifndef GCP_UTIL_ASTROMETRY_H
bool canBracket(double mjdUtc)
Definition: Astrometry.cc:121
Definition: Astrometry.h:22
Definition: QuadraticInterpolator.h:48
static HourAngle mjdUtcToLst(double mjdUtc, Angle longitude, double ut1Utc, double eqnEqx)
Definition: Astrometry.cc:148
double getEqnEqx(double tt)
Definition: Astrometry.cc:105
Definition: Astrometry.h:19
Definition: HourAngle.h:17
virtual ~Astrometry()
Definition: Astrometry.cc:46
Definition: Angle.h:20
void extendUt1Utc(double mjd, double ut1utc)
Definition: Astrometry.cc:65
void extendEqnEqx(double tt, double eqneqx)
Definition: Astrometry.cc:77
static double mjdUtcToMjdTt(double mjdUtc)
Definition: Astrometry.cc:196
double getUt1Utc(double mjd)
Definition: Astrometry.cc:87
Astrometry()
Definition: Astrometry.cc:34