List of all members | Public Types | Public Member Functions | Private Attributes
utl::MoonCycle Class Reference

#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
 

Detailed Description

Author
Segev BenZvi
Darko Veberic
Date
22 Jul 2009

Definition at line 18 of file MoonCycle.h.

Member Enumeration Documentation

Enumerator
eJan2000 
eJan2004 

Definition at line 20 of file MoonCycle.h.

Enumerator
eNewMoon 
eFirstQuarter 
eFullMoon 
eLastQuarter 

Definition at line 25 of file MoonCycle.h.

Constructor & Destructor Documentation

utl::MoonCycle::MoonCycle ( const TimeStamp time)
inline

Definition at line 32 of file MoonCycle.h.

Member Function Documentation

long utl::MoonCycle::GetFullMoonCycle ( const LunationEpoch  epoch = eJan2004) const
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().

Member Data Documentation

const TimeStamp utl::MoonCycle::fTime
private

Definition at line 44 of file MoonCycle.h.

Referenced by GetLunation().


The documentation for this class was generated from the following files:

, generated on Tue Sep 26 2023.