Main Page
Class Categories
Classes
Namespaces
File List
File Members
exper-sw
cosmosw
AugerSW
Offline
source
main
Utilities
Time
MoonCycle.h
Go to the documentation of this file.
1
#ifndef _utl_MoonCycle_h_
2
#define _utl_MoonCycle_h_
3
4
#include <utl/TimeStamp.h>
5
6
7
namespace
utl {
8
18
class
MoonCycle
{
19
public
:
20
enum
LunationEpoch
{
21
eJan2000
,
22
eJan2004
23
};
24
25
enum
LunationType
{
26
eNewMoon
,
27
eFirstQuarter
,
28
eFullMoon
,
29
eLastQuarter
30
};
31
32
MoonCycle
(
const
TimeStamp
& time) :
fTime
(time) { }
33
36
double
GetLunation
(
const
LunationType
type =
eFullMoon
,
37
const
LunationEpoch
epoch =
eJan2004
)
const
;
38
40
long
GetFullMoonCycle
(
const
LunationEpoch
epoch =
eJan2004
)
const
41
{
return
GetLunation
(
eFullMoon
, epoch); }
42
43
private
:
44
const
TimeStamp
fTime
;
45
};
46
47
}
48
49
50
#endif
utl::MoonCycle::MoonCycle
MoonCycle(const TimeStamp &time)
Definition:
MoonCycle.h:32
utl::MoonCycle::fTime
const TimeStamp fTime
Definition:
MoonCycle.h:44
utl::MoonCycle::eNewMoon
Definition:
MoonCycle.h:26
utl::MoonCycle::LunationType
LunationType
Definition:
MoonCycle.h:25
utl::MoonCycle::eJan2000
Definition:
MoonCycle.h:21
utl::TimeStamp
A TimeStamp holds GPS second and nanosecond for some event.
Definition:
TimeStamp.h:110
utl::MoonCycle::GetFullMoonCycle
long GetFullMoonCycle(const LunationEpoch epoch=eJan2004) const
Integer number of full moons since a start date (default = Jan 2004).
Definition:
MoonCycle.h:40
utl::MoonCycle::LunationEpoch
LunationEpoch
Definition:
MoonCycle.h:20
utl::MoonCycle::eJan2004
Definition:
MoonCycle.h:22
utl::MoonCycle::eLastQuarter
Definition:
MoonCycle.h:29
utl::MoonCycle::GetLunation
double GetLunation(const LunationType type=eFullMoon, const LunationEpoch epoch=eJan2004) const
Definition:
MoonCycle.cc:15
utl::MoonCycle::eFullMoon
Definition:
MoonCycle.h:28
utl::MoonCycle
Definition:
MoonCycle.h:18
utl::MoonCycle::eFirstQuarter
Definition:
MoonCycle.h:27
, generated on Tue Sep 26 2023.