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

Functions to convert from VLA archive format to a MeasurementSet. More...

#include <VLAFiller.h>

List of all members.

Public Member Functions

 VLAFiller (MeasurementSet &output, VLALogicalRecord &input, Double freqTolerance=0.0, Bool autocorr=False, const String &antnamescheme="new", const Bool &applyTsys=True)
 Construct a VLAFiller object that will data from the specified input, and writes it to the supplied MeasurementSet.
 ~VLAFiller ()
 Does nothing special.
void setFilter (const VLAFilterSet &filter)
 Set the filter that will be used to restrict which input records get copied to the output MS.
void fill (Int verbose=1)
 fill the supplied MeasurementSet from the the supplied VLABuffer.
void setStopParams (String &, String &)
 Set the stop Parameters for filling.

Static Public Member Functions

static MeasurementSet emptyMS (const Path &tableName, const Bool overwrite=False)
 Construct an empty MeasurementSet with the supplied table name.
static MeasurementSet openMS (const Path &tableName, const Bool readonly=False)
 Open the MeasurementSet with the supplied name.
static MeasurementSet getMS (const Path &tableName, const Bool overwrite=False)
 Return an empty MeasurementSet with the supplied table name.

Private Member Functions

Bool fillOne ()
 Read one record from the input and copies it to the MS if it is not filtered out.
void logCurrentRecord (IterationStatus &counts)
 Send to the logger info about how the filler is going.
void logChanges (IterationStatus &counts)
void summarise ()
 Send to the logger info about how much data is in the (sub)tables.
uInt addAntenna (const MPosition &antennaPos, uInt whichAnt)
void addFeed (uInt whichAnt)
uInt addField (const MDirection &refDir)
uInt addPointing (const MDirection &antennaDir, const MDirection &fieldDir, uInt whichAnt)
uInt addDoppler (const VLAEnum::CDA cda)
 

Add an entry to the doppler dubtable


uInt addSpectralWindow (const VLAEnum::CDA cda, const MFrequency &refFreq, const uInt nChan, const Double bandwidth, const uInt ifChain)
uInt addPolarization (const Vector< Stokes::StokesTypes > &pol)
uInt addDataDescription (uInt spwId, uInt polId)
uInt addSource (const MDirection &dir)
void addHypercubes (uInt nPol, uInt nChan)
void extendHypercubes (const Block< uInt > &nPol, const Block< uInt > &nChan, uInt rows)
void fixFieldDuplicates (MSField &msFld)
Bool stopFilling (VLALogicalRecord &)
Int polIndexer (Stokes::StokesTypes &stokes)

Private Attributes

String projectCode
MVEpoch stopTime
Bool checkStop
Bool fillStarted
VLALogicalRecord itsRecord
VLAFilterSet itsInputFilters
MeasurementSet itsMS
MeasFrame itsFrame
MDirection::Types itsMSDirType
MDirection::Types itsDirType
MDirection::Convert itsDirCtr
MDirection::Convert itsAzElCtr
Muvw::Convert itsUvwCtr
MFrequency::Convert itsFreqCtr
MBaseline::Convert itsBlCtr
Block< Int > itsFldId
Block< Int > itsAntId
Block< Int > itsSpId
Block< Int > itsPolId
Block< Block< Int > > itsDataId
Bool itsNewScan
Block< Int > itsScan
String itsProject
LogIO itsLog
TiledDataStManAccessor itsDataAcc
Record itsTileId
TiledDataStManAccessor itsSigmaAcc
TiledDataStManAccessor itsFlagAcc
TiledDataStManAccessor itsImagingWeightAcc
TiledDataStManAccessor itsModDataAcc
TiledDataStManAccessor itsCorrDataAcc
TiledDataStManAccessor itsChanFlagAcc
Block< IPosition > itsDataShapes
Double itsFreqTolerance
Bool itsApplyTsys
Bool itsNewAntName
Bool itsKeepAutoCorr
Bool itsEVLAisOn
Bool itsInitEpoch
Bool itsRevBeenWarned

Detailed Description

Functions to convert from VLA archive format to a MeasurementSet.

Intended use:

Public interface

 <h3>Review Status</h3><dl><dt>Date Reviewed:<dd>yyyy/mm/dd</dl> 

Prerequisite

Etymology

Synopsis

Example

Motivation

Template Type Argument Requirements (T)

Thrown Exceptions

To Do

Definition at line 102 of file VLAFiller.h.


Constructor & Destructor Documentation

VLAFiller::VLAFiller ( MeasurementSet &  output,
VLALogicalRecord input,
Double  freqTolerance = 0.0,
Bool  autocorr = False,
const String antnamescheme = "new",
const Bool &  applyTsys = True 
)

Construct a VLAFiller object that will data from the specified input, and writes it to the supplied MeasurementSet.

We set the default tolerance for frequency to be 6 times of the channel width and also give user the ability to pass in a tolerance for frequency into vlafillerfromdisk(). The default tolerance of frequency works for dataset G192. But for dataset NGC7538, one has to give a tolerance as larger as 60 times its channel width ( 60000000Hz ). For other dataset, the user has to try out the proper tolerance.

Does nothing special.


Member Function Documentation

uInt VLAFiller::addAntenna ( const MPosition &  antennaPos,
uInt  whichAnt 
) [private]
uInt VLAFiller::addDataDescription ( uInt  spwId,
uInt  polId 
) [private]
uInt VLAFiller::addDoppler ( const VLAEnum::CDA  cda) [private]

Add an entry to the doppler dubtable

void VLAFiller::addFeed ( uInt  whichAnt) [private]
uInt VLAFiller::addField ( const MDirection &  refDir) [private]
void VLAFiller::addHypercubes ( uInt  nPol,
uInt  nChan 
) [private]
uInt VLAFiller::addPointing ( const MDirection &  antennaDir,
const MDirection &  fieldDir,
uInt  whichAnt 
) [private]
uInt VLAFiller::addPolarization ( const Vector< Stokes::StokesTypes > &  pol) [private]
uInt VLAFiller::addSource ( const MDirection &  dir) [private]
uInt VLAFiller::addSpectralWindow ( const VLAEnum::CDA  cda,
const MFrequency &  refFreq,
const uInt  nChan,
const Double  bandwidth,
const uInt  ifChain 
) [private]
static MeasurementSet VLAFiller::emptyMS ( const Path &  tableName,
const Bool  overwrite = False 
) [static]

Construct an empty MeasurementSet with the supplied table name.

Throw an exception (AipsError) if the specified Table already exists unless the overwrite argument is set to True.

void VLAFiller::extendHypercubes ( const Block< uInt > &  nPol,
const Block< uInt > &  nChan,
uInt  rows 
) [private]
void VLAFiller::fill ( Int  verbose = 1)

fill the supplied MeasurementSet from the the supplied VLABuffer.

The number/type of messages describing the progress sent to the logger are controlled using the verbose argument. If verbose is -1 or less then no messages are sent to the logger. If verbose is zero then a summary is sent to the logger just before this function completes. If verbose is one then a message is sent for every record copied to the output MS. If verbose is two a message is sent every second record and so on.

Bool VLAFiller::fillOne ( ) [private]

Read one record from the input and copies it to the MS if it is not filtered out.

Returns False if a record could not be read.

void VLAFiller::fixFieldDuplicates ( MSField &  msFld) [private]
static MeasurementSet VLAFiller::getMS ( const Path &  tableName,
const Bool  overwrite = False 
) [static]

Return an empty MeasurementSet with the supplied table name.

Creates a empty measurement set unless one with the specified name already exists and overwrite is False. Then it opens the existing measurement set for read/write access.

void VLAFiller::logChanges ( IterationStatus &  counts) [private]
void VLAFiller::logCurrentRecord ( IterationStatus &  counts) [private]

Send to the logger info about how the filler is going.

static MeasurementSet VLAFiller::openMS ( const Path &  tableName,
const Bool  readonly = False 
) [static]

Open the MeasurementSet with the supplied name.

Throw an exception (AipsError) if the specified Table does not exist. By default the Table is opened for read/write access. The Type/SubType MUST be "Measurement Set/VLA" ie., the MS must have been created with this class. Otherwise an exception is thrown.

Int VLAFiller::polIndexer ( Stokes::StokesTypes &  stokes) [private]
void VLAFiller::setFilter ( const VLAFilterSet filter)

Set the filter that will be used to restrict which input records get copied to the output MS.

void VLAFiller::setStopParams ( String ,
String  
)

Set the stop Parameters for filling.

Bool VLAFiller::stopFilling ( VLALogicalRecord ) [private]
void VLAFiller::summarise ( ) [private]

Send to the logger info about how much data is in the (sub)tables.


Member Data Documentation

Bool VLAFiller::checkStop [private]

Definition at line 208 of file VLAFiller.h.

Bool VLAFiller::fillStarted [private]

Definition at line 209 of file VLAFiller.h.

Block<Int> VLAFiller::itsAntId [private]

Definition at line 269 of file VLAFiller.h.

Bool VLAFiller::itsApplyTsys [private]

Definition at line 307 of file VLAFiller.h.

MDirection::Convert VLAFiller::itsAzElCtr [private]

Definition at line 243 of file VLAFiller.h.

MBaseline::Convert VLAFiller::itsBlCtr [private]

Definition at line 261 of file VLAFiller.h.

TiledDataStManAccessor VLAFiller::itsChanFlagAcc [private]

Definition at line 304 of file VLAFiller.h.

TiledDataStManAccessor VLAFiller::itsCorrDataAcc [private]

Definition at line 303 of file VLAFiller.h.

TiledDataStManAccessor VLAFiller::itsDataAcc [private]

Definition at line 297 of file VLAFiller.h.

Block<Block<Int> > VLAFiller::itsDataId [private]

Definition at line 281 of file VLAFiller.h.

Block<IPosition> VLAFiller::itsDataShapes [private]

Definition at line 305 of file VLAFiller.h.

MDirection::Convert VLAFiller::itsDirCtr [private]

Definition at line 239 of file VLAFiller.h.

MDirection::Types VLAFiller::itsDirType [private]

Definition at line 234 of file VLAFiller.h.

Bool VLAFiller::itsEVLAisOn [private]

Definition at line 310 of file VLAFiller.h.

TiledDataStManAccessor VLAFiller::itsFlagAcc [private]

Definition at line 300 of file VLAFiller.h.

Block<Int> VLAFiller::itsFldId [private]

Definition at line 265 of file VLAFiller.h.

MeasFrame VLAFiller::itsFrame [private]

Definition at line 224 of file VLAFiller.h.

MFrequency::Convert VLAFiller::itsFreqCtr [private]

Definition at line 256 of file VLAFiller.h.

Double VLAFiller::itsFreqTolerance [private]

Definition at line 306 of file VLAFiller.h.

TiledDataStManAccessor VLAFiller::itsImagingWeightAcc [private]

Definition at line 301 of file VLAFiller.h.

Bool VLAFiller::itsInitEpoch [private]

Definition at line 311 of file VLAFiller.h.

Definition at line 217 of file VLAFiller.h.

Definition at line 309 of file VLAFiller.h.

LogIO VLAFiller::itsLog [private]

Definition at line 292 of file VLAFiller.h.

TiledDataStManAccessor VLAFiller::itsModDataAcc [private]

Definition at line 302 of file VLAFiller.h.

MeasurementSet VLAFiller::itsMS [private]

Definition at line 220 of file VLAFiller.h.

MDirection::Types VLAFiller::itsMSDirType [private]

Definition at line 231 of file VLAFiller.h.

Bool VLAFiller::itsNewAntName [private]

Definition at line 308 of file VLAFiller.h.

Bool VLAFiller::itsNewScan [private]

Definition at line 286 of file VLAFiller.h.

Block<Int> VLAFiller::itsPolId [private]

Definition at line 277 of file VLAFiller.h.

Definition at line 290 of file VLAFiller.h.

Definition at line 214 of file VLAFiller.h.

Definition at line 312 of file VLAFiller.h.

Block<Int> VLAFiller::itsScan [private]

Definition at line 287 of file VLAFiller.h.

TiledDataStManAccessor VLAFiller::itsSigmaAcc [private]

Definition at line 299 of file VLAFiller.h.

Block<Int> VLAFiller::itsSpId [private]

Definition at line 273 of file VLAFiller.h.

Record VLAFiller::itsTileId [private]

Definition at line 298 of file VLAFiller.h.

Muvw::Convert VLAFiller::itsUvwCtr [private]

Definition at line 250 of file VLAFiller.h.

Definition at line 206 of file VLAFiller.h.

MVEpoch VLAFiller::stopTime [private]

Definition at line 207 of file VLAFiller.h.


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