casa::FlagDataHandler Class Reference

A top level class defining the data handling interface for the flagging module. More...

#include <FlagDataHandler.h>

Inheritance diagram for casa::FlagDataHandler:
casa::FlagCalTableHandler casa::FlagMSHandler

List of all members.

Public Types

enum  iteration {
  COMPLETE_SCAN_MAPPED,
  COMPLETE_SCAN_MAP_SUB_INTEGRATIONS_ONLY,
  COMPLETE_SCAN_MAP_ANTENNA_PAIRS_ONLY,
  COMPLETE_SCAN_UNMAPPED,
  COMBINE_SCANS_MAPPED,
  COMBINE_SCANS_MAP_SUB_INTEGRATIONS_ONLY,
  COMBINE_SCANS_MAP_ANTENNA_PAIRS_ONLY,
  COMBINE_SCANS_UNMAPPED,
  ANTENNA_PAIR,
  SUB_INTEGRATION,
  ARRAY_FIELD
}
enum  tableType {
  MEASUREMENT_SET,
  CALIBRATION_TABLE
}

Public Member Functions

 FlagDataHandler (string msname, uShort iterationApproach=SUB_INTEGRATION, Double timeInterval=0)
 Default constructor NOTE: Time interval 0 groups all time steps together in one chunk.
virtual ~FlagDataHandler ()
 Default destructor.
virtual bool open ()
 Common MS/CalTables public interface.
virtual bool close ()
virtual bool selectData ()
virtual bool generateIterator ()
virtual bool nextChunk ()
virtual bool nextBuffer ()
virtual bool flushFlags ()
virtual String getTableName ()
virtual bool parseExpression (MSSelection &)
virtual bool checkIfColumnExists (String)
virtual bool summarySignal ()
void setIterationApproach (uShort iterationApproach)
 Set the iteration approach.
bool setDataSelection (Record record)
 Set Data Selection parameters.
void setTimeInterval (Double timeInterval)
 Set time interval (also known as ntime).
void enableAsyncIO (Bool enable)
 Methods to switch on/off async i/o.
void preLoadColumn (VisBufferComponent2 column)
 Pre-Load columns (in order to avoid parallelism problems when not using async i/o, and also to know what columns to pre-fetch in async i/o mode).
void preFetchColumns ()
void stopIteration ()
 Stop iterating.
Cube< Bool > * getModifiedFlagCube ()
 As requested by Urvashi R.V.
Cube< Bool > * getOriginalFlagCube ()
Vector< Bool > * getModifiedFlagRow ()
Vector< Bool > * getOriginalFlagRow ()
void setMapAntennaPairs (bool activated)
 Functions to switch on/off mapping functions.
void setMapSubIntegrations (bool activated)
void setMapPolarizations (bool activated)
void setMapAntennaPointing (bool activated)
void setScanStartStopMap (bool activated)
void setScanStartStopFlaggedMap (bool activated)
void setTimeAverageIter (bool activated)
void setChanAverageIter (Vector< Int > chanbin)
antennaPairMapgetAntennaPairMap ()
 Accessors for the mapping functions.
subIntegrationMapgetSubIntegrationMap ()
polarizationMapgetPolarizationMap ()
polarizationIndexMapgetPolarizationIndexMap ()
antennaPointingMapgetMapAntennaPointing ()
scanStartStopMapgetMapScanStartStop ()
lambdaMapgetLambdaMap ()
void setProfiling (Bool value)
Cube< Complex > & weightVisCube ()
 Get a Float visCube and return a Complex one.

Public Attributes

Cube< Complex > weight_spectrum_p
casa::LogIO * logger_p
 Make the logger public to that we can use it from FlagAgentBase::create.
String tablename_p
 Measurement set section.
MSSelection * measurementSetSelection_p
Vector< String > * antennaNames_p
std::map< string, std::pair
< Int, Int > > 
baselineToAnt1Ant2_p
std::map< std::pair< Int, Int >
, string > 
Ant1Ant2ToBaseline_p
ROScalarMeasColumn< MPosition > * antennaPositions_p
Vector< Double > * antennaDiameters_p
Vector< String > * fieldNames_p
std::vector< String > * corrProducts_p
VisBufferComponents2prefetchColumns_p
 RO Visibility Iterator.
uLong processedRows
 Iteration counters.
uShort chunkNo
uShort bufferNo
bool flushFlags_p
 FlagDataHanler-FlagAgents interaction.
bool flushFlagRow_p
uInt64 chunkCounts_p
uInt64 progressCounts_p
uInt64 msCounts_p
uShort summaryThreshold_p
bool printChunkSummary_p
uShort tableTye_p
Bool loadProcessorTable_p
Vector< Bool > isCorrelatorType_p
 PROCESSOR sub-table section.
bool processorTableExist_p
vi::VisBuffer2visibilityBuffer_p
 Visibility Buffer WARNING: The attach mechanism only works with pointers or referenced variables.
bool groupTimeSteps_p
 Vis buffer characteristics (constant values).
Block< int > sortOrder_p
Bool enableTimeAvg_p
 Time average iterator parameters.
Bool enableChanAvg_p
Double timeAverageBin_p
Vector< Int > chanAverageBin_p
String dataColumnType_p
vi::AveragingOptions timeAvgOptions_p
Record chanAvgOptions_p

Protected Member Functions

virtual void generateAntennaPairMap ()
 Common MS/CalTables private interface.
virtual void generateSubIntegrationMap ()
virtual void generatePolarizationsMap ()
virtual void generateAntennaPointingMap ()
virtual void generateScanStartStopMap ()

Protected Attributes

bool anySelection_p
 Data Selection ranges.
bool inrowSelection_p
casa::String arraySelection_p
casa::String fieldSelection_p
casa::String scanSelection_p
casa::String timeSelection_p
casa::String spwSelection_p
casa::String baselineSelection_p
casa::String uvwSelection_p
casa::String polarizationSelection_p
casa::String scanIntentSelection_p
casa::String observationSelection_p
bool asyncio_enabled_p
 Async I/O stuff.
vector< VisBufferComponent2preLoadColumns_p
 Pre-Load columns (in order to avoid parallelism problems when not using async i/o, and also to know what columns to pre-fetch in async i/o mode).
uShort iterationApproach_p
 Iteration parameters.
Double timeInterval_p
bool slurp_p
 Slurp flag.
bool chunksInitialized_p
 Iteration initialization parameters.
bool buffersInitialized_p
bool iteratorGenerated_p
bool stopIteration_p
Cube< Bool > originalFlagCube_p
 Flag Cubes.
Cube< Bool > modifiedFlagCube_p
Vector< Bool > originalFlagRow_p
 FlagRows.
Vector< Bool > modifiedFlagRow_p
antennaPairMapantennaPairMap_p
 Mapping members.
subIntegrationMapsubIntegrationMap_p
polarizationMappolarizationMap_p
polarizationIndexMappolarizationIndexMap_p
antennaPointingMapantennaPointingMap_p
scanStartStopMapscanStartStopMap_p
lambdaMaplambdaMap_p
bool mapAntennaPairs_p
bool mapSubIntegrations_p
bool mapPolarizations_p
bool mapAntennaPointing_p
bool mapScanStartStop_p
bool mapScanStartStopFlagged_p
bool stats_p
 Stats members.
uLong cubeAccessCounter_p
double cubeAccessTime_p
uLong cubeAccessCounterTotal_p
double cubeAccessTimeTotal_p
bool profiling_p
 Profiling.

Detailed Description

A top level class defining the data handling interface for the flagging module.

Intended use:

Public interface

Prerequisite

Etymology

FlagDataHandler stands for generic data handling (i.e. MSs, CalTables, ...) specific to the flagging module

Synopsis

This is a top-level class defining the data handling interface for the flagging module. There are various methods (virtual) that must be re-implemented by the specific derived classes (e.g. FlagMSHandler, FlagCalTableHandler). These methods essentially cover:

Additionally there are public non-virtual methods to:

Also at this top level there are public members which are used by the FlagAgent classes, so that there is no dependency with the specific implementation classes (e.g. FlagMsHandler, FlagCalTableHandler), and thus no re-implementation is required at the FlagAgent level.

Motivation

The motivation for the FlagDataHandler class is having all the data operations encapsulated in one single class, with a common interface for all types of tables (MSs, CalTables, SingleDish), so that no specific specific table type implementation has to be done at the FlagAgent level.

Example

 // The following code sets up a FlagDataHandler with either CalTable or MS implementation and
 // iterates through the table applying a clip agent, flushing the flags, and extracting summaries.
 
 // IMPORTANT NOTE:
 // The order of FlagDataHandler and FlagAgent initialization is critical to have everything right,
 // in particular data selection must happen before initializing FlagAgents, and iterator generation
 // must be done after initializing FlagAgents, so that each agent can communicate to the FlagDataHandler
 // which columns have to be pre-fetched (async i/o or parallel mode), and what mapping options are necessary.
 
 // NOTE ON ASYNC I/O:
 // Asyncnronous I/O is only enabled for MS-type tables, but not for CalTables, and it is necessary to switch
 // it on before generating the iterators. Something else to take into account, is that there are 2 global
 // switches at .casarc level which invalidate the application code selection:
 //
 // VisibilityIterator.async.enabled rules over
 // |-> FlagDataHandler.asyncio, and in turns rules over
 //     |-> FlagDataHandler.enableAsyncIO(True)
 
 // Identify table type
 Table table(msname_p,TableLock(TableLock::AutoNoReadLocking));
 TableInfo& info = table.tableInfo();
 String type=info.type();
 
 // Create derived FlagDataHandler object with corresponding implementation
 FlagDataHandler *fdh_p = NULL;
 if (type == "Measurement Set")
 {
 fdh_p = new FlagMSHandler(msname_p, FlagDataHandler::COMPLETE_SCAN_UNMAPPED, timeInterval_p);
 }
 else
 {
 fdh_p = new FlagCalTableHandler(msname_p, FlagDataHandler::COMPLETE_SCAN_UNMAPPED, timeInterval_p);
 }
 
 // NOTE: It is also possible to independently set the iteration approach via the setIterationApproach
 //       method which accepts the following modes, defined in the FlagDataHandler iteration enumeration
 //
 //       COMPLETE_SCAN_MAPPED:
 //       - Sort by OBSERVATION_ID, ARRAY_ID, SCAN_NUMBER, FIELD_ID, DATA_DESC_ID and TIME
 //       - Group all time steps together, so that there is no sub-chunk iteration
 //       - Generate baseline maps (to iterate trough rows with the same antenna1, antenna2)
 //       - Generate sub-integration maps (to iterate trough rows with the same timestamp)
 //       COMPLETE_SCAN_MAP_SUB_INTEGRATIONS_ONLY:
 //       - Sort by OBSERVATION_ID, ARRAY_ID, SCAN_NUMBER, FIELD_ID, DATA_DESC_ID and TIME
 //       - Group all time steps together, so that there is no sub-chunk iteration
 //       * Don't generate baseline maps
 //       - Generate sub-integration maps (to iterate trough rows with the same timestamp)
 //       COMPLETE_SCAN_MAP_ANTENNA_PAIRS_ONLY:
 //       - Sort by OBSERVATION_ID, ARRAY_ID, SCAN_NUMBER, FIELD_ID, DATA_DESC_ID and TIME
 //       - Group all time steps together, so that there is no sub-chunk iteration
 //       - Generate baseline maps (to iterate trough rows with the same antenna1, antenna2)
 //       * Don't generate sub-integration maps
 //       COMPLETE_SCAN_UNMAPPED:
 //       - Sort by OBSERVATION_ID, ARRAY_ID, SCAN_NUMBER, FIELD_ID, DATA_DESC_ID and TIME
 //       - Group all time steps together, so that there is no sub-chunk iteration
 //       * Don't generate baseline maps
 //       * Don't generate sub-integration maps
 //       COMBINE_SCANS_MAPPED:
 //       - Sort by OBSERVATION_ID, ARRAY_ID, FIELD_ID, DATA_DESC_ID and TIME
 //       - Group all time steps together, so that there is no sub-chunk iteration
 //       - Generate baseline maps (to iterate trough rows with the same antenna1, antenna2)
 //       - Generate sub-integration maps (to iterate trough rows with the same timestamp)
 //       COMBINE_SCANS_MAP_SUB_INTEGRATIONS_ONLY:
 //       - Sort by OBSERVATION_ID, ARRAY_ID, FIELD_ID, DATA_DESC_ID and TIME
 //       - Group all time steps together, so that there is no sub-chunk iteration
 //       * Don't generate baseline maps
 //       - Generate sub-integration maps (to iterate trough rows with the same timestamp)
 //       COMBINE_SCANS_MAP_ANTENNA_PAIRS_ONLY:
 //       - Sort by OBSERVATION_ID, ARRAY_ID, FIELD_ID, DATA_DESC_ID and TIME
 //       - Group all time steps together, so that there is no sub-chunk iteration
 //       - Generate baseline maps (to iterate trough rows with the same antenna1, antenna2)
 //       * Don't generate sub-integration maps
 //       COMBINE_SCANS_UNMAPPED:
 //       - Sort by OBSERVATION_ID, ARRAY_ID, FIELD_ID, DATA_DESC_ID and TIME
 //       - Group all time steps together, so that there is no sub-chunk iteration
 //       * Don't generate baseline maps
 //       * Don't generate sub-integration maps
 //       ANTENNA_PAIR:
 //       - Sort by OBSERVATION_ID, ARRAY_ID, FIELD_ID, ANTENNA1, ANTENNA2, DATA_DESC_ID and TIME
 //       - Group all time steps together, so that there is no sub-chunk iteration
 //       * Don't generate baseline maps (they are not necessary because the chunks have constant ANTENNA1,ANTENNA2)
 //       * Don't generate sub-integration maps
 //       SUB_INTEGRATION:
 //       - Sort by OBSERVATION_ID, ARRAY_ID, SCAN_NUMBER, FIELD_ID, DATA_DESC_ID and TIME
 //       - Don't group all time steps together, so it is necessary to add an inner sub-chunk iteration loop
 //       * Don't generate baseline maps (it is not possible because not all the rows corresponding to a given baseline are available)
 //       * Don't generate sub-integration maps (they are not necessary because the sub-chunks have constant TIME)
 //       ARRAY_FIELD:
 //       - Sort by OBSERVATION_ID, ARRAY_ID, FIELD_ID, DATA_DESC_ID and TIME
 //       - Don't group all time steps together, so it is necessary to add an inner sub-chunk iteration loop
 //       * Don't generate baseline maps (it is not possible because not all the rows corresponding to a given baseline are available)
 //       * Don't generate sub-integration maps (they are not necessary because the sub-chunks have constant TIME)
 //       * NOTE: This is the iteration approach used by the old flagger framework
 
 // Open table
 fdh_p->open();
 
 // Parse data selection to Flag Data Handler
 fdh_p->setDataSelection(dataSelection);
 
 // Select data (thus creating selected table)
 fdh_p->selectData();
 
 // Create flagging agent and list
 Record agentConfig;
 agentConfig.define("mode","clip")
 FlagAgentBase *agent = FlagAgentBase::create(fdh_p,agentConfig);
 FlagAgentList agentList;
 agentList.push_back(agent);
 
 // Switch on/off async i/p
 fdh_p->enableAsyncIO(true);
 
 // Generate table iterator
 fdh_p->generateIterator();
 
 // Start Flag Agent
 agentList.start();
 
 // Iterates over chunks (constant column values)
 while (fdh_p->nextChunk())
 {
 // Iterates over buffers (time steps)
 while (fdh_p->nextBuffer())
 {
 // Apply flags
 agentList.apply();
 // Flush flag cube
 fdh_p->flushFlags();
 }
 
 // Print end-of-chunk statistics
 agentList.chunkSummary();
 }
 
 // Print total stats from each agent
 agentList.msSummary();
 
 // Stop Flag Agent
 agentList.terminate();
 agentList.join();
 
 // Close MS
 fdh_p->close();
 
 // Clear Flag Agent List
 agentList.clear();

