casa
$Rev:20696$
|
ATNF single-dish RPFITS reader. More...
#include <MBFITSreader.h>
Public Member Functions | |
MBFITSreader (const int retry=0, const int interpolate=1) | |
Default constructor; position interpolation codes are: 0: no interpolation, 1: correct interpolation, 2: pksmbfits interpolation. | |
virtual | ~MBFITSreader () |
Destructor. | |
virtual int | open (char *rpname, int &nBeam, int *&beams, int &nIF, int *&IFs, int *&nChan, int *&nPol, int *&haveXPol, int &haveBase, int &haveSpectra, int &extraSysCal) |
Open the RPFITS file for reading. | |
virtual int | getHeader (char observer[32], char project[32], char telescope[32], double antPos[3], char obsType[32], char bunit[32], float &equinox, char radecsys[32], char dopplerFrame[32], char datobs[32], double &utc, double &refFreq, double &bandwidth) |
Get parameters describing the data. | |
virtual int | getFreqInfo (int &nIF, double *&startFreq, double *&endFreq) |
Get frequency parameters for each IF. | |
virtual int | findRange (int &nRow, int &nSel, char dateSpan[2][32], double utcSpan[2], double *&positions) |
Find the range of the data selected in time and position. | |
virtual int | read (MBrecord &record) |
Read the next data record. | |
virtual void | close (void) |
Close the RPFITS file. | |
Private Member Functions | |
int | rpget (int syscalonly, int &EOS) |
Read the next data record from the RPFITS file. | |
int | rpfitsin (int &jstat) |
int | fixw (const char *datobs, int cycleNo, int beamNo, double avRate[2], double thisRA, double thisDec, double thisUTC, double nextRA, double nextDec, float &nextUTC) |
double | utcDiff (double utc1, double utc2) |
Subtract two UTCs (s). | |
void | scanRate (double ra0, double dec0, double ra1, double dec1, double ra2, double dec2, double dt, double &raRate, double &decRate) |
void | applyRate (double ra0, double dec0, double ra1, double dec1, double raRate, double decRate, double dt, double &ra2, double &dec2) |
void | eulerx (double lng0, double lat0, double phi0, double theta, double phi, double &lng1, double &lat1) |
Private Attributes | |
int | cBaseline |
RPFITSIN subroutine arguments. | |
int | cFlag |
int | cBin |
int | cIFno |
int | cSrcNo |
float | cUTC |
float | cU |
float | cV |
float | cW |
float * | cVis |
float * | cWgt |
char | cDateObs [12] |
int * | cBeamSel |
int * | cChanOff |
int | cFirst |
int * | cIFSel |
int | cInterp |
int | cIntTime |
int | cMBopen |
int | cMopra |
int | cNBeamSel |
int | cNBin |
int | cRetry |
int | cSimulIF |
int | cSUpos |
int * | cXpolOff |
int | cEOF |
The data has to be bufferred to allow positions to be interpolated. | |
int | cEOS |
int | cFlushBin |
int | cFlushIF |
int | cFlushing |
double * | cPosUTC |
MBrecord * | cBuffer |
int | cCycleNo |
Scan and cycle number bookkeeping. | |
int | cScanNo |
double | cPrevUTC |
int | cCode5 |
Check and, if necessary, repair a position timestamp. | |
int | cNRate |
double | cAvRate [2] |
double | cRA0 |
Compute and apply the scan rate corrected for grid convergence. | |
double | cDec0 |
MBFITSreader::MBFITSreader | ( | const int | retry = 0 , |
const int | interpolate = 1 |
||
) |
Default constructor; position interpolation codes are: 0: no interpolation, 1: correct interpolation, 2: pksmbfits interpolation.
virtual MBFITSreader::~MBFITSreader | ( | ) | [virtual] |
Destructor.
void MBFITSreader::applyRate | ( | double | ra0, |
double | dec0, | ||
double | ra1, | ||
double | dec1, | ||
double | raRate, | ||
double | decRate, | ||
double | dt, | ||
double & | ra2, | ||
double & | dec2 | ||
) | [private] |
virtual void MBFITSreader::close | ( | void | ) | [virtual] |
Close the RPFITS file.
Implements FITSreader.
void MBFITSreader::eulerx | ( | double | lng0, |
double | lat0, | ||
double | phi0, | ||
double | theta, | ||
double | phi, | ||
double & | lng1, | ||
double & | lat1 | ||
) | [private] |
virtual int MBFITSreader::findRange | ( | int & | nRow, |
int & | nSel, | ||
char | dateSpan[2][32], | ||
double | utcSpan[2], | ||
double *& | positions | ||
) | [virtual] |
Find the range of the data selected in time and position.
Implements FITSreader.
int MBFITSreader::fixw | ( | const char * | datobs, |
int | cycleNo, | ||
int | beamNo, | ||
double | avRate[2], | ||
double | thisRA, | ||
double | thisDec, | ||
double | thisUTC, | ||
double | nextRA, | ||
double | nextDec, | ||
float & | nextUTC | ||
) | [private] |
virtual int MBFITSreader::getFreqInfo | ( | int & | nIF, |
double *& | startFreq, | ||
double *& | endFreq | ||
) | [virtual] |
Get frequency parameters for each IF.
Implements FITSreader.
virtual int MBFITSreader::getHeader | ( | char | observer[32], |
char | project[32], | ||
char | telescope[32], | ||
double | antPos[3], | ||
char | obsType[32], | ||
char | bunit[32], | ||
float & | equinox, | ||
char | radecsys[32], | ||
char | dopplerFrame[32], | ||
char | datobs[32], | ||
double & | utc, | ||
double & | refFreq, | ||
double & | bandwidth | ||
) | [virtual] |
Get parameters describing the data.
Implements FITSreader.
virtual int MBFITSreader::open | ( | char * | rpname, |
int & | nBeam, | ||
int *& | beams, | ||
int & | nIF, | ||
int *& | IFs, | ||
int *& | nChan, | ||
int *& | nPol, | ||
int *& | haveXPol, | ||
int & | haveBase, | ||
int & | haveSpectra, | ||
int & | extraSysCal | ||
) | [virtual] |
Open the RPFITS file for reading.
Implements FITSreader.
virtual int MBFITSreader::read | ( | MBrecord & | record | ) | [virtual] |
Read the next data record.
Implements FITSreader.
int MBFITSreader::rpfitsin | ( | int & | jstat | ) | [private] |
int MBFITSreader::rpget | ( | int | syscalonly, |
int & | EOS | ||
) | [private] |
Read the next data record from the RPFITS file.
void MBFITSreader::scanRate | ( | double | ra0, |
double | dec0, | ||
double | ra1, | ||
double | dec1, | ||
double | ra2, | ||
double | dec2, | ||
double | dt, | ||
double & | raRate, | ||
double & | decRate | ||
) | [private] |
double MBFITSreader::utcDiff | ( | double | utc1, |
double | utc2 | ||
) | [private] |
Subtract two UTCs (s).
double MBFITSreader::cAvRate[2] [private] |
Definition at line 137 of file MBFITSreader.h.
int MBFITSreader::cBaseline [private] |
RPFITSIN subroutine arguments.
Definition at line 115 of file MBFITSreader.h.
int* MBFITSreader::cBeamSel [private] |
Definition at line 119 of file MBFITSreader.h.
int MBFITSreader::cBin [private] |
Definition at line 115 of file MBFITSreader.h.
MBrecord* MBFITSreader::cBuffer [private] |
Definition at line 125 of file MBFITSreader.h.
int * MBFITSreader::cChanOff [private] |
Definition at line 119 of file MBFITSreader.h.
int MBFITSreader::cCode5 [private] |
Check and, if necessary, repair a position timestamp.
Definition at line 136 of file MBFITSreader.h.
int MBFITSreader::cCycleNo [private] |
Scan and cycle number bookkeeping.
Definition at line 128 of file MBFITSreader.h.
char MBFITSreader::cDateObs[12] [private] |
Definition at line 118 of file MBFITSreader.h.
double MBFITSreader::cDec0 [private] |
Definition at line 146 of file MBFITSreader.h.
int MBFITSreader::cEOF [private] |
The data has to be bufferred to allow positions to be interpolated.
Definition at line 123 of file MBFITSreader.h.
int MBFITSreader::cEOS [private] |
Definition at line 123 of file MBFITSreader.h.
int MBFITSreader::cFirst [private] |
Definition at line 119 of file MBFITSreader.h.
int MBFITSreader::cFlag [private] |
Definition at line 115 of file MBFITSreader.h.
int MBFITSreader::cFlushBin [private] |
Definition at line 123 of file MBFITSreader.h.
int MBFITSreader::cFlushIF [private] |
Definition at line 123 of file MBFITSreader.h.
int MBFITSreader::cFlushing [private] |
Definition at line 123 of file MBFITSreader.h.
int MBFITSreader::cIFno [private] |
Definition at line 115 of file MBFITSreader.h.
int * MBFITSreader::cIFSel [private] |
Definition at line 119 of file MBFITSreader.h.
int MBFITSreader::cInterp [private] |
Definition at line 119 of file MBFITSreader.h.
int MBFITSreader::cIntTime [private] |
Definition at line 119 of file MBFITSreader.h.
int MBFITSreader::cMBopen [private] |
Definition at line 119 of file MBFITSreader.h.
int MBFITSreader::cMopra [private] |
Definition at line 119 of file MBFITSreader.h.
int MBFITSreader::cNBeamSel [private] |
Definition at line 119 of file MBFITSreader.h.
int MBFITSreader::cNBin [private] |
Definition at line 119 of file MBFITSreader.h.
int MBFITSreader::cNRate [private] |
Definition at line 136 of file MBFITSreader.h.
double* MBFITSreader::cPosUTC [private] |
Definition at line 124 of file MBFITSreader.h.
double MBFITSreader::cPrevUTC [private] |
Definition at line 129 of file MBFITSreader.h.
double MBFITSreader::cRA0 [private] |
Compute and apply the scan rate corrected for grid convergence.
Definition at line 146 of file MBFITSreader.h.
int MBFITSreader::cRetry [private] |
Definition at line 119 of file MBFITSreader.h.
int MBFITSreader::cScanNo [private] |
Definition at line 128 of file MBFITSreader.h.
int MBFITSreader::cSimulIF [private] |
Definition at line 119 of file MBFITSreader.h.
int MBFITSreader::cSrcNo [private] |
Definition at line 115 of file MBFITSreader.h.
int MBFITSreader::cSUpos [private] |
Definition at line 119 of file MBFITSreader.h.
float MBFITSreader::cU [private] |
Definition at line 116 of file MBFITSreader.h.
float MBFITSreader::cUTC [private] |
Definition at line 116 of file MBFITSreader.h.
float MBFITSreader::cV [private] |
Definition at line 116 of file MBFITSreader.h.
float * MBFITSreader::cVis [private] |
Definition at line 116 of file MBFITSreader.h.
float MBFITSreader::cW [private] |
Definition at line 116 of file MBFITSreader.h.
float * MBFITSreader::cWgt [private] |
Definition at line 116 of file MBFITSreader.h.
int * MBFITSreader::cXpolOff [private] |
Definition at line 119 of file MBFITSreader.h.