File Coverage

palsrc/palEcmat.c
Criterion Covered Total %
statement 4 4 100.0
branch n/a
condition n/a
subroutine n/a
pod n/a
total 4 4 100.0


line stmt bran cond sub pod time code
1             /*
2             *+
3             * Name:
4             * palEcmat
5              
6             * Purpose:
7             * Form the equatorial to ecliptic rotation matrix - IAU 2006
8             * precession model.
9              
10             * Language:
11             * Starlink ANSI C
12              
13             * Type of Module:
14             * Library routine
15              
16             * Invocation:
17             * palEcmat( double date, double rmat[3][3] )
18              
19             * Arguments:
20             * date = double (Given)
21             * TT as Modified Julian Date (JD-2400000.5). The difference
22             * between TT and TDB is of the order of a millisecond or two
23             * (i.e. about 0.02 arc-seconds).
24             * rmat = double[3][3] (Returned)
25             * Rotation matrix
26              
27             * Description:
28             * The equatorial to ecliptic rotation matrix is found and returned.
29             * The matrix is in the sense V(ecl) = RMAT * V(equ); the
30             * equator, equinox and ecliptic are mean of date.
31              
32             * Authors:
33             * PTW: Pat Wallace (STFC)
34             * DSB: David Berry (JAC, Hawaii)
35             * {enter_new_authors_here}
36              
37             * History:
38             * 2012-02-10 (DSB):
39             * Initial version with documentation taken from Fortran SLA
40             * Adapted with permission from the Fortran SLALIB library.
41             * {enter_further_changes_here}
42              
43             * Copyright:
44             * Copyright (C) 1996 Rutherford Appleton Laboratory
45             * Copyright (C) 2012 Science and Technology Facilities Council.
46             * All Rights Reserved.
47              
48             * Licence:
49             * This program is free software: you can redistribute it and/or
50             * modify it under the terms of the GNU Lesser General Public
51             * License as published by the Free Software Foundation, either
52             * version 3 of the License, or (at your option) any later
53             * version.
54             *
55             * This program is distributed in the hope that it will be useful,
56             * but WITHOUT ANY WARRANTY; without even the implied warranty of
57             * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
58             * GNU Lesser General Public License for more details.
59             *
60             * You should have received a copy of the GNU Lesser General
61             * License along with this program. If not, see
62             * .
63              
64             * Bugs:
65             * {note_any_bugs_here}
66             *-
67             */
68              
69             #include "pal.h"
70             #include "palmac.h"
71             #include "pal1sofa.h"
72              
73 1           void palEcmat( double date, double rmat[3][3] ) {
74              
75             /* Mean obliquity (the angle between the ecliptic and mean equator of
76             date). */
77 1           double eps0 = eraObl06( PAL__MJD0, date );
78              
79             /* Matrix */
80 1           palDeuler( "X", eps0, 0.0, 0.0, rmat );
81              
82 1           }