FACT++  1.0
void eraLd ( double  bm,
double  p[3],
double  q[3],
double  e[3],
double  em,
double  dlim,
double  p1[3] 
)

Definition at line 3 of file ld.c.

References eraPdp(), eraPxp(), ERFA_GMAX, ERFA_SRS, and i.

Referenced by eraLdn(), eraLdsun(), and t_ld().

74 {
75  int i;
76  double qpe[3], qdqpe, w, eq[3], peq[3];
77 
78 /* q . (q + e). */
79  for (i = 0; i < 3; i++) {
80  qpe[i] = q[i] + e[i];
81  }
82  qdqpe = eraPdp(q, qpe);
83 
84 /* 2 x G x bm / ( em x c^2 x ( q . (q + e) ) ). */
85  w = bm * ERFA_SRS / em / ERFA_GMAX(qdqpe,dlim);
86 
87 /* p x (e x q). */
88  eraPxp(e, q, eq);
89  eraPxp(p, eq, peq);
90 
91 /* Apply the deflection. */
92  for (i = 0; i < 3; i++) {
93  p1[i] = p[i] + w*peq[i];
94  }
95 
96 /* Finished. */
97 
98 }
double eraPdp(double a[3], double b[3])
Definition: pdp.c:3
#define ERFA_SRS
Definition: erfam.h:122
#define ERFA_GMAX(A, B)
Definition: erfam.h:134
int i
Definition: db_dim_client.c:21
void eraPxp(double a[3], double b[3], double axb[3])
Definition: pxp.c:3

+ Here is the call graph for this function:

+ Here is the caller graph for this function: