casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Private Attributes | List of all members
casa::RFABase Class Reference

Abstract RedFlagger Agent base class. More...

#include <RFABase.h>

Inheritance diagram for casa::RFABase:
casa::FlaggerEnums casa::RFAFlagCubeBase casa::RFADiffBase casa::RFANewMedianClip casa::RFASelector casa::RFASpectralRej casa::RFATimeFreqCrop casa::RFAUVBinner casa::RFADiffMapBase casa::RFAFlagExaminer casa::RFAFreqMedian casa::RFATimeMedian

Public Types

enum  IterMode {
  STOP,
  DRY,
  DATA,
  CONT
}
 iteration modes More...
 
- Public Types inherited from casa::FlaggerEnums
enum  StatEnums {
  POLZN,
  POL,
  CORR,
  CHAN,
  IFR,
  TIME,
  ROW,
  ANT,
  FEED,
  FEEDCORR,
  NONE,
  Num_StatEnums
}
 
enum  PreFlagPolicy {
  FL_HONOR,
  FL_IGNORE,
  FL_RESET
}
 

Public Member Functions

 RFABase (RFChunkStats &ch, const casacore::RecordInterface &parm)
 An agent is always constructed from a chunk stats accessor, and a record of parameters. More...
 
virtual ~RFABase ()
 Destructor. More...
 
virtual void init ()
 This method is called after constructing the agent. More...
 
virtual casacore::uInt estimateMemoryUse ()
 This method is called before iterating over a chunk, to inquire the expected memory use. More...
 
virtual casacore::Bool newChunk (casacore::Int &)
 Called before iterating over a chunk. More...
 
virtual void endChunk ()
 Called once finished with a chunk. More...
 
virtual void startData (bool)
 Called before starting a data pass on a chunk. More...
 
virtual void startDry (bool)
 Called before starting a dry pass on a chunk. More...
 
virtual void startFlag (bool)
 Called before starting the fetch-flags pass. More...
 
virtual IterMode endData ()
 Called after a pass is completed successfully (i.e., not stopped by start or iter methods). More...
 
virtual IterMode endDry ()
 Called after a dry pass is complete. More...
 
virtual void endFlag ()
 Called after a flag pass is complete. More...
 
virtual void endRows (casacore::uInt)
 Called at end of time chunk. More...
 
virtual IterMode iterTime (casacore::uInt)
 Iteration methods for a data pass. More...
 
virtual IterMode iterRow (casacore::uInt)
 iterRow() is called once per each row in the VisBuffer. More...
 
virtual IterMode iterDry (casacore::uInt)
 Iteration method for a dry pass. More...
 
virtual void iterFlag (casacore::uInt)
 Iteration method for a flag pass. More...
 
virtual casacore::String getDesc ()
 called to obtain a short description of this RFA More...
 
virtual casacore::String getStats ()
 called (before endChunk()) to obtain a statistics report More...
 
virtual void printFlaggingReport ()
 
virtual casacore::String getID ()
 
const casacore::Stringname ()
 returns the name of this RFA (set in myname) More...
 
casacore::Bool isActive ()
 returns the active status More...
 
casacore::LogIOlogSink ()
 accessor to a casacore::LogIO for this agent More...
 
virtual casacore::Record getResult ()
 
virtual void finalize ()
 
virtual void initialize ()
 Initialize chunk. More...
 
virtual void initializeIter (casacore::uInt)
 
virtual void finalizeIter (casacore::uInt)
 
virtual void setNAgent (casacore::uInt n)
 
virtual void setOnlySelector (bool only_sel)
 

Static Public Member Functions

static void setIndexingBase (casacore::uInt base)
 static method for setting the indexing base for agent arguments More...
 

Protected Member Functions

casacore::uInt num (StatEnums which)
 
RFlagWord corrMask ()
 

Static Protected Member Functions

static casacore::uInt indexingBase ()
 global flag indicates that Glish (1-based) indexing is in use for agent arguments More...
 

