/[PAMELA software]/yodaUtility/sgp4/cNoradSDP4.h
ViewVC logotype

Contents of /yodaUtility/sgp4/cNoradSDP4.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download)
Sun Apr 30 11:08:15 2006 UTC (18 years, 7 months ago) by kusanagi
Branch point for: MAIN
File MIME type: text/plain
Initial revision

1 //
2 // cNoradSDP4.h
3 //
4 // This class implements the NORAD Simple Deep Perturbation 4 orbit
5 // model. This model provides the ECI coordinates/velocity of satellites
6 // with periods >= 225 minutes.
7 //
8 // Copyright (c) 2003 Michael F. Henry
9 //
10 #pragma once
11
12 #include "cNoradBase.h"
13
14 class cOrbit;
15
16 //////////////////////////////////////////////////////////////////////////////
17 class cNoradSDP4 : public cNoradBase
18 {
19 public:
20 cNoradSDP4(const cOrbit &orbit);
21 ~cNoradSDP4(void);
22
23 virtual bool getPosition(double tsince, cEci &eci);
24
25 protected:
26 bool DeepInit(double *eosq, double *sinio, double *cosio, double *m_betao,
27 double *m_aodp, double *m_theta2, double *m_sing, double *m_cosg,
28 double *m_betao2,double *xmdot, double *omgdot, double *xnodott);
29
30 bool DeepSecular(double *xmdf, double *omgadf,double *xnode, double *emm,
31 double *xincc, double *xnn, double *tsince);
32 bool DeepCalcDotTerms (double *pxndot, double *pxnddt, double *pxldot);
33 void DeepCalcIntegrator(double *pxndot, double *pxnddt, double *pxldot,
34 const double &delt);
35 bool DeepPeriodics(double *e, double *xincc, double *omgadf,
36 double *xnode, double *xmam);
37 double m_sing;
38 double m_cosg;
39
40 // Deep Initialization
41 double eqsq; double siniq; double cosiq; double rteqsq; double ao;
42 double cosq2; double sinomo; double cosomo; double bsq; double xlldot;
43 double omgdt; double xnodot;
44
45 // Deep Secular, Periodic
46 double xll; double omgasm; double xnodes; double _em;
47 double xinc; double xn; double t;
48
49 // Variables shared by "Deep" routines
50 double dp_e3; double dp_ee2; double dp_savtsn; double dp_se2;
51 double dp_se3; double dp_sgh2; double dp_sgh3; double dp_sgh4;
52 double dp_sghs; double dp_sh2; double dp_sh3; double dp_si2;
53 double dp_si3; double dp_sl2; double dp_sl3; double dp_sl4;
54 double dp_xgh2; double dp_xgh3; double dp_xgh4; double dp_xh2;
55 double dp_xh3; double dp_xi2; double dp_xi3; double dp_xl2;
56 double dp_xl3; double dp_xl4; double dp_xqncl; double dp_zmol;
57 double dp_zmos;
58
59 double dp_atime; double dp_d2201; double dp_d2211; double dp_d3210;
60 double dp_d3222; double dp_d4410; double dp_d4422; double dp_d5220;
61 double dp_d5232; double dp_d5421; double dp_d5433; double dp_del1;
62 double dp_del2; double dp_del3; double dp_fasx2; double dp_fasx4;
63 double dp_fasx6; double dp_omegaq; double dp_sse; double dp_ssg;
64 double dp_ssh; double dp_ssi; double dp_ssl; double dp_step2;
65 double dp_stepn; double dp_stepp; double dp_thgr; double dp_xfact;
66 double dp_xlamo; double dp_xli; double dp_xni;
67
68 bool dp_iresfl;
69 bool dp_isynfl;
70
71 // DeepInit vars that change with epoch
72 double dpi_c; double dpi_ctem; double dpi_day; double dpi_gam;
73 double dpi_stem; double dpi_xnodce; double dpi_zcosgl; double dpi_zcoshl;
74 double dpi_zcosil; double dpi_zsingl; double dpi_zsinhl; double dpi_zsinil;
75 double dpi_zx; double dpi_zy;
76
77 };
78

  ViewVC Help
Powered by ViewVC 1.1.23