File Coverage

palsrc/palFk54z.c
Criterion Covered Total %
statement 0 6 0.0
branch n/a
condition n/a
subroutine n/a
pod n/a
total 0 6 0.0


line stmt bran cond sub pod time code
1             /*
2             *+
3             * Name:
4             * palFk54z
5              
6             * Purpose:
7             * Convert a J2000.0 FK5 star position to B1950.0 FK4 assuming
8             * zero proper motion and parallax.
9              
10             * Language:
11             * Starlink ANSI C
12              
13             * Type of Module:
14             * Library routine
15              
16             * Invocation:
17             * palFk54z( double r2000, double d2000, double bepoch, double *r1950,
18             * double *d1950, double *dr1950, double *dd1950 )
19              
20             * Arguments:
21             * r2000 = double (Given)
22             * J2000.0 FK5 RA (radians).
23             * d2000 = double (Given)
24             * J2000.0 FK5 Dec (radians).
25             * bepoch = double (Given)
26             * Besselian epoch (e.g. 1950.0).
27             * r1950 = double * (Returned)
28             * B1950 FK4 RA (radians) at epoch "bepoch".
29             * d1950 = double * (Returned)
30             * B1950 FK4 Dec (radians) at epoch "bepoch".
31             * dr1950 = double * (Returned)
32             * B1950 FK4 proper motion (RA) (radians/trop.yr)).
33             * dr1950 = double * (Returned)
34             * B1950 FK4 proper motion (Dec) (radians/trop.yr)).
35              
36             * Description:
37             * This function converts star positions from the IAU 1976,
38             * FK5, Fricke system to the Bessel-Newcomb, FK4 system.
39              
40             * Notes:
41             * - The proper motion in RA is dRA/dt rather than cos(Dec)*dRA/dt.
42             * - Conversion from Julian epoch 2000.0 to Besselian epoch 1950.0
43             * only is provided for. Conversions involving other epochs will
44             * require use of the appropriate precession functions before and
45             * after this function is called.
46             * - The FK5 proper motions, the parallax and the radial velocity
47             * are presumed zero.
48             * - It is the intention that FK5 should be a close approximation
49             * to an inertial frame, so that distant objects have zero proper
50             * motion; such objects have (in general) non-zero proper motion
51             * in FK4, and this function returns those fictitious proper
52             * motions.
53             * - The position returned by this function is in the B1950
54             * reference frame but at Besselian epoch BEPOCH. For comparison
55             * with catalogues the "bepoch" argument will frequently be 1950.0.
56              
57             * Authors:
58             * PTW: Pat Wallace (STFC)
59             * DSB: David Berry (JAC, Hawaii)
60             * {enter_new_authors_here}
61              
62             * History:
63             * 2012-02-13 (DSB):
64             * Initial version with documentation taken from Fortran SLA
65             * Adapted with permission from the Fortran SLALIB library.
66             * {enter_further_changes_here}
67              
68             * Copyright:
69             * Copyright (C) 1995 Rutherford Appleton Laboratory
70             * Copyright (C) 2012 Science and Technology Facilities Council.
71             * All Rights Reserved.
72              
73             * Licence:
74             * This program is free software: you can redistribute it and/or
75             * modify it under the terms of the GNU Lesser General Public
76             * License as published by the Free Software Foundation, either
77             * version 3 of the License, or (at your option) any later
78             * version.
79             *
80             * This program is distributed in the hope that it will be useful,
81             * but WITHOUT ANY WARRANTY; without even the implied warranty of
82             * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
83             * GNU Lesser General Public License for more details.
84             *
85             * You should have received a copy of the GNU Lesser General
86             * License along with this program. If not, see
87             * .
88              
89             * Bugs:
90             * {note_any_bugs_here}
91             *-
92             */
93              
94             #include "pal.h"
95             #include "pal1sofa.h"
96              
97 0           void palFk54z( double r2000, double d2000, double bepoch, double *r1950,
98             double *d1950, double *dr1950, double *dd1950 ){
99              
100             /* Local Variables: */
101             double r, d, px, rv, y;
102              
103             /* FK5 equinox J2000 (any epoch) to FK4 equinox B1950 epoch B1950. */
104 0           palFk524( r2000, d2000, 0.0, 0.0, 0.0, 0.0, &r, &d, dr1950, dd1950,
105             &px, &rv );
106              
107             /* Fictitious proper motion to epoch "bepoch". */
108 0           y = bepoch - 1950.0;
109 0           *r1950 = r + *dr1950*y;
110 0           *d1950 = d + *dd1950*y;
111              
112 0           }
113