| 
            Last change
 on this file since 2769 was             2643, checked in by cmv, 21 years ago           | 
        
        
          | 
             
update pour version 3.6.3 Xephem   cmv 17/01/04 
 
           | 
        
        
          | 
            File size:
            4.4 KB
           | 
        
      
      
| Rev | Line |   | 
|---|
| [1457] | 1 | #ifndef __SATLIB_H
 | 
|---|
 | 2 | #define __SATLIB_H
 | 
|---|
 | 3 | 
 | 
|---|
| [2643] | 4 | /* $Id: satlib.h,v 1.4 2005-01-17 10:13:07 cmv Exp $ */
 | 
|---|
| [1457] | 5 | 
 | 
|---|
 | 6 | typedef 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
 | 
|---|
 | 31 | struct 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 | 
 | 
|---|
 | 41 | struct 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 | 
 | 
|---|
 | 74 | struct 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 | 
 | 
|---|
 | 151 | struct 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 | 
 | 
|---|
 | 189 | typedef 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 | 
 | 
|---|
 | 198 | void sgp4(SatData *sat, Vec3 *pos, Vec3 *dpos, double t);
 | 
|---|
 | 199 | 
 | 
|---|
 | 200 | void sdp4(SatData *sat, Vec3 *pos, Vec3 *dpos, double TSINCE);
 | 
|---|
 | 201 | 
 | 
|---|
 | 202 | #endif /* __SATLIB_H */
 | 
|---|
 | 203 | 
 | 
|---|
 | 204 | /* For RCS Only -- Do Not Edit
 | 
|---|
| [2643] | 205 |  * @(#) $RCSfile: satlib.h,v $ $Date: 2005-01-17 10:13:07 $ $Revision: 1.4 $ $Name: not supported by cvs2svn $
 | 
|---|
| [1457] | 206 |  */
 | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.