-
Notifications
You must be signed in to change notification settings - Fork 0
/
moonpropagator.h
52 lines (44 loc) · 1.3 KB
/
moonpropagator.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/* Copyright (C) 2002 Edson Pereira, PU1JTE, N1VTN, 7N4NCL
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be
* useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; if not, download a copy
* from http://www.fsf.org
*
*
* Propagator algorithm derived from John A. Magliacane,
* KD2BD's Predict.
*
*/
#ifndef MOONPROPAGATOR_H
#define MOONPROPAGATOR_H
#include <math.h>
#include <constants.h>
class MoonPropagator
{
public:
MoonPropagator();
~MoonPropagator();
void propagate( double daynum );
double getAz();
double getEl();
double getLat();
double getLon();
void setObserver( double, double );
private:
double t1, t2, t3, ew, en, e, n, si, co, ra, gh,
lh, gm, de, se, gs, dc, el, az, mm, yr, ro, mr;
double stnlat, stnlon;
double daynum;
double riseTime, setTime;
double fixAngle( double x );
};
#endif