summaryrefslogtreecommitdiffstats
path: root/ast/pal/palDtps2c.c
diff options
context:
space:
mode:
Diffstat (limited to 'ast/pal/palDtps2c.c')
-rw-r--r--ast/pal/palDtps2c.c151
1 files changed, 0 insertions, 151 deletions
diff --git a/ast/pal/palDtps2c.c b/ast/pal/palDtps2c.c
deleted file mode 100644
index ecb3090..0000000
--- a/ast/pal/palDtps2c.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
-*+
-* Name:
-* palDtps2c
-
-* Purpose:
-* Determine RA,Dec of tangent point from coordinates
-
-* Language:
-* Starlink ANSI C
-
-* Type of Module:
-* Library routine
-
-* Invocation:
-* palDtps2c( double xi, double eta, double ra, double dec,
-* double * raz1, double decz1,
-* double * raz2, double decz2, int *n);
-
-* Arguments:
-* xi = double (Given)
-* First rectangular coordinate on tangent plane (radians)
-* eta = double (Given)
-* Second rectangular coordinate on tangent plane (radians)
-* ra = double (Given)
-* RA spherical coordinate of star (radians)
-* dec = double (Given)
-* Dec spherical coordinate of star (radians)
-* raz1 = double * (Returned)
-* RA spherical coordinate of tangent point, solution 1 (radians)
-* decz1 = double * (Returned)
-* Dec spherical coordinate of tangent point, solution 1 (radians)
-* raz2 = double * (Returned)
-* RA spherical coordinate of tangent point, solution 2 (radians)
-* decz2 = double * (Returned)
-* Dec spherical coordinate of tangent point, solution 2 (radians)
-* n = int * (Returned)
-* number of solutions: 0 = no solutions returned (note 2)
-* 1 = only the first solution is useful (note 3)
-* 2 = both solutions are useful (note 3)
-
-
-* Description:
-* From the tangent plane coordinates of a star of known RA,Dec,
-* determine the RA,Dec of the tangent point.
-
-* Authors:
-* PTW: Pat Wallace (STFC)
-* TIMJ: Tim Jenness (JAC, Hawaii)
-* {enter_new_authors_here}
-
-* Notes:
-* - The RAZ1 and RAZ2 values are returned in the range 0-2pi.
-* - Cases where there is no solution can only arise near the poles.
-* For example, it is clearly impossible for a star at the pole
-* itself to have a non-zero XI value, and hence it is
-* meaningless to ask where the tangent point would have to be
-* to bring about this combination of XI and DEC.
-* - Also near the poles, cases can arise where there are two useful
-* solutions. The argument N indicates whether the second of the
-* two solutions returned is useful. N=1 indicates only one useful
-* solution, the usual case; under these circumstances, the second
-* solution corresponds to the "over-the-pole" case, and this is
-* reflected in the values of RAZ2 and DECZ2 which are returned.
-* - The DECZ1 and DECZ2 values are returned in the range +/-pi, but
-* in the usual, non-pole-crossing, case, the range is +/-pi/2.
-* - This routine is the spherical equivalent of the routine sla_DTPV2C.
-
-* History:
-* 2012-02-08 (TIMJ):
-* Initial version with documentation taken from Fortran SLA
-* Adapted with permission from the Fortran SLALIB library.
-* {enter_further_changes_here}
-
-* Copyright:
-* Copyright (C) 1995 Rutherford Appleton Laboratory
-* Copyright (C) 2012 Science and Technology Facilities Council.
-* All Rights Reserved.
-
-* Licence:
-* This program is free software: you can redistribute it and/or
-* modify it under the terms of the GNU Lesser General Public
-* License as published by the Free Software Foundation, either
-* version 3 of the License, or (at your option) any later
-* version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General
-* License along with this program. If not, see
-* <http://www.gnu.org/licenses/>.
-
-* Bugs:
-* {note_any_bugs_here}
-*-
-*/
-
-#include "pal.h"
-#include "pal1sofa.h"
-
-#include <math.h>
-
-void
-palDtps2c( double xi, double eta, double ra, double dec,
- double * raz1, double * decz1,
- double * raz2, double * decz2, int *n) {
-
- double x2;
- double y2;
- double sd;
- double cd;
- double sdf;
- double r2;
-
- x2 = xi * xi;
- y2 = eta * eta;
- sd = sin(dec);
- cd = cos(dec);
- sdf = sd * sqrt(x2 + 1. + y2);
- r2 = cd * cd * (y2 + 1.) - sd * sd * x2;
- if (r2 >= 0.) {
- double r;
- double s;
- double c;
-
- r = sqrt(r2);
- s = sdf - eta * r;
- c = sdf * eta + r;
- if (xi == 0. && r == 0.) {
- r = 1.;
- }
- *raz1 = eraAnp(ra - atan2(xi, r));
- *decz1 = atan2(s, c);
- r = -r;
- s = sdf - eta * r;
- c = sdf * eta + r;
- *raz2 = eraAnp(ra - atan2(xi, r));
- *decz2 = atan2(s, c);
- if (fabs(sdf) < 1.) {
- *n = 1;
- } else {
- *n = 2;
- }
- } else {
- *n = 0;
- }
- return;
-}