Example

 // The following code shows the FlagAgent-FlagDataHandler interaction works internally:
 
 // First of all, at construction time, each agent has to communicate to the FlagDataHandler
 // which columns have to be pre-fetched (for async i/o or parallel mode) and what mapping
 // options are necessary

 // ...for instance in the case of FlagAgentShadow we need Ant1,Ant2,UVW,TimeCentroid and PhaseCenter:
 flagDataHandler_p->preLoadColumn(vi::Antenna1);
 flagDataHandler_p->preLoadColumn(vi::Antenna2);
 flagDataHandler_p->preLoadColumn(vi::uvw);
 flagDataHandler_p->preLoadColumn(vi::TimeCentroid);
 flagDataHandler_p->preLoadColumn(vi::PhaseCenter);
 
 // ...and FlagAgentElevation needs to have the antenna pointing information globally available for each chunk:
 flagDataHandler_p->setMapAntennaPointing(true);
 
 // Then, at iteration time, the FlagAgentBase class has access to the VisBuffer held
 // in the FlagDataHandler, in order to retrieve the meta-data columns needed for the
 // data selection engine (agent-level row filtering).
 // NOTE: The VisBuffer is actually held within an auto-pointer wrapper,
 //       thus there is an additional get() involved when accessing it.
 
 if (spwList_p.size())
 {
 if (!find(spwList_p,visibilityBuffer_p->get()->spectralWindow())) return false;
 }
 
 // The sorting columns used for the iteration are also accessible to optimize the selection engine:
 // (e.g.: If scan is constant check only 1st row)
 if ( (scanList_p.size()>0) and (find(flagDataHandler_p->sortOrder_p,MS::SCAN_NUMBER)==true) )
 {
 if (!find(scanList_p,visibilityBuffer_p->get()->scan()[0])) return false;
 }
 
 // Once that chunk/rows are evaluated as eligible for the flagging process
 // by the data selection engine, the previously booked maps at construction
 // time can be access in order to iterate trough the data as desired:
 // e.g.: Baseline (antenna pairs) iteration
 for (myAntennaPairMapIterator=flagDataHandler_p->getAntennaPairMap()->begin();
 myAntennaPairMapIterator != flagDataHandler_p->getAntennaPairMap()->end();
 ++myAntennaPairMapIterator)
 {
 // NOTE: The following code is also encapsulated in the FlagAgentBase::processAntennaPair(Int antenna1,Int antenna2) code
 
 // From the antenna map we can retrieve the rows corresponding to the baseline defined by the antenna pair
 vector<uInt> baselineRows = (*flagDataHandler_p->getAntennaPairMap())[std::make_pair(antennaPair.first,antennaPair.second)];
 
 // This rows can be now inserted in the mapper classes (VisMapper and FlagMapper using the CubeView<T> template class)
 VisMapper visibilitiesMap = VisMapper(expression_p,flagDataHandler_p->getPolarizationMap());
 FlagMapper flagsMap = FlagMapper(flag_p,visibilitiesMap.getSelectedCorrelations());
 setVisibilitiesMap(antennaRows,&visibilitiesMap);
 setFlagsMap(antennaRows,&flagsMap);
 }
 
 // Finally, after flagging time, the FlagAgent can communicate to the FlagDataHandler
 // that the modified FlagCube has to be flushed to disk, this is a small but very important
 // step in order to avoid unnecessary I/O activity when a chunk is not eligible for flagging
 // or the auto-flagging algorithms don't produce any flags.
 
 // If any row was flag, then we have to flush the flagRow
 if (flagRow_p) flagDataHandler_p->flushFlagRow_p = true;
 // If any flag was raised, then we have to flush the flagCube
 if (visBufferFlags_p>0) flagDataHandler_p->flushFlags_p = true;

