Go to the documentation of this file.
48 explicit CEDate(std::vector<double> date) ;
58 virtual void SetDate(std::vector<double> date) ;
64 virtual double JD()
const;
65 virtual double MJD()
const;
80 static double JD2MJD(
double jd);
83 static double MJD2JD(
double mjd);
86 static void UTC2UT1(
const double& mjd,
89 static void UTC2TT(
const double& mjd,
92 static void UTC2TDB(
const double& mjd,
101 static double dut1(
const double& date,
103 double dut1(
void)
const;
106 static double xpolar(
const double& date,
108 double xpolar(
void)
const;
109 static double ypolar(
const double& date,
111 double ypolar(
void)
const;
116 virtual double GetTime(
const double& utc_offset=0.0)
const;
126 operator double()
const;
static double GregorianVect2Gregorian(std::vector< double > gregorian)
Helper method for converting from Gregorian vector format to the non-vector format.
void init_members(void)
Initialize the data members.
virtual double GetTime_UTC() const
Method for getting the current UTC time.
double gregorian_date_
Gregorian calendar date. Format as YYYYMMDD.DD.
CEDate(double date=CurrentJD(), CEDateType date_format=CEDateType::JD)
Constructor from some date format.
double DayFraction()
Get the Gregorian calendar day fraction.
void copy_members(const CEDate &other)
Copy data members from another date object.
virtual double GetTime(const double &utc_offset=0.0) const
Method for getting the current time.
static std::vector< double > Gregorian2GregorianVect(double gregorian)
Helper method for converting from non-vector formatted Gregorian date to vector format Gregorian date...
double xpolar(void) const
Polar motion (x) for a given date.
static void UTC2TDB(const double &mjd, double *tdb1, double *tdb2)
Convert the UTC MJD to TDB JD (useful for planet computations)
static double Gregorian2JD(double gregorian)
Gregorian calendar date -> Julian date.
static double Gregorian2MJD(double gregorian)
Gregorian calendar formatted date -> Julian date converter.
void free_members(void)
Free data members.
double mod_julian_date_
Modified Julian date formated.
static double GregorianVect2JD(std::vector< double > gregorian)
Gregorian calendar vector formatted date -> Julian date converter.
static void UTC2UT1(const double &mjd, double *ut11, double *ut12)
Convert the UTC MJD to UT1 JD.
static std::vector< double > MJD2GregorianVect(double mjd)
Modified Julian date -> Gregorian calendar, vector formatted date.
double julian_date_
Julian date formated.
std::vector< double > gregorian_date_vect_
Vector containing the gregorian calendar date 0 - Year, 1 - Month, 2 - date, 3 - date fraction.
double ypolar(void) const
Polar motion (y) for a given date.
virtual ~CEDate()
Destructor.
static double GetMJD2JDFactor()
Gets the stored SOFA Julian date to Mod Julian date factor 'DJM0'.
static double GregorianVect2MJD(std::vector< double > gregorian)
Gregorian calendar vector formatted date -> Modified Julian date converter.
static std::vector< double > JD2GregorianVect(double jd)
Julian date -> modified Julian date conversion method.
double GetDate(CEDateType time_format=CEDateType::JD) const
Return the date in a given format.
Gregorian calendar (year, month, day)
static double CurrentJD()
Static method for getting the current Julian date.
int Day()
Get the Gregorian calendar day.
virtual void SetDate(const double &date=CurrentJD(), const CEDateType &time_format=CEDateType::JD)
Set the date based on an actual date and the desired time_format.
static double JD2Gregorian(const double jd)
Julian date -> Gregorian calendar date conversion method.
virtual double MJD() const
Get the Modified Julian date represented by this object.
CEDate & operator=(const CEDate &other)
Copy assignent operator.
virtual double GetSecondsSinceMidnight(const double &utc_offset=0.0)
Method for getting the number of seconds since midnight.
virtual std::vector< double > GregorianVect()
Get the Gregorian calendar date formatted as a vector.
virtual double Gregorian() const
Get the Gregorian calendar date formatted as a double.
void SetReturnType(CEDateType return_type)
Set the return type from the overloaded 'operator double'.
double dut1(void) const
Return dut1 based on the date represented by this object.
static void UTC2TT(const double &mjd, double *tt1, double *tt2)
Convert the UTC MJD to TT JD.
virtual double JD() const
Get the Julian date represented by this object.
CEDateType return_type_
what format the 'operator double' will return
static double MJD2JD(double mjd)
Modified Julian date -> Julian date conversion method.
int Year()
Get the Gregorian calendar year.
int Month()
Get the Gregorian calendar month.
static double JD2MJD(double jd)
Julian date -> modified Julian date conversion method.
static double MJD2Gregorian(double mjd)
Modified Julian date -> Gregorian calendar date conversion method.