casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
casa::MSFitsInput Class Reference

UV FITS to MeasurementSet filler. More...

#include <MSFitsInput.h>

List of all members.

Public Member Functions

 MSFitsInput (const String &msFile, const String &fitsFile, const Bool NewNameStyle=False)
 This is an implementation helper class used to store 'local' data during the filling process.
 ~MSFitsInput ()
 The destructor is fairly trivial.
void readFitsFile (Int obsType=MSTileLayout::Standard)
 Read all the data from the FITS file and create the MeasurementSet.

Protected Member Functions

Bool checkInput (FitsInput &infile)
 Check that the input is a UV fits file with required contents.
void getPrimaryGroupAxisInfo ()
 Read the axis info of the primary group, throws an exception if required axes are missing.
void setupMeasurementSet (const String &MSFileName, Bool useTSM=True, Int obsType=MSTileLayout::Standard)
 Set up the MeasurementSet, including StorageManagers and fixed columns.
Read a binary table extension
of type AIPS AN and create an
antenna table *void 
fillAntennaTable (BinaryTable &bt)
void fillHistoryTable (ConstFitsKeywordList &kwl)
 Read a binary table extension and update history table.
void fillObservationTable (ConstFitsKeywordList &kwl)
 Read a binary table extension and update history table.
void getAxisInfo (ConstFitsKeywordList &)
 extract axis information
void sortPolarizations ()
 extract axis information
void fillPolarizationTable ()
void checkRequiredAxis ()
 verify that the fits contains visibility data
void fillSpectralWindowTable (BinaryTable &bt)
void fillFieldTable (BinaryTable &bt)
 fill Field table
void fillFieldTable (double, double, String)
void fillMSMainTable (BinaryTable &bt)
void fillPointingTable ()
void fillSourceTable ()
void fillFeedTable ()
 fill the Feed table with minimal info needed for synthesis processing
Fill the Observation and
ObsLog tables *void 
fillObsTables ()
void fillMSMainTableColWise (Int &nField, Int &nSpW)
 Fill the main table from the Primary group data if we have enough memory try to do it in mem.
void fillMSMainTable (Int &nField, Int &nSpW)
 else do it row by row
void fillSpectralWindowTable (BinaryTable &bt, Int nSpW)
 fill spectralwindow table from FITS FQ table + header info
void fillSpectralWindowTable ()
 fill spectralwindow table from header
void fillFieldTable (BinaryTable &bt, Int nField)
 fill Field table from FITS SU table
void fillFieldTable (Int nField)
 fill Field table from header (single source fits)
void fillExtraTables ()
 fill the Pointing table (from Field table, all antennas are assumed to point in the field direction) and possibly the Source table.
void fixEpochReferences ()
 fix up the EPOCH MEASURE_REFERENCE keywords using the value found in the (last) AN table
MDirection::Types getDirectionFrame (Double epoch)
 Returns the Direction Measure reference for UVW and other appropriate columns in msc_p (which must exist but have empty columns before you can set it!).
void setFreqFrameVar (BinaryTable &binTab)
 Check the frame if there is an SU table.
void updateSpectralWindowTable ()
 update a the Spectral window post filling if necessary
void readRandomGroupUVFits (Int obsType)
void readPrimaryTableUVFits (Int obsType)

Private Member Functions

 MSFitsInput ()
 MSFitsInput (const MSFitsInput &other)
MSFitsInputoperator= (const MSFitsInput &other)

Private Attributes

FitsInputinfile_p
String msFile_p
MSPrimaryGroupHolder priGroup_p
MSPrimaryTableHolder priTable_p
MeasurementSet ms_p
MSColumnsmsc_p
Int nIF_p
Vector< IntnPixel_p
Vector< IntcorrType_p
Block< IntcorrIndex_p
Matrix< IntcorrProduct_p
Vector< StringcoordType_p
Vector< DoublerefVal_p
Vector< DoublerefPix_p
Vector< Doubledelta_p
String array_p
String object_p
String timsys_p
Double epoch_p
MDirection::Types epochRef_p
Int nAnt_p
 determined by epoch_p, hence the name and type.
Int nArray_p
Vector< DoublereceptorAngle_p
MFrequency::Types freqsys_p
Double restfreq_p
Bool addSourceTable_p
LogIO itsLog
Record header
Double refFreq_p
Bool useAltrval
Vector< DoublechanFreq_p
Bool newNameStyle
Vector< DoubleobsTime

Detailed Description

UV FITS to MeasurementSet filler.

Intended use:

Public interface

Prerequisite

Etymology

MSFitsInput handles the conversion of FITS files to MeasurementSets

Synopsis

UV FITS to MeasurementSet filler. This can handle single source fits and multi source fits as written by classic AIPS. Also copes with multiple arrays (i.e. multiple AN tables) but doesn't correct for 5 day offsets introduced by DBCON.

Definition at line 267 of file MSFitsInput.h.


Constructor & Destructor Documentation

casa::MSFitsInput::MSFitsInput ( const String msFile,
const String fitsFile,
const Bool  NewNameStyle = False 
)

This is an implementation helper class used to store 'local' data during the filling process.

Create from output and input file names. This function opens the input file, and checks the output file is writable.