Protected Attributes

casacore::uInt nAgent
 
RFChunkStatschunk
 
casacore::Record params
 
casacore::String myname
 
bool only_selector
 
RFlagWord corrmask
 Bit mask of correlations which are used & flagged by this RFA. More...
 
casacore::Bool active
 flag: agent is active for this chunk (set in newChunk) More...
 
casacore::LogIO os
 

Static Private Attributes

static casacore::uInt indexing_base
 

Detailed Description

Abstract RedFlagger Agent base class.

Intended use:

Internal

Synopsis

RFABase defines the interface for a flagging agent

Motivation

RedFlagger works with objetcs called flagging agents. This class defines the complete interface between RedFlagger and agents.

To Do

Definition at line 59 of file RFABase.h.

Member Enumeration Documentation

iteration modes

Enumerator
STOP 
DRY 
DATA 
CONT 

Definition at line 63 of file RFABase.h.

Constructor & Destructor Documentation

casa::RFABase::RFABase ( RFChunkStats ch,
const casacore::RecordInterface parm 
)

An agent is always constructed from a chunk stats accessor, and a record of parameters.

No other constructors are defined, and no others may be used.

virtual casa::RFABase::~RFABase ( )
inlinevirtual

Destructor.

Definition at line 76 of file RFABase.h.

Member Function Documentation

RFlagWord casa::RFABase::corrMask ( )
inlineprotected

Definition at line 188 of file RFABase.h.

References corrmask.

virtual void casa::RFABase::endChunk ( )
inlinevirtual
virtual IterMode casa::RFABase::endData ( )
inlinevirtual

Called after a pass is completed successfully (i.e., not stopped by start or iter methods).

Return value: STOP to stop, DATA for another data pass, DRY for another dry pass.

Reimplemented in casa::RFADiffBase, casa::RFATimeFreqCrop, casa::RFAUVBinner, casa::RFANewMedianClip, casa::RFASpectralRej, casa::RFAFlagCubeBase, and casa::RFATimeMedian.

Definition at line 115 of file RFABase.h.

References STOP.

virtual IterMode casa::RFABase::endDry ( )
inlinevirtual

Called after a dry pass is complete.

Reimplemented in casa::RFADiffBase, casa::RFAUVBinner, casa::RFANewMedianClip, and casa::RFAFlagCubeBase.

Definition at line 118 of file RFABase.h.

References STOP.

virtual void casa::RFABase::endFlag ( )
inlinevirtual

Called after a flag pass is complete.

Reimplemented in casa::RFAFlagExaminer.

Definition at line 121 of file RFABase.h.

virtual void casa::RFABase::endRows ( casacore::uInt  )
inlinevirtual

Called at end of time chunk.

Reimplemented in casa::RFASelector.

Definition at line 124 of file RFABase.h.

virtual casacore::uInt casa::RFABase::estimateMemoryUse ( )
inlinevirtual

This method is called before iterating over a chunk, to inquire the expected memory use.

Should return the max desired memory footprint, in MB. Available physical memory is divided between agents in proportion to their requests.

Reimplemented in casa::RFADiffBase, casa::RFASelector, casa::RFASpectralRej, casa::RFAUVBinner, casa::RFANewMedianClip, and casa::RFAFlagCubeBase.

Definition at line 85 of file RFABase.h.

virtual void casa::RFABase::finalize ( )
inlinevirtual

Reimplemented in casa::RFAFlagExaminer.

Definition at line 166 of file RFABase.h.

virtual void casa::RFABase::finalizeIter ( casacore::uInt  )
inlinevirtual

Reimplemented in casa::RFAFlagExaminer.

Definition at line 170 of file RFABase.h.

virtual casacore::String casa::RFABase::getDesc ( )
inlinevirtual
virtual casacore::String casa::RFABase::getID ( )
inlinevirtual

Reimplemented in casa::RFAFlagExaminer, and casa::RFAFlagCubeBase.

Definition at line 152 of file RFABase.h.

virtual casacore::Record casa::RFABase::getResult ( )
inlinevirtual

Reimplemented in casa::RFAFlagExaminer.

Definition at line 164 of file RFABase.h.

virtual casacore::String casa::RFABase::getStats ( )
inlinevirtual

called (before endChunk()) to obtain a statistics report

Reimplemented in casa::RFAFlagCubeBase.

Definition at line 148 of file RFABase.h.

casacore::uInt casa::RFABase::indexingBase ( )
inlinestaticprotected

global flag indicates that Glish (1-based) indexing is in use for agent arguments

Definition at line 204 of file RFABase.h.

References indexing_base.

virtual void casa::RFABase::init ( )
virtual

This method is called after constructing the agent.

virtual void casa::RFABase::initialize ( )
inlinevirtual

Initialize chunk.

Reimplemented in casa::RFAFlagExaminer.

Definition at line 168 of file RFABase.h.

virtual void casa::RFABase::initializeIter ( casacore::uInt  )
inlinevirtual

Reimplemented in casa::RFAFlagExaminer.

Definition at line 169 of file RFABase.h.

casacore::Bool casa::RFABase::isActive ( )
inline

returns the active status

Definition at line 157 of file RFABase.h.

References active.

virtual IterMode casa::RFABase::iterDry ( casacore::uInt  )
inlinevirtual

Iteration method for a dry pass.

Called once per each time slot. Return value: STOP to finish iterating, CONT/DRY to continue, or DATA to cancel the dry pass and request another data pass.

Reimplemented in casa::RFADiffBase, casa::RFAUVBinner, casa::RFANewMedianClip, and casa::RFAFlagCubeBase.

Definition at line 140 of file RFABase.h.

References CONT.

virtual void casa::RFABase::iterFlag ( casacore::uInt  )
inlinevirtual

Iteration method for a flag pass.

Called once per each VisBuffer.

Reimplemented in casa::RFATimeFreqCrop, casa::RFASelector, casa::RFAFlagCubeBase, and casa::RFAFlagExaminer.

Definition at line 143 of file RFABase.h.

virtual IterMode casa::RFABase::iterRow ( casacore::uInt  )
inlinevirtual

iterRow() is called once per each row in the VisBuffer.

Iterating over rows is perhaps preferrable in terms of performance, at least for data iterations.

Reimplemented in casa::RFAFreqMedian, casa::RFATimeFreqCrop, casa::RFASelector, casa::RFASpectralRej, casa::RFAUVBinner, casa::RFANewMedianClip, casa::RFAFlagExaminer, and casa::RFATimeMedian.

Definition at line 135 of file RFABase.h.

References CONT.

virtual IterMode casa::RFABase::iterTime ( casacore::uInt  )
inlinevirtual

Iteration methods for a data pass.

Either or both may be implemented. iterTime() is called once for each new VisBuffer (= new time slot) Return value: STOP to finish iterating, CONT/DATA to continue, or DRY to cancel the data pass and request a dry pass.

Reimplemented in casa::RFADiffMapBase, casa::RFADiffBase, casa::RFATimeFreqCrop, casa::RFASelector, casa::RFASpectralRej, casa::RFAUVBinner, casa::RFANewMedianClip, casa::RFAFlagCubeBase, and casa::RFATimeMedian.

Definition at line 130 of file RFABase.h.

References CONT.

casacore::LogIO & casa::RFABase::logSink ( )
inline

accessor to a casacore::LogIO for this agent

Definition at line 214 of file RFABase.h.

References os.

const casacore::String & casa::RFABase::name ( )
inline

returns the name of this RFA (set in myname)

Definition at line 218 of file RFABase.h.

References myname.

virtual casacore::Bool casa::RFABase::newChunk ( casacore::Int )
inlinevirtual

Called before iterating over a chunk.

Returns true if agent will process this chunk, or false if this the agent is unable to process it. (this can happen if, e.g., the requisite correlations are not present). The casacore::Int & maxmem argument is the number of MB memory which is still available in the memory pool. The agent class should plan its memory use accordingly, and subtract its expected memory use from maxmem. In effect, the agent "reserves" some amount of memory. This is used by RedFlagger to contain the total memory footprint. Note that only a rough reckoning is sufficient, so only bother estimating the biggest data structures. See implementations in RFADiffBase and RFATimeMedian for good examples. nAgent is the total number of agents.

Reimplemented in casa::RFAFreqMedian, casa::RFADiffBase, casa::RFATimeFreqCrop, casa::RFASelector, casa::RFAFlagExaminer, casa::RFASpectralRej, casa::RFAUVBinner, casa::RFANewMedianClip, casa::RFAFlagCubeBase, and casa::RFATimeMedian.

Definition at line 98 of file RFABase.h.

References active.

casacore::uInt casa::RFABase::num ( StatEnums  which)
inlineprotected

Definition at line 182 of file RFABase.h.

References chunk, and casa::RFChunkStats::num().

Referenced by casa::RFATimeMedian::slider(), and casa::RFANewMedianClip::slider().

virtual void casa::RFABase::printFlaggingReport ( )
inlinevirtual

Definition at line 150 of file RFABase.h.

void casa::RFABase::setIndexingBase ( casacore::uInt  base)
inlinestatic

static method for setting the indexing base for agent arguments

Definition at line 209 of file RFABase.h.

References indexing_base.

virtual void casa::RFABase::setNAgent ( casacore::uInt  n)
inlinevirtual

Definition at line 172 of file RFABase.h.

References nAgent.

virtual void casa::RFABase::setOnlySelector ( bool  only_sel)
inlinevirtual

Definition at line 173 of file RFABase.h.

References only_selector.

virtual void casa::RFABase::startData ( bool  )
inlinevirtual
virtual void casa::RFABase::startDry ( bool  )
inlinevirtual

Called before starting a dry pass on a chunk.

Reimplemented in casa::RFADiffBase, casa::RFAUVBinner, casa::RFANewMedianClip, and casa::RFAFlagCubeBase.

Definition at line 107 of file RFABase.h.

virtual void casa::RFABase::startFlag ( bool  )
inlinevirtual

Called before starting the fetch-flags pass.

Reimplemented in casa::RFATimeFreqCrop, casa::RFAFlagExaminer, and casa::RFAFlagCubeBase.

Definition at line 110 of file RFABase.h.

Member Data Documentation

casacore::Bool casa::RFABase::active
protected

flag: agent is active for this chunk (set in newChunk)

Definition at line 191 of file RFABase.h.

Referenced by isActive(), and newChunk().

RFChunkStats& casa::RFABase::chunk
protected
RFlagWord casa::RFABase::corrmask
protected

Bit mask of correlations which are used & flagged by this RFA.

This mask is used to (a) interpret the pre-flags of the FLAG column, and (b) apply the resulting flags to the FLAG column

Definition at line 182 of file RFABase.h.

Referenced by corrMask().

casacore::uInt casa::RFABase::indexing_base
staticprivate

Definition at line 201 of file RFABase.h.

Referenced by indexingBase(), and setIndexingBase().

casacore::String casa::RFABase::myname
protected

Definition at line 179 of file RFABase.h.

Referenced by name().

casacore::uInt casa::RFABase::nAgent
protected

Definition at line 173 of file RFABase.h.

Referenced by setNAgent().

bool casa::RFABase::only_selector
protected

Definition at line 180 of file RFABase.h.

Referenced by setOnlySelector().

casacore::LogIO casa::RFABase::os
protected

Definition at line 193 of file RFABase.h.

Referenced by logSink().

casacore::Record casa::RFABase::params
protected

Definition at line 178 of file RFABase.h.


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