Definition at line 807 of file FlagDataHandler.h.


Member Enumeration Documentation

Enumerator:
COMPLETE_SCAN_MAPPED 
COMPLETE_SCAN_MAP_SUB_INTEGRATIONS_ONLY 
COMPLETE_SCAN_MAP_ANTENNA_PAIRS_ONLY 
COMPLETE_SCAN_UNMAPPED 
COMBINE_SCANS_MAPPED 
COMBINE_SCANS_MAP_SUB_INTEGRATIONS_ONLY 
COMBINE_SCANS_MAP_ANTENNA_PAIRS_ONLY 
COMBINE_SCANS_UNMAPPED 
ANTENNA_PAIR 
SUB_INTEGRATION 
ARRAY_FIELD 

Definition at line 812 of file FlagDataHandler.h.

Enumerator:
MEASUREMENT_SET 
CALIBRATION_TABLE 

Definition at line 827 of file FlagDataHandler.h.


Constructor & Destructor Documentation

casa::FlagDataHandler::FlagDataHandler ( string  msname,
uShort  iterationApproach = SUB_INTEGRATION,
Double  timeInterval = 0 
)

Default constructor NOTE: Time interval 0 groups all time steps together in one chunk.

virtual casa::FlagDataHandler::~FlagDataHandler (  )  [virtual]

Default destructor.


Member Function Documentation

virtual bool casa::FlagDataHandler::checkIfColumnExists ( String   )  [inline, virtual]

Reimplemented in casa::FlagCalTableHandler, and casa::FlagMSHandler.

Definition at line 850 of file FlagDataHandler.h.

virtual bool casa::FlagDataHandler::close (  )  [inline, virtual]

Reimplemented in casa::FlagCalTableHandler, and casa::FlagMSHandler.

Definition at line 842 of file FlagDataHandler.h.

void casa::FlagDataHandler::enableAsyncIO ( Bool  enable  ) 

Methods to switch on/off async i/o.

virtual bool casa::FlagDataHandler::flushFlags (  )  [inline, virtual]

Reimplemented in casa::FlagCalTableHandler, and casa::FlagMSHandler.

