NAME

AXAFCoords - transform between various coordinate systems


SYNOPSIS

  dofile ('/proj/axaf/simul/lib/lua/AXAFCoords.lua')
  el, az = osac_polar_2_osac_elaz( theta, phi )
  theta, phi = osac_elaz_2_osac_polar( el, az )
  theta, phi = osac_polar_2_HSC11( theta, phi )
  theta, phi = HSC11_2_osac_polar( theta, phi )
  el, az = pitchyaw_2_osac_elaz( pitch, yaw )
  x, y = osac_elaz_2_xy( el, az, z )
  theta, phi = osac_polar_2_raygen_polar( theta, phi )
  theta, phi = raygen_polar_to_MSC( theta, phi )
  theta, phi = MSC_to_raygen_polar( theta, phi )
  el, az = raygen_polar_2_raygen_elaz( theta, phi )
  theta, phi = raygen_elaz_2_raygen_polar( el, az )


DESCRIPTION

The AXAFCoords library provides routines to convert between various coordinate systems. Currently, it primarily handles source position coordinates.


CONSTANTS

PI
PI = 3.14159265358979323846

sec2rad
factor to convert from seconds of arc to radians

min2rad
factor to convert from minutes of arc to radians

deg2rad
factor to convert from degrees to radians

rad2deg
factor to convert from radians to degrees


FUNCTIONS

osac_polar_2_osac_elaz
Convert from OSAC polar coordinates to OSAC elevation and azimuth. All angles are in radians. Input angles are reduced such that 0 <= phi < 2pi and 0 <= theta <= pi/2

osac_polar_2_raygen_polar
Convert from OSAC polar coordinates (which indicate the direction that the ray is travelling to) to raygen polar coordinates, which indicate the direction the ray is travelling from. All angles are in radians.

osac_elaz_2_osac_polar
Convert from OSAC elevation and azimuth to OSAC polar coordinates. All angles are in radians. Input angles are reduced to be 0 <= angle <= pi/2.

osac_polar_2_HSC11
Convert from OSAC polar coordinates to HRMA Left Handed Spherical Coordinates (AXAF-HSC-1.1). All angles are in radians.

HSC11_2_osac_polar
convert from AXAF-HSC-1.1 to OSAC polar coordinates. All angles are in radians.

raygen_polar_to_MSC
Convert from raygen polar coordinates to Mirror Spherical Coordinates. All angles are in radians.

MSC_to_osac_polar
convert from Mirror Spherical Coordinates to raygen polar coordinates. All angles are in radians.

pitchyaw_2_osac_elaz
convert from XRCF pitch and yaw to OSAC elevation and azimuth. Pitch and Yaw are in minutes of arc; the output angles are in radians.

osac_elaz_2_xy( $el, $az, $z )
convert from OSAC elevation and azimuth to OSAC X and Y at a particular OSAC Z. All angles are in radians.

raygen_elaz_2_raygen_polar
        ( $theta, $phi ) = raygen_elaz_2_raygen_polar( $el, $az );

Convert from raygen elevation and azimuth to raygen polar coordinates. All angles are in radians. Input angles are reduced to be 0 <= angle <= pi/2.

raygen_polar_2_raygen_elaz
        ( $el, $az ) = raygen_polar_2_raygen_elaz( $theta, $phi );

Convert from raygen polar coordinates to raygen elevation and azimuth. All angles are in radians. Input angles are reduced such that 0 <= phi < 2pi and 0 <= theta <= pi/2


Author

Diab Jerius ( djerius@cfa.harvard.edu )