source: Sophya/trunk/SophyaExt/XephemAstroLib/satlib.h@ 3069

Last change on this file since 3069 was 2818, checked in by cmv, 20 years ago

Update de Xephem 3.7 cmv 21/08/2005

File size: 4.4 KB
Line 
1#ifndef __SATLIB_H
2#define __SATLIB_H
3
4/* $Id: satlib.h,v 1.5 2005-08-21 10:02:39 cmv Exp $ */
5
6typedef struct _SatElem {
7 float se_XMO;
8 float se_XNODEO;
9 float se_OMEGAO;
10 float se_EO;
11 float se_XINCL;
12 float se_XNDD60;
13 float se_BSTAR;
14 float pad1;
15 double se_XNO;
16 double se_XNDT20;
17 double se_EPOCH;
18 struct {
19 unsigned int catno : 21;
20 unsigned int classif : 5;
21 unsigned int elnum : 10;
22 unsigned int year : 14;
23 unsigned int launch : 10;
24 unsigned int piece : 15;
25 unsigned int ephtype : 4;
26 unsigned int orbit : 17;
27 } se_id;
28} SatElem;
29
30#if 0
31struct sat_loc {
32 double sl_X;
33 double sl_XDOT;
34 double sl_Y;
35 double sl_YDOT;
36 double sl_Z;
37 double sl_ZDOT;
38};
39#endif
40
41struct sgp4_data {
42 unsigned int sgp4_flags;
43 unsigned int pad;
44 double sgp4_AODP;
45 double sgp4_AYCOF;
46 double sgp4_C1;
47 double sgp4_C4;
48 double sgp4_C5;
49 double sgp4_COSIO;
50 double sgp4_D2;
51 double sgp4_D3;
52 double sgp4_D4;
53 double sgp4_DELMO;
54 double sgp4_ETA;
55 double sgp4_OMGCOF;
56 double sgp4_OMGDOT;
57 double sgp4_SINIO;
58 double sgp4_SINMO;
59 double sgp4_T2COF;
60 double sgp4_T3COF;
61 double sgp4_T4COF;
62 double sgp4_T5COF;
63 double sgp4_X1MTH2;
64 double sgp4_X3THM1;
65 double sgp4_X7THM1;
66 double sgp4_XLCOF;
67 double sgp4_XMCOF;
68 double sgp4_XMDOT;
69 double sgp4_XNODCF;
70 double sgp4_XNODOT;
71 double sgp4_XNODP;
72};
73
74struct deep_data {
75 struct {
76 unsigned int IRESFL : 1;
77 unsigned int ISYNFL : 1;
78 } deep_flags;
79 double deep_s_SINIQ;
80 double deep_s_COSIQ;
81 double deep_s_OMGDT;
82 double deep_ATIME;
83 double deep_D2201;
84 double deep_D2211;
85 double deep_D3210;
86 double deep_D3222;
87 double deep_D4410;
88 double deep_D4422;
89 double deep_D5220;
90 double deep_D5232;
91 double deep_D5421;
92 double deep_D5433;
93 double deep_DEL1;
94 double deep_DEL2;
95 double deep_DEL3;
96 double deep_E3;
97 double deep_EE2;
98 double deep_FASX2;
99 double deep_FASX4;
100 double deep_FASX6;
101 double deep_OMEGAQ;
102 double deep_PE;
103 double deep_PINC;
104 double deep_PL;
105 double deep_SAVTSN;
106 double deep_SE2;
107 double deep_SE3;
108 double deep_SGH2;
109 double deep_SGH3;
110 double deep_SGH4;
111 double deep_SGHL;
112 double deep_SGHS;
113 double deep_SH2;
114 double deep_SH3;
115 double deep_SHS;
116 double deep_SHL;
117 double deep_SI2;
118 double deep_SI3;
119 double deep_SL2;
120 double deep_SL3;
121 double deep_SL4;
122 double deep_SSE;
123 double deep_SSG;
124 double deep_SSH;
125 double deep_SSI;
126 double deep_SSL;
127 double deep_STEP2;
128 double deep_STEPN;
129 double deep_STEPP;
130 double deep_THGR;
131 double deep_XFACT;
132 double deep_XGH2;
133 double deep_XGH3;
134 double deep_XGH4;
135 double deep_XH2;
136 double deep_XH3;
137 double deep_XI2;
138 double deep_XI3;
139 double deep_XL2;
140 double deep_XL3;
141 double deep_XL4;
142 double deep_XLAMO;
143 double deep_XLI;
144 double deep_XNI;
145 double deep_XNQ;
146 double deep_XQNCL;
147 double deep_ZMOL;
148 double deep_ZMOS;
149};
150
151struct sdp4_data {
152 double sdp4_AODP; /* dpa */
153 double sdp4_AYCOF;
154 double sdp4_BETAO; /* dpa */
155 double sdp4_BETAO2; /* dpa */
156 double sdp4_C1;
157 double sdp4_C4;
158 double sdp4_COSG; /* dpa */
159 double sdp4_COSIO; /* dpa */
160 double sdp4_EOSQ; /* dpa */
161 double sdp4_OMGDOT; /* dpa */
162 double sdp4_SING; /* dpa */
163 double sdp4_SINIO; /* dpa */
164 double sdp4_T2COF;
165 double sdp4_THETA2; /* dpa */
166 double sdp4_X1MTH2;
167 double sdp4_X3THM1;
168 double sdp4_X7THM1;
169 double sdp4_XLCOF;
170 double sdp4_XMDOT; /* dpa */
171 double sdp4_XNODCF;
172 double sdp4_XNODOT; /* dpa */
173 double sdp4_XNODP; /* dpa */
174
175 double sdp4_XMDF_seco;
176 double sdp4_OMGADF_seco;
177 double sdp4_XNODE_seco;
178 double sdp4_EM_seco;
179 double sdp4_XINC_seco;
180 double sdp4_XN_seco;
181
182 double sdp4_E_pero;
183 double sdp4_XINC_pero;
184 double sdp4_OMGADF_pero;
185 double sdp4_XNODE_pero;
186 double sdp4_XMAM_pero;
187};
188
189typedef struct _SatData {
190 struct _SatElem *elem;
191 union {
192 struct sgp4_data *sgp4;
193 struct sdp4_data *sdp4;
194 } prop;
195 struct deep_data *deep;
196} SatData;
197
198void sgp4(SatData *sat, Vec3 *pos, Vec3 *dpos, double t);
199
200void sdp4(SatData *sat, Vec3 *pos, Vec3 *dpos, double TSINCE);
201
202#endif /* __SATLIB_H */
203
204/* For RCS Only -- Do Not Edit
205 * @(#) $RCSfile: satlib.h,v $ $Date: 2005-08-21 10:02:39 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $
206 */
Note: See TracBrowser for help on using the repository browser.