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

Annotation of /yodaUtility/sgp4/cNoradSDP4.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide 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 kusanagi 1.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