/fixbeampos

Fix coordinates of ALFA Mock psrfits data from beams 1-6 (data taken up to 28 Jan. 2010 are affected).

Primary LanguageC

Fixbeampos fixes coordinates in the main header of Mock psrfits files taken
with ALFA up to 28 Jan. 2010. Up to that date, coordinates in the headers 
and rows of side beam (beams 1-6) data files were not calculated correctly by
the Mock data-writing software. Data files from beam 0 are fine. 

Data with HDRVER of 3.43 or greater in the main header are not affected. 

--The first argument to the program must be a beam 0 file.
--The program takes up to 7 arguments (ie a pointing's worth of files)
--Files may be in different locations (specify full path or path relative to current directory)
--Program does NOT check if specified files belong to the same pointing.
--Program does NOT check if there is more than one specified file per beam (eg a stray file from a different pointing)
--If a beam 0 file is given later in the list, it will be ignored; it will not be changed. 

HDRVER in the main header is changed to 3.43.
HISTORY lines are added to the main header containing the old coordinates from the main header and the git hash of the code that corrected the coordinates.

Fields fixed in main header:
HDRVER, RA, DEC, STT_CRD1, STT_CRD2, STP_CRD1, STP_CRD2 (the latter two pairs 
of parameters are "start coordinates" and "stop coordinates", which are equal 
to RA,DEC)

Fields fixed in rows:
RA_SUB, DEC_SUB, TEL_AZ, TEL_ZEN, GLON_SUB, GLAT_SUB

The calculated RA, DEC, GL & GB for side beams based on beam 0 values are 
within a few arcsec of actual positions (from tests on data where both header 
and rows positions were correct for all beams). The calculated AZ may be 
up to 1.5 arcmin from actual positions, but that is a "small circle" angular
distance and may be very large at small ZA. The "great circle" angular offset
is AZ*sin(ZA), which is just a few arcsec.