96 double c1, c2, sphi, cphi, ce, xaeo, yaeo, zaeo, v[3],
97 xmhdo, ymhdo, zmhdo, az, sz, zdo, refa, refb, tz, dref,
98 zdt, xaet, yaet, zaet, xmhda, ymhda, zmhda,
99 f, xhd, yhd, zhd, xpl, ypl, w, hma;
113 if ( c ==
'r' || c ==
'R' ) {
115 }
else if ( c ==
'h' || c ==
'H' ) {
124 xaeo = - cos(c1) * ce;
131 if ( c ==
'R' ) c1 = astrom->
eral - c1;
140 xaeo = sphi*xmhdo - cphi*zmhdo;
142 zaeo = cphi*xmhdo + sphi*zmhdo;
146 az = ( xaeo != 0.0 || yaeo != 0.0 ) ? atan2(yaeo,xaeo) : 0.0;
149 sz = sqrt ( xaeo*xaeo + yaeo*yaeo );
150 zdo = atan2 ( sz, zaeo );
161 dref = ( refa + refb*tz*tz ) * tz;
171 xmhda = sphi*xaet + cphi*zaet;
173 zmhda = - cphi*xaet + sphi*zaet;
176 f = ( 1.0 + astrom->
diurab*ymhda );
178 yhd = f * ( ymhda - astrom->
diurab );
184 w = xpl*xhd - ypl*yhd + zhd;
187 v[2] = w - ( xpl*xpl + ypl*ypl ) * zhd;
void eraS2c(double theta, double phi, double c[3])
void eraC2s(double p[3], double *theta, double *phi)