Definition at line 847 of file FlagDataHandler.h.

virtual void casa::FlagDataHandler::generateAntennaPairMap (  )  [protected, virtual]

Common MS/CalTables private interface.

virtual void casa::FlagDataHandler::generateAntennaPointingMap (  )  [protected, virtual]
virtual bool casa::FlagDataHandler::generateIterator (  )  [inline, virtual]

Reimplemented in casa::FlagCalTableHandler, and casa::FlagMSHandler.

Definition at line 844 of file FlagDataHandler.h.

virtual void casa::FlagDataHandler::generatePolarizationsMap (  )  [protected, virtual]
virtual void casa::FlagDataHandler::generateScanStartStopMap (  )  [protected, virtual]
virtual void casa::FlagDataHandler::generateSubIntegrationMap (  )  [protected, virtual]
antennaPairMap* casa::FlagDataHandler::getAntennaPairMap (  )  [inline]

Accessors for the mapping functions.

Definition at line 890 of file FlagDataHandler.h.

References antennaPairMap_p.

lambdaMap* casa::FlagDataHandler::getLambdaMap (  )  [inline]

Definition at line 896 of file FlagDataHandler.h.

References lambdaMap_p.

antennaPointingMap* casa::FlagDataHandler::getMapAntennaPointing (  )  [inline]

Definition at line 894 of file FlagDataHandler.h.

References antennaPointingMap_p.

scanStartStopMap* casa::FlagDataHandler::getMapScanStartStop (  )  [inline]

Definition at line 895 of file FlagDataHandler.h.

References scanStartStopMap_p.

Cube<Bool>* casa::FlagDataHandler::getModifiedFlagCube (  )  [inline]

As requested by Urvashi R.V.

provide access to the original and modified flag cubes

Definition at line 874 of file FlagDataHandler.h.

References modifiedFlagCube_p.

Vector<Bool>* casa::FlagDataHandler::getModifiedFlagRow (  )  [inline]

Definition at line 876 of file FlagDataHandler.h.

References modifiedFlagRow_p.

Cube<Bool>* casa::FlagDataHandler::getOriginalFlagCube (  )  [inline]

Definition at line 875 of file FlagDataHandler.h.

References originalFlagCube_p.

Vector<Bool>* casa::FlagDataHandler::getOriginalFlagRow (  )  [inline]

Definition at line 877 of file FlagDataHandler.h.

References originalFlagRow_p.

polarizationIndexMap* casa::FlagDataHandler::getPolarizationIndexMap (  )  [inline]

Definition at line 893 of file FlagDataHandler.h.

References polarizationIndexMap_p.

polarizationMap* casa::FlagDataHandler::getPolarizationMap (  )  [inline]

Definition at line 892 of file FlagDataHandler.h.

References polarizationMap_p.

subIntegrationMap* casa::FlagDataHandler::getSubIntegrationMap (  )  [inline]

Definition at line 891 of file FlagDataHandler.h.

References subIntegrationMap_p.

virtual String casa::FlagDataHandler::getTableName (  )  [inline, virtual]

Reimplemented in casa::FlagCalTableHandler, and casa::FlagMSHandler.

Definition at line 848 of file FlagDataHandler.h.

References String.

virtual bool casa::FlagDataHandler::nextBuffer (  )  [inline, virtual]

Reimplemented in casa::FlagCalTableHandler, and casa::FlagMSHandler.

Definition at line 846 of file FlagDataHandler.h.

virtual bool casa::FlagDataHandler::nextChunk (  )  [inline, virtual]

Reimplemented in casa::FlagCalTableHandler, and casa::FlagMSHandler.

Definition at line 845 of file FlagDataHandler.h.

virtual bool casa::FlagDataHandler::open (  )  [inline, virtual]

Common MS/CalTables public interface.

Reimplemented in casa::FlagCalTableHandler, and casa::FlagMSHandler.

Definition at line 841 of file FlagDataHandler.h.

virtual bool casa::FlagDataHandler::parseExpression ( MSSelection &   )  [inline, virtual]

Reimplemented in casa::FlagCalTableHandler, and casa::FlagMSHandler.

Definition at line 849 of file FlagDataHandler.h.

void casa::FlagDataHandler::preFetchColumns (  ) 
void casa::FlagDataHandler::preLoadColumn ( VisBufferComponent2  column  ) 

Pre-Load columns (in order to avoid parallelism problems when not using async i/o, and also to know what columns to pre-fetch in async i/o mode).

virtual bool casa::FlagDataHandler::selectData (  )  [inline, virtual]

Reimplemented in casa::FlagCalTableHandler, and casa::FlagMSHandler.

Definition at line 843 of file FlagDataHandler.h.

void casa::FlagDataHandler::setChanAverageIter ( Vector< Int >  chanbin  ) 
bool casa::FlagDataHandler::setDataSelection ( Record  record  ) 

Set Data Selection parameters.

void casa::FlagDataHandler::setIterationApproach ( uShort  iterationApproach  ) 

Set the iteration approach.

void casa::FlagDataHandler::setMapAntennaPairs ( bool  activated  ) 

Functions to switch on/off mapping functions.

void casa::FlagDataHandler::setMapAntennaPointing ( bool  activated  ) 
void casa::FlagDataHandler::setMapPolarizations ( bool  activated  ) 
void casa::FlagDataHandler::setMapSubIntegrations ( bool  activated  ) 
void casa::FlagDataHandler::setProfiling ( Bool  value  )  [inline]

Definition at line 898 of file FlagDataHandler.h.

References profiling_p.

void casa::FlagDataHandler::setScanStartStopFlaggedMap ( bool  activated  ) 
void casa::FlagDataHandler::setScanStartStopMap ( bool  activated  ) 
void casa::FlagDataHandler::setTimeAverageIter ( bool  activated  ) 
void casa::FlagDataHandler::setTimeInterval ( Double  timeInterval  ) 

Set time interval (also known as ntime).

void casa::FlagDataHandler::stopIteration (  )  [inline]

Stop iterating.

Definition at line 871 of file FlagDataHandler.h.

References stopIteration_p.

virtual bool casa::FlagDataHandler::summarySignal (  )  [inline, virtual]

Reimplemented in casa::FlagCalTableHandler, and casa::FlagMSHandler.

Definition at line 851 of file FlagDataHandler.h.

Cube<Complex>& casa::FlagDataHandler::weightVisCube (  ) 

Get a Float visCube and return a Complex one.

Reimplemented in casa::FlagMSHandler.


Member Data Documentation

std::map< std::pair<Int,Int>, string > casa::FlagDataHandler::Ant1Ant2ToBaseline_p

Definition at line 912 of file FlagDataHandler.h.

Definition at line 914 of file FlagDataHandler.h.

Definition at line 910 of file FlagDataHandler.h.

Mapping members.

Definition at line 1010 of file FlagDataHandler.h.

Referenced by getAntennaPairMap().

Definition at line 1014 of file FlagDataHandler.h.

Referenced by getMapAntennaPointing().

ROScalarMeasColumn<MPosition>* casa::FlagDataHandler::antennaPositions_p

Definition at line 913 of file FlagDataHandler.h.

Data Selection ranges.

Definition at line 971 of file FlagDataHandler.h.

casa::String casa::FlagDataHandler::arraySelection_p [protected]

Definition at line 973 of file FlagDataHandler.h.

Async I/O stuff.

Definition at line 985 of file FlagDataHandler.h.

Definition at line 978 of file FlagDataHandler.h.

std::map< string, std::pair<Int,Int> > casa::FlagDataHandler::baselineToAnt1Ant2_p

Definition at line 911 of file FlagDataHandler.h.

Definition at line 923 of file FlagDataHandler.h.

Definition at line 997 of file FlagDataHandler.h.

Definition at line 956 of file FlagDataHandler.h.

Definition at line 959 of file FlagDataHandler.h.

Definition at line 928 of file FlagDataHandler.h.

Definition at line 922 of file FlagDataHandler.h.

Iteration initialization parameters.

Definition at line 996 of file FlagDataHandler.h.

Definition at line 916 of file FlagDataHandler.h.

Definition at line 1026 of file FlagDataHandler.h.

Definition at line 1028 of file FlagDataHandler.h.

Definition at line 1027 of file FlagDataHandler.h.

Definition at line 1029 of file FlagDataHandler.h.

Definition at line 957 of file FlagDataHandler.h.

Definition at line 954 of file FlagDataHandler.h.

Time average iterator parameters.

Definition at line 953 of file FlagDataHandler.h.

Definition at line 915 of file FlagDataHandler.h.

casa::String casa::FlagDataHandler::fieldSelection_p [protected]

Definition at line 974 of file FlagDataHandler.h.

Definition at line 927 of file FlagDataHandler.h.

FlagDataHanler-FlagAgents interaction.

Definition at line 926 of file FlagDataHandler.h.

Vis buffer characteristics (constant values).

Definition at line 949 of file FlagDataHandler.h.

Definition at line 972 of file FlagDataHandler.h.

PROCESSOR sub-table section.

Definition at line 937 of file FlagDataHandler.h.

Iteration parameters.

Definition at line 991 of file FlagDataHandler.h.

Definition at line 998 of file FlagDataHandler.h.

Definition at line 1016 of file FlagDataHandler.h.

Referenced by getLambdaMap().

Definition at line 934 of file FlagDataHandler.h.

Make the logger public to that we can use it from FlagAgentBase::create.

Definition at line 905 of file FlagDataHandler.h.

Definition at line 1017 of file FlagDataHandler.h.

Definition at line 1020 of file FlagDataHandler.h.

Definition at line 1019 of file FlagDataHandler.h.

Definition at line 1021 of file FlagDataHandler.h.

Definition at line 1022 of file FlagDataHandler.h.

Definition at line 1018 of file FlagDataHandler.h.

Definition at line 909 of file FlagDataHandler.h.

Definition at line 1003 of file FlagDataHandler.h.

Referenced by getModifiedFlagCube().

Vector<Bool> casa::FlagDataHandler::modifiedFlagRow_p [protected]

Definition at line 1007 of file FlagDataHandler.h.

Referenced by getModifiedFlagRow().

Definition at line 930 of file FlagDataHandler.h.

Definition at line 982 of file FlagDataHandler.h.

Flag Cubes.

Definition at line 1002 of file FlagDataHandler.h.

Referenced by getOriginalFlagCube().

Vector<Bool> casa::FlagDataHandler::originalFlagRow_p [protected]

FlagRows.

Definition at line 1006 of file FlagDataHandler.h.

Referenced by getOriginalFlagRow().

Definition at line 1013 of file FlagDataHandler.h.

Referenced by getPolarizationIndexMap().

Definition at line 1012 of file FlagDataHandler.h.

Referenced by getPolarizationMap().

Definition at line 980 of file FlagDataHandler.h.

RO Visibility Iterator.

Definition at line 919 of file FlagDataHandler.h.

Pre-Load columns (in order to avoid parallelism problems when not using async i/o, and also to know what columns to pre-fetch in async i/o mode).

Definition at line 988 of file FlagDataHandler.h.

Definition at line 932 of file FlagDataHandler.h.

Iteration counters.

Definition at line 921 of file FlagDataHandler.h.

Definition at line 938 of file FlagDataHandler.h.

Profiling.

Definition at line 1032 of file FlagDataHandler.h.

Referenced by setProfiling().

Definition at line 929 of file FlagDataHandler.h.

Definition at line 981 of file FlagDataHandler.h.

casa::String casa::FlagDataHandler::scanSelection_p [protected]

Definition at line 975 of file FlagDataHandler.h.

Definition at line 1015 of file FlagDataHandler.h.

Referenced by getMapScanStartStop().

Slurp flag.

Definition at line 994 of file FlagDataHandler.h.

Definition at line 950 of file FlagDataHandler.h.

casa::String casa::FlagDataHandler::spwSelection_p [protected]

Definition at line 977 of file FlagDataHandler.h.

Stats members.

Definition at line 1025 of file FlagDataHandler.h.

Definition at line 999 of file FlagDataHandler.h.

Referenced by stopIteration().

Definition at line 1011 of file FlagDataHandler.h.

Referenced by getSubIntegrationMap().

Definition at line 931 of file FlagDataHandler.h.

Measurement set section.

Definition at line 908 of file FlagDataHandler.h.

Definition at line 933 of file FlagDataHandler.h.

Definition at line 955 of file FlagDataHandler.h.

Definition at line 958 of file FlagDataHandler.h.

Definition at line 992 of file FlagDataHandler.h.

casa::String casa::FlagDataHandler::timeSelection_p [protected]

Definition at line 976 of file FlagDataHandler.h.

casa::String casa::FlagDataHandler::uvwSelection_p [protected]

Definition at line 979 of file FlagDataHandler.h.

Visibility Buffer WARNING: The attach mechanism only works with pointers or referenced variables.

Otherwise the VisBuffer is created and attached, but when it is assigned to the member it is detached because of the dynamically called destructor

Definition at line 946 of file FlagDataHandler.h.

Reimplemented in casa::FlagMSHandler.

Definition at line 902 of file FlagDataHandler.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1