kstars
ksnumbers.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KSNUMBERS_H
00021 #define KSNUMBERS_H
00022
00023 #define NUTTERMS 63
00024
00025 #include "dms.h"
00026
00043 class KSNumbers {
00044 public:
00046 KSNumbers( long double jd );
00048 ~KSNumbers();
00049
00053 const dms* obliquity() const { return &Obliquity; }
00054
00056 dms constAberr() const { return K; }
00057
00059 dms sunMeanAnomaly() const { return M; }
00060
00062 dms sunMeanLongitude() const { return L; }
00063
00065 dms sunTrueAnomaly() const { return M0; }
00066
00068 dms sunTrueLongitude() const { return L0; }
00069
00071 dms earthPerihelionLongitude() const { return P; }
00072
00074 double earthEccentricity() const { return e; }
00075
00078 double dObliq() const { return deltaObliquity; }
00079
00082 double dEcLong() const { return deltaEcLong; }
00083
00085 double julianCenturies() const { return T; }
00086
00088 long double julianDay() const { return days; }
00089
00091 double julianMillenia() const { return jm; }
00092
00094 double p1( int i1, int i2 ) const { return P1[i1][i2]; }
00095
00097 double p2( int i1, int i2 ) const { return P2[i1][i2]; }
00098
00100 double p1b( int i1, int i2 ) const { return P1B[i1][i2]; }
00101
00103 double p2b( int i1, int i2 ) const { return P2B[i1][i2]; }
00104
00108 void updateValues( long double jd );
00109
00110 double vEarth(int i) const {return vearth[i];}
00111
00112 private:
00113 dms Obliquity, K, L, L0, LM, M, M0, O, P, D, MM, F;
00114 dms XP, YP, ZP, XB, YB, ZB;
00115 double CX, SX, CY, SY, CZ, SZ;
00116 double CXB, SXB, CYB, SYB, CZB, SZB;
00117 double P1[3][3], P2[3][3], P1B[3][3], P2B[3][3];
00118 double deltaObliquity, deltaEcLong;
00119 double e, T, TB;
00120 long double days;
00121 double jm;
00122 static const int arguments[NUTTERMS][5];
00123 static const int amp[NUTTERMS][4];
00124 double vearth[3];
00125 };
00126
00127 #endif