Correct for light-travel time. More...
Functions | |
| void | ae_light_t_orbit (double jd_tt, double o[], const struct ae_orbit_t *orb, double q[]) |
| Get the apparent position of an object, corrected for light-travel time. More... | |
| int | ae_light_t_jpl (struct ae_jpl_handle_t *jh, double jd_tt, double o[], int obj_num, double q[], double v_q[], char is_planetary) |
| Get the apparent position of an object, corrected for light-travel time. More... | |
| double | ae_light_t (double p[], double q[], int do_retardation) |
| Get light-travel time between two objects. More... | |
Correct for light-travel time.
| double ae_light_t | ( | double | p[], |
| double | q[], | ||
| int | do_retardation | ||
| ) |
Get light-travel time between two objects.
Given the position of two objects in heliocentric equatorial rectangular coordinates, returns the light-travel time between them. To correct for light-travel time, this should be done iteratively a couple of times. The routines ae_light_t_jpl() and ae_light_t_orbit() do this automatically.
This routine can approximate the effect due to the sun's gravitational retardation (AA, p. 36). However, it is usually a small effect. It will blow up if one of the objects is the sun.
| p | The first object, in heliocentric rectangular coordinates, in AU. |
| q | The second object, in heliocentric rectangular coordinates, in AU. |
| do_retardation | If 0, neglect gravitational retardation from the sun; otherwise, compute gravitational retardation from the sun. |
References AE_CLIGHT_AUD.
Referenced by ae_light_t_jpl(), ae_light_t_orbit(), and aes_subobs_point().
| int ae_light_t_jpl | ( | struct ae_jpl_handle_t * | jh, |
| double | jd_tt, | ||
| double | o[], | ||
| int | obj_num, | ||
| double | q[], | ||
| double | v_q[], | ||
| char | is_planetary | ||
| ) |
Get the apparent position of an object, corrected for light-travel time.
The routine does three iterations of light-time correction. Gravitational retardation from the sun is neglected. (However, it can be added if necessary by using ae_light_t() directly.)
This function uses JPL ephemerides. For orbital elements, use ae_light_t_orbit().
| jh | A handle initialised by ae_jpl_init(). |
| jd_tt | The Julian date in TT. |
| o | The heliocentric rectangular position of the earth, in AU. |
| obj_num | The object for which to get coordinates. If a planetary ephemeris file is being used, one can use the predefined ae_ss_bodies_t constants for clarity. |
| q | For returning the heliocentric rectangular position of the object in AU. |
| v_q | For returning the velocity of the object in AU. Set to NULL if you do not require the velocity. |
| is_planetary | If 0, assume these are not planetary ephemerides and barycentric coordinates are returned. Otherwise, it will be assumed that a Solar System ephemeris file is being used and that the object numbers are as in ae_ss_bodies_t; heliocentric coordinates will be returned. |
References ae_jpl_get_coords(), and ae_light_t().
Referenced by ae_geocentric_from_jpl().
| void ae_light_t_orbit | ( | double | jd_tt, |
| double | o[], | ||
| const struct ae_orbit_t * | orb, | ||
| double | q[] | ||
| ) |
Get the apparent position of an object, corrected for light-travel time.
The routine does three iterations of light-time correction. Gravitational retardation from the sun is neglected. (However, it can be added if necessary by using ae_light_t() directly.)
This routine uses orbital elements. For JPL ephemerides, use ae_light_t_jpl().
| jd_tt | The Julian date in TT. |
| o | The heliocentric rectangular position of the observer, in AU. |
| orb | The orbital elements of the object. |
| q | For returning the heliocentric rectangular position of the object in AU. |
References ae_kepler(), and ae_light_t().
Referenced by ae_geocentric_from_orbit().
| AEPHEM documentation generated by Doxygen v1.8.9.1 at Sat Aug 1 2015 15:02:46. |