51 const double OMEGATERRE = 6.28318530717958647693 / 86164.09054 ;
77 const double OMEGATERRE = 6.28318530717958647693 / 86164.09054 ;
90 ierr =
p2nutt( 2, greenwich, day, p, pd ) ;
124 double p[],
double pd[] )
126 const double PI = 3.14159265358979323846 ;
127 const double TWOPI = 6.28318530717958647693 ;
156 double t, ff, dd, dpsi, deps;
157 double ecl, cecl, secl, dnu, srang;
158 double sra, cra, snu, cnu, sde, cde;
159 double facsin[10],faccos[10];
165 facsin[1]=-0.8338601e-04;
166 facsin[2]=-0.6393238e-05;
167 facsin[3]=-0.1102466e-05;
168 facsin[4]=0.9996858e-06;
169 facsin[5]=0.6913443e-06;
170 facsin[6]=0.3451873e-06;
171 facsin[7]=-0.2506487e-06;
172 facsin[8]=-0.1871381e-06;
173 facsin[9]=-0.1459289e-06;
176 faccos[1]=0.4461498e-04;
177 faccos[2]=0.2780891e-05;
178 faccos[3]=0.4736630e-06;
179 faccos[4]=-0.4339082e-06;
180 faccos[5]=0.2617994e-07;
181 faccos[6]=-0.3393696e-08;
182 faccos[7]=0.1085983e-06;
183 faccos[8]=0.9696274e-07;
184 faccos[9]=0.6254096e-07;
190 ecl =
PI/180.e0*(23.e0 + (26.e0 + 21.4119e0/6.e1)/6.e1);
195 t = day-2451540. - 0.5 ;
198 arg[6] = fmod( 0.2355548394e+01 + t*( 0.2280271437e+00 + t* 0.1137830e-12 ),
TWOPI);
201 arg[5] = fmod( 0.6240035939e+01 + t*( 0.1720197005e-01 - t* 0.2096864e-14 ),
TWOPI);
204 ff = fmod( 0.1627901934e+01 + t*( 0.2308957196e+00 - t* 0.4817699e-13 ),
TWOPI);
207 dd = fmod( 0.5198469514e+01 + t*( 0.2127687104e+00 - t* 0.2504244e-13 ),
TWOPI);
211 arg[1] = fmod( 0.2182438624e+01 - t*( 0.9242175478e-03 - t* 0.2709206e-13 ),
TWOPI);
213 arg[3] = 2.e0*(ff + arg[1]);
214 arg[2] = arg[3] - 2.e0*dd ;
215 arg[4] = 2.e0*arg[1] ;
216 arg[7] = arg[5] + arg[2] ;
217 arg[8] = 2.e0*ff + arg[1] ;
218 arg[9] = arg[6] + arg[3] ;
222 for ( i=1 ; i<=9; i++ )
224 dpsi = dpsi + facsin[i] * sin(arg[i]);
225 deps = deps + faccos[i] * cos(arg[i]);
245 else if ( newcmb == 0)
249 else if ( newcmb == 1 )
254 else if ( newcmb == 2 )
257 srang = fmod(greenwich*
PI/180.e0,
TWOPI) ;
271 p[1] = cra*cnu - sra*sde*snu ;
272 p[2] = -sra*cnu - cra*sde*snu ;
277 p[7] = -cra*snu - sra*sde*cnu ;
278 p[8] = sra*snu - cra*sde*cnu ;
282 pd[1] = -sra*cnu - cra*sde*snu ;
283 pd[2] = -cra*cnu + sra*sde*snu ;
288 pd[7] = sra*snu - cra*sde*cnu ;
289 pd[8] = cra*snu + sra*sde*cnu ;
This class represent an ephemeris in Geographic coordinates system.
This class represents a date.
void set_position(double position[3])
int p2nutt(int newcmb, double greenwich, double day, double p[], double pd[])
double get_julianDate() const
void ToGalilean(GalileanEphemeris *vGal)
This fonction converts the current ephemeris in the Galilean coordinates system.
void set_speed(double speed[3])
void set_date(JSDDateTime date)
int AsGMSTDateTime(GMSTDateTime *GMST)
This function converts the current JSDDateTime into GMST Date.
void ToGeographic(GeographicEphemeris *vGeo)
This fonction converts the current ephemeris in the Geographic coordinates syst�m.
This class represents an ephemeris.
JulianDate get_day0hTU() const
void set_origine(Ori_TSM_Green origine)
~GalileanEphemeris()
Destructor.
GalileanEphemeris & operator=(const GalileanEphemeris &rhs)
Affectation operator.
GalileanEphemeris()
Constructor.
This class represents a date.
This class represents an ephemeris in Galilean coordinates system.