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
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.
| VLAFiller::~VLAFiller | ( | ) |
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] |
# 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.
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.
1.6.1