The destructor is fairly trivial.

casa::MSFitsInput::MSFitsInput ( const MSFitsInput other) [private]

Member Function Documentation

Bool casa::MSFitsInput::checkInput ( FitsInput infile) [protected]

Check that the input is a UV fits file with required contents.

Returns False if not ok.

verify that the fits contains visibility data

Read a binary table extension of type AIPS AN and create an antenna table* void casa::MSFitsInput::fillAntennaTable ( BinaryTable bt) [protected]
void casa::MSFitsInput::fillExtraTables ( ) [protected]

fill the Pointing table (from Field table, all antennas are assumed to point in the field direction) and possibly the Source table.

void casa::MSFitsInput::fillFeedTable ( ) [protected]

fill the Feed table with minimal info needed for synthesis processing

void casa::MSFitsInput::fillFieldTable ( BinaryTable bt) [protected]

fill Field table

void casa::MSFitsInput::fillFieldTable ( double  ,
double  ,
String   
) [protected]
void casa::MSFitsInput::fillFieldTable ( BinaryTable bt,
Int  nField 
) [protected]

fill Field table from FITS SU table

void casa::MSFitsInput::fillFieldTable ( Int  nField) [protected]

fill Field table from header (single source fits)

Read a binary table extension and update history table.

void casa::MSFitsInput::fillMSMainTable ( BinaryTable bt) [protected]
void casa::MSFitsInput::fillMSMainTable ( Int nField,
Int nSpW 
) [protected]

else do it row by row

void casa::MSFitsInput::fillMSMainTableColWise ( Int nField,
Int nSpW 
) [protected]

Fill the main table from the Primary group data if we have enough memory try to do it in mem.

Read a binary table extension and update history table.

Fill the Observation and ObsLog tables* void casa::MSFitsInput::fillObsTables ( ) [protected]
void casa::MSFitsInput::fillSourceTable ( ) [protected]
void casa::MSFitsInput::fillSpectralWindowTable ( BinaryTable bt,
Int  nSpW 
) [protected]

fill spectralwindow table from FITS FQ table + header info

fill spectralwindow table from header

fix up the EPOCH MEASURE_REFERENCE keywords using the value found in the (last) AN table

extract axis information

Returns the Direction Measure reference for UVW and other appropriate columns in msc_p (which must exist but have empty columns before you can set it!).

Read the axis info of the primary group, throws an exception if required axes are missing.

MSFitsInput& casa::MSFitsInput::operator= ( const MSFitsInput other) [private]

Read all the data from the FITS file and create the MeasurementSet.

Throws an exception when it has severe trouble interpreting the FITS file.

void casa::MSFitsInput::readPrimaryTableUVFits ( Int  obsType) [protected]
void casa::MSFitsInput::readRandomGroupUVFits ( Int  obsType) [protected]
void casa::MSFitsInput::setFreqFrameVar ( BinaryTable binTab) [protected]

Check the frame if there is an SU table.

void casa::MSFitsInput::setupMeasurementSet ( const String MSFileName,
Bool  useTSM = True,
Int  obsType = MSTileLayout::Standard 
) [protected]

Set up the MeasurementSet, including StorageManagers and fixed columns.

If useTSM is True, the Tiled Storage Manager will be used to store DATA, FLAG and WEIGHT_SPECTRUM. Use obsType to choose the tiling scheme.

extract axis information

update a the Spectral window post filling if necessary


Member Data Documentation

Definition at line 410 of file MSFitsInput.h.

Definition at line 401 of file MSFitsInput.h.

Definition at line 415 of file MSFitsInput.h.

Definition at line 399 of file MSFitsInput.h.

Definition at line 397 of file MSFitsInput.h.

Definition at line 398 of file MSFitsInput.h.

Definition at line 396 of file MSFitsInput.h.

Definition at line 400 of file MSFitsInput.h.

Definition at line 402 of file MSFitsInput.h.

Definition at line 403 of file MSFitsInput.h.

Definition at line 408 of file MSFitsInput.h.

Definition at line 412 of file MSFitsInput.h.

Definition at line 389 of file MSFitsInput.h.

Definition at line 411 of file MSFitsInput.h.

Definition at line 393 of file MSFitsInput.h.

Definition at line 394 of file MSFitsInput.h.

Definition at line 390 of file MSFitsInput.h.

determined by epoch_p, hence the name and type.

Definition at line 405 of file MSFitsInput.h.

Definition at line 406 of file MSFitsInput.h.

Definition at line 416 of file MSFitsInput.h.

Definition at line 395 of file MSFitsInput.h.

Definition at line 396 of file MSFitsInput.h.

Definition at line 401 of file MSFitsInput.h.

Definition at line 417 of file MSFitsInput.h.

Definition at line 391 of file MSFitsInput.h.

Definition at line 392 of file MSFitsInput.h.

Definition at line 407 of file MSFitsInput.h.

Definition at line 413 of file MSFitsInput.h.

Definition at line 400 of file MSFitsInput.h.

Definition at line 400 of file MSFitsInput.h.

Definition at line 409 of file MSFitsInput.h.

Definition at line 401 of file MSFitsInput.h.

Definition at line 414 of file MSFitsInput.h.


The documentation for this class was generated from the following file: