/*  
 *  - - - - - - - - -  
 *   g a l _ p v 2 s  
 *  - - - - - - - - -  
 *  
 *  This routine is part of the General Astrodynamics Library  
 *  
 *  Description: 
 *  
 *  Convert position/velocity from Cartesian to spherical coordinates.  
 *  
 *  This routine is an independent translation of a FORTRAN routine  
 *  that is part of IAU's SOFA software collection.  
 *  
 *  Status:
 *  
 *     vector/matrix support routine.  
 *  
 *  Given:
 *  
 *     pv               d[2][3]     pv-vector  
 *  
 *  Returned:
 *  
 *     *theta              d        longitude angle (radians)  
 *     *phi                d        latitude angle (radians)  
 *     *r                  d        radial distance  
 *     *td                 d        rate of change of THETA  
 *     *pd                 d        rate of change of PHI  
 *     *rd                 d        rate of change of R  
 *  
 *  Notes:  
 *  
 *  1) If the position part of pv is null, theta, phi, td and pd  
 *     are indeterminate.  This is handled by extrapolating the  
 *     position through unit time by using the velocity part of  
 *     pv.  This moves the origin without changing the direction  
 *     of the velocity component.  If the position and velocity  
 *     components of pv are both null, zeroes are returned for all  
 *     six results.  
 *  
 *  2) If the position is a pole, theta, td and pd are indeterminate.  
 *     In such cases zeroes are returned for theta, td and pd.  
 *  
 *  This revision:
 *  
 *     2001 January 4 ( c version 2008 February 4 )  
 *  
 *  
 *  Copyright (C) 2008 Paul C. L. Willmott. See notes at end.  
 *  
 *-----------------------------------------------------------------------  
 */  
  
#ifndef _GAL_PV2S_H_  
#define _GAL_PV2S_H_ 1  

#undef __BEGIN_DECLS  
#undef __END_DECLS  
#ifdef __cplusplus  
#define __BEGIN_DECLS extern "C" {  
#define __END_DECLS }  
#else  
#define __BEGIN_DECLS /* empty */  
#define __END_DECLS   /* empty */  
#endif
  
__BEGIN_DECLS  
  
void  
gal_pv2s  
 (  
    double pv[2][3],  
    double *theta,  
    double *phi,  
    double *r,  
    double *td,  
    double *pd,  
    double *rd  
 ) ;  
  
__END_DECLS  
  
#endif /* !_GAL_PV2S_H_ */  

/*  
 *  gal - General Astrodynamics Library  
 *  Copyright (C) 2008 Paul C. L. Willmott  
 *  
 *  This program is free software; you can redistribute it and/or modify  
 *  it under the terms of the GNU General Public License as published by  
 *  the Free Software Foundation; either version 2 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 General Public License for more details.  
 *  
 *  You should have received a copy of the GNU General Public License along  
 *  with this program; if not, write to the Free Software Foundation, Inc.,  
 *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.  
 *  
 *  Contact:  
 *  
 *  Paul Willmott  
 *  vp9mu@amsat.org  
 */  
