20 #ifndef _SKYCOORDINATES_H
21 #define _SKYCOORDINATES_H
23 #include <lal/LALStdlib.h>
36 #define SKYCOORDINATESH_ENUL 1
37 #define SKYCOORDINATESH_ESYS 2
38 #define SKYCOORDINATESH_EZERO 3
39 #define SKYCOORDINATESH_ESING 4
43 #define SKYCOORDINATESH_MSGENUL "Unexpected null pointer in arguments"
44 #define SKYCOORDINATESH_MSGESYS "Wrong coordinate system in input"
45 #define SKYCOORDINATESH_MSGEZERO "Angular coordinates undefined at origin"
46 #define SKYCOORDINATESH_MSGESING "Point is inside singular ellipsoid"
56 typedef enum tagCoordinateSystem {
70 typedef struct tagSkyPosition {
81 typedef struct tagEarthPosition {
103 typedef struct tagConvertSkyParams {
180 SWIGLAL(INOUT_SCALARS(
double*, longitude, latitude));
void XLALNormalizeSkyPosition(double *_LAL_RESTRICT_ longitude, double *_LAL_RESTRICT_ latitude)
void LALEquatorialToGalactic(LALStatus *, SkyPosition *output, SkyPosition *input)
void LALEquatorialToEcliptic(LALStatus *, SkyPosition *output, SkyPosition *input)
void LALEclipticToEquatorial(LALStatus *, SkyPosition *output, SkyPosition *input)
void LALGalacticToEquatorial(LALStatus *, SkyPosition *output, SkyPosition *input)
double REAL8
Double precision real floating-point number (8 bytes).
void LALConvertSkyCoordinates(LALStatus *, SkyPosition *output, SkyPosition *input, ConvertSkyParams *params)
void LALNormalizeSkyPosition(LALStatus *status, SkyPosition *posOut, const SkyPosition *posIn)
CoordinateSystem
This enumerated type is used to identify data as being in one of the coordinate systems discussed in ...
@ COORDINATESYSTEM_GALACTIC
The galactic coordinate system.
@ COORDINATESYSTEM_ECLIPTIC
The ecliptic coordinate system.
@ COORDINATESYSTEM_GEOGRAPHIC
The Earth-fixed geographic coordinate system.
@ COORDINATESYSTEM_HORIZON
A horizon coordinate system.
@ COORDINATESYSTEM_EQUATORIAL
The sky-fixed equatorial coordinate system.
void LALGeocentricToGeodetic(LALStatus *, EarthPosition *location)
void LALEquatorialToGeographic(LALStatus *, SkyPosition *output, SkyPosition *input, LIGOTimeGPS *gpsTime)
void LALHorizonToSystem(LALStatus *, SkyPosition *output, SkyPosition *input, const SkyPosition *zenith)
void LALGeographicToEquatorial(LALStatus *, SkyPosition *output, SkyPosition *input, LIGOTimeGPS *gpsTime)
void LALGeodeticToGeocentric(LALStatus *, EarthPosition *location)
void LALSystemToHorizon(LALStatus *, SkyPosition *output, SkyPosition *input, const SkyPosition *zenith)
This structure stores parameters for the function LALConvertSkyPosition().
CoordinateSystem system
The coordinate system to which one is transforming.
SkyPosition * zenith
The position of the zenith of the horizon coordinate system; may be NULL if one is neither converting...
LIGOTimeGPS * gpsTime
The GPS time for conversions between Earth-fixed and sky-fixed coordinates; may be NULL if no such co...
This structure stores the location of a point on (or near) the surface of the Earth in both geodetic ...
SkyPosition geocentric
The geographic coordinates of the direction from the centre of the Earth through the point; that is,...
REAL8 radius
The distance of the point from the geocentre, in metres.
REAL8 elevation
The vertical distance of the point above the reference ellipsoid, in metres.
SkyPosition geodetic
The geographic coordinates of the upward vertical direction from the point; that is,...
LAL status structure, see The LALStatus structure for more details.
Epoch relative to GPS epoch, see LIGOTimeGPS type for more details.
This structure stores the two spherical coordinates of a sky position; ie a generic latitude and long...
REAL8 longitude
The longitudinal coordinate (in radians), as defined above.
REAL8 latitude
The latitudinal coordinate (in radians), as defined above.
CoordinateSystem system
The coordinate system in which latitude/longitude are expressed.
void output(int gps_sec, int output_type)