FACT++  1.0
void palMapqkz ( double  rm,
double  dm,
double  amprms[21],
double *  ra,
double *  da 
)

Definition at line 97 of file palMapqkz.c.

References eraAnp(), eraC2s(), eraPdp(), eraRxp(), eraS2c(), and i.

Referenced by PointingModel::CalcPointingPos(), and t_mapqkz().

98  {
99 
100 /* Local Variables: */
101  int i;
102  double ab1, abv[3], p[3], w, p1dv, p1dvp1, p2[3], p3[3];
103 
104 /* Unpack scalar and vector parameters. */
105  ab1 = amprms[11];
106  for( i = 0; i < 3; i++ ) {
107  abv[i] = amprms[i+8];
108  }
109 
110 /* Spherical to x,y,z. */
111  eraS2c( rm, dm, p );
112 
113 /* Aberration. */
114  p1dv = eraPdp( p, abv );
115  p1dvp1 = p1dv + 1.0;
116  w = 1.0 + p1dv / ( ab1 + 1.0 );
117  for( i = 0; i < 3; i++ ) {
118  p2[i] = ( ( ab1 * p[i] ) + ( w * abv[i] ) ) / p1dvp1;
119  }
120 
121 /* Precession and nutation. */
122  eraRxp( (double(*)[3]) &amprms[12], p2, p3 );
123 
124 /* Geocentric apparent RA,dec. */
125  eraC2s( p3, ra, da );
126  *ra = eraAnp( *ra );
127 }
double eraPdp(double a[3], double b[3])
Definition: pdp.c:3
int i
Definition: db_dim_client.c:21
void eraS2c(double theta, double phi, double c[3])
Definition: s2c.c:3
double w
Definition: palObs.c:168
void eraC2s(double p[3], double *theta, double *phi)
Definition: c2s.c:3
void eraRxp(double r[3][3], double p[3], double rp[3])
Definition: rxp.c:3
double p
Definition: palObs.c:169
double eraAnp(double a)
Definition: anp.c:3

+ Here is the call graph for this function:

+ Here is the caller graph for this function: