Main Page   Namespace List   Compound List   File List   Compound Members   File Members  

JulianDate.h

Go to the documentation of this file.
00001 
00002 #ifndef OrbitModel_JulianDate_H
00003 #define OrbitModel_JulianDate_H
00004 
00005 namespace astro {
00018 class JulianDate {
00019 public:
00020 
00027     JulianDate(int An,int Me,int Gio,double utc);
00028 
00030     JulianDate(double jd):m_JD(jd){}
00031 
00033     operator double()const{return m_JD;}
00034 
00035     double seconds()const{ return m_JD* secondsPerDay;}
00036 
00037     enum{ secondsPerDay = 60*60*24 };
00038     
00039 private:
00040     double m_JD;
00041 };
00042 
00043 inline JulianDate::JulianDate(int An,int Me,int Gio,double utc)
00044 {
00045     if (Me > 2);
00046     else {
00047         An = An - 1;
00048         Me = Me + 12;
00049     }
00050     int A = (An / 100); 
00051     int B = 2 - A + (A / 4);
00052     long int C = (long int)(365.25 * An); 
00053     if (An < 0) C = C - 1;
00054     int D = (int)(30.6001 * (Me + 1));
00055     m_JD = B + C + D + Gio + 1720994.5+ utc / 24.;
00056 }
00057 } // astro
00058 #endif

Generated on Wed Aug 14 10:09:35 2002 for astro by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001