#include <utl/MoonCycle.h>
Public Types | |
enum | LunationEpoch { eJan2000, eJan2004 } |
enum | LunationType { eNewMoon, eFirstQuarter, eFullMoon, eLastQuarter } |
Public Member Functions | |
long | GetFullMoonCycle (const LunationEpoch epoch=eJan2004) const |
Integer number of full moons since a start date (default = Jan 2004). More... | |
double | GetLunation (const LunationType type=eFullMoon, const LunationEpoch epoch=eJan2004) const |
MoonCycle (const TimeStamp &time) | |
Private Attributes | |
const TimeStamp | fTime |
Definition at line 18 of file MoonCycle.h.
Enumerator | |
---|---|
eJan2000 | |
eJan2004 |
Definition at line 20 of file MoonCycle.h.
Enumerator | |
---|---|
eNewMoon | |
eFirstQuarter | |
eFullMoon | |
eLastQuarter |
Definition at line 25 of file MoonCycle.h.
|
inline |
Definition at line 32 of file MoonCycle.h.
|
inline |
Integer number of full moons since a start date (default = Jan 2004).
Definition at line 40 of file MoonCycle.h.
References eFullMoon, and GetLunation().
Referenced by atm::AGOESSQLManager::GetDBResFundamental(), and atm::ACloudSQLManager::GetDBResFundamental().
double utl::MoonCycle::GetLunation | ( | const LunationType | type = eFullMoon , |
const LunationEpoch | epoch = eJan2004 |
||
) | const |
Decimal number of moon cycles (New, 1Q, Full, 3Q) since Jan 2000 or 2004. Worst case inaccuracy with respect to the true lunation is +/-14 hours.
Definition at line 15 of file MoonCycle.cc.
References eFirstQuarter, eFullMoon, eJan2000, eJan2004, eLastQuarter, eNewMoon, fTime, utl::kJ2000NewMoonMJD, utl::kMeanSynodicMonth, and utl::ModifiedJulianDate().
Referenced by GetFullMoonCycle().
|
private |
Definition at line 44 of file MoonCycle.h.
Referenced by GetLunation().