FACT++  1.0
void eraPvtob ( double  elong,
double  phi,
double  hm,
double  xp,
double  yp,
double  sp,
double  theta,
double  pv[2][3] 
)

Definition at line 3 of file pvtob.c.

References eraGd2gc(), eraPom00(), eraTrxp(), ERFA_D2PI, and ERFA_DAYSEC.

Referenced by eraApco(), eraApio(), and t_pvtob().

67 {
68 /* Earth rotation rate in radians per UT1 second */
69  const double OM = 1.00273781191135448 * ERFA_D2PI / ERFA_DAYSEC;
70 
71  double xyzm[3], rpm[3][3], xyz[3], x, y, z, s, c;
72 
73 /* Geodetic to geocentric transformation (ERFA_WGS84). */
74  (void) eraGd2gc(1, elong, phi, hm, xyzm);
75 
76 /* Polar motion and TIO position. */
77  eraPom00(xp, yp, sp, rpm);
78  eraTrxp(rpm, xyzm, xyz);
79  x = xyz[0];
80  y = xyz[1];
81  z = xyz[2];
82 
83 /* Functions of ERA. */
84  s = sin(theta);
85  c = cos(theta);
86 
87 /* Position. */
88  pv[0][0] = c*x - s*y;
89  pv[0][1] = s*x + c*y;
90  pv[0][2] = z;
91 
92 /* Velocity. */
93  pv[1][0] = OM * ( -s*x - c*y );
94  pv[1][1] = OM * ( c*x - s*y );
95  pv[1][2] = 0.0;
96 
97 /* Finished. */
98 
99 }
int eraGd2gc(int n, double elong, double phi, double height, double xyz[3])
Definition: gd2gc.c:3
#define ERFA_DAYSEC
Definition: erfam.h:75
void eraPom00(double xp, double yp, double sp, double rpom[3][3])
Definition: pom00.c:3
#define ERFA_D2PI
Definition: erfam.h:48
void eraTrxp(double r[3][3], double p[3], double trp[3])
Definition: trxp.c:3

+ Here is the call graph for this function:

+ Here is the caller graph for this function: