casa
$Rev:20696$
|
Functions to convert from VLA archive format to a MeasurementSet. More...
#include <VLAFiller.h>
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 |
Functions to convert from VLA archive format to a MeasurementSet.
Public interface
<h3>Review Status</h3><dl><dt>Date Reviewed:<dd>yyyy/mm/dd</dl>
Definition at line 102 of file VLAFiller.h.
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.
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] |
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.
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.
VLAFilterSet VLAFiller::itsInputFilters [private] |
Definition at line 217 of file VLAFiller.h.
Bool VLAFiller::itsKeepAutoCorr [private] |
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.
String VLAFiller::itsProject [private] |
Definition at line 290 of file VLAFiller.h.
VLALogicalRecord VLAFiller::itsRecord [private] |
Definition at line 214 of file VLAFiller.h.
Bool VLAFiller::itsRevBeenWarned [private] |
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.
String VLAFiller::projectCode [private] |
Definition at line 206 of file VLAFiller.h.
MVEpoch VLAFiller::stopTime [private] |
Definition at line 207 of file VLAFiller.h.