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

RFASelector: flags pixels/rows based on a specified selection. More...

#include <RFASelector.h>

Inheritance diagram for casa::RFASelector:
casa::RFAFlagCubeBase casa::RFABase casa::FlaggerEnums casa::RFAFlagExaminer

List of all members.

Classes

struct  ClipInfo

Public Member Functions

 RFASelector (RFChunkStats &ch, const RecordInterface &parm)
 constructor.
virtual ~RFASelector ()
virtual uInt estimateMemoryUse ()
 This method is called before iterating over a chunk, to inquire the expected memory use.
virtual Bool newChunk (Int &maxmem)
 Called before iterating over a chunk.
virtual IterMode iterTime (uInt it)
 Iteration methods for a data pass.
virtual void endRows (uInt itime)
 Called at end of time chunk.
virtual IterMode iterRow (uInt ir)
 iterRow() is called once per each row in the VisBuffer.
virtual void iterFlag (uInt itime)
 Iteration method for a flag pass.
virtual void startData (bool verbose)
 Called before starting a data pass on a chunk.
virtual String getDesc ()
 called to obtain a short description of this RFA
Bool fortestingonly_parseMinMax (Float &vmin, Float &vmax, const RecordInterface &spec, uInt f0)
void fortestingonly_parseClipField (const RecordInterface &spec, Bool clip)

Static Public Member Functions

static const RecordInterfacegetDefaults ()

Protected Types

typedef struct
casa::RFASelector::ClipInfo 
ClipInfo

Protected Member Functions

template<class T >
Bool reformRange (Matrix< T > &rng, const Array< T > &arr)
template<class T >
Bool parseRange (Matrix< T > &rng, const RecordInterface &parm, const String &id)
template<class T >
Bool find (uInt &index, const T &obj, const Vector< T > &arr)
Bool parseTimes (Array< Double > &times, const RecordInterface &parm, const String &id, Bool secs=False)
void addString (String &str, const String &s1, const char *sep=" ")
virtual void processRow (uInt ifr, uInt it)
Bool parseMinMax (Float &vmin, Float &vmax, const RecordInterface &spec, uInt f0)
void addClipInfo (const Vector< String > &expr, Float vmin, Float vmax, Bool clip, Bool channel_average)
void parseClipField (const RecordInterface &spec, Bool clip)
void addClipInfoDesc (const Block< ClipInfo > &clip)

Protected Attributes

Double diameter
 shadow mode
Vector< Doublediameters
ROMSAntennaColumnsac
double lowerlimit
 elevation
double upperlimit
String desc_str
 description of agent
Matrix< Doublesel_freq
 selection arguments
Matrix< Doublesel_time
Matrix< Doublesel_timerng
Matrix< Doublesel_uvrange
Matrix< Intsel_chan
Vector< Intsel_corr
Vector< Intsel_spwid
Vector< Intsel_fieldid
Vector< Intsel_stateid
Vector< Stringsel_fieldnames
LogicalVector sel_ifr
LogicalVector flagchan
LogicalVector sel_feed
Bool sel_autocorr
Bool unflag
Block< ClipInfosel_clip
Block< ClipInfosel_clip_row
LogicalVector sel_clip_active
Bool sum_sel_clip_active
Double quack_si
Double quack_dt
String quack_mode
Bool quack_increment
Vector< Intsel_scannumber
Vector< Intsel_arrayid
Vector< Intsel_observation
String sel_column
Bool select_fullrow
Bool flag_everything
Bool shadow
Bool elevation

Detailed Description

RFASelector: flags pixels/rows based on a specified selection.

Intended use:

Internal

Prerequisite

Etymology

RedFlaggerAgent Selector

Synopsis

RFASelector accepts a whole bunch of options to select a subset of the MS (by time, antenna, baseline, channel/frequency, etc.), and to flag/unflag the whole selection, or specific parts of it (autocorrelations, specific time slots, VLA quacks, etc.)

To Do

Definition at line 68 of file RFASelector.h.


Member Typedef Documentation


Constructor & Destructor Documentation

constructor.

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

Member Function Documentation

void casa::RFASelector::addClipInfo ( const Vector< String > &  expr,
Float  vmin,
Float  vmax,
Bool  clip,
Bool  channel_average 
) [protected]
void casa::RFASelector::addClipInfoDesc ( const Block< ClipInfo > &  clip) [protected]
void casa::RFASelector::addString ( String str,
const String s1,
const char *  sep = " " 
) [protected]
virtual void casa::RFASelector::endRows ( uInt  ) [virtual]

Called at end of time chunk.

Reimplemented from casa::RFABase.

virtual uInt casa::RFASelector::estimateMemoryUse ( ) [inline, virtual]

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 from casa::RFAFlagCubeBase.

Definition at line 75 of file RFASelector.h.

template<class T >
Bool casa::RFASelector::find ( uInt index,
const T &  obj,
const Vector< T > &  arr 
) [protected]
Bool casa::RFASelector::fortestingonly_parseMinMax ( Float vmin,
Float vmax,
const RecordInterface spec,
uInt  f0 
)
static const RecordInterface& casa::RFASelector::getDefaults ( ) [static]

Reimplemented from casa::RFAFlagCubeBase.

virtual String casa::RFASelector::getDesc ( ) [virtual]

called to obtain a short description of this RFA

Reimplemented from casa::RFAFlagCubeBase.

virtual void casa::RFASelector::iterFlag ( uInt  ) [virtual]

Iteration method for a flag pass.

Called once per each VisBuffer.

Reimplemented from casa::RFAFlagCubeBase.

Reimplemented in casa::RFAFlagExaminer.

virtual IterMode casa::RFASelector::iterRow ( uInt  ) [virtual]

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 from casa::RFABase.

Reimplemented in casa::RFAFlagExaminer.

virtual IterMode casa::RFASelector::iterTime ( uInt  ) [virtual]

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 from casa::RFAFlagCubeBase.

virtual Bool casa::RFASelector::newChunk ( Int ) [virtual]

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 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 from casa::RFAFlagCubeBase.

Reimplemented in casa::RFAFlagExaminer.

void casa::RFASelector::parseClipField ( const RecordInterface spec,
Bool  clip 
) [protected]
Bool casa::RFASelector::parseMinMax ( Float vmin,
Float vmax,
const RecordInterface spec,
uInt  f0 
) [protected]
template<class T >
Bool casa::RFASelector::parseRange ( Matrix< T > &  rng,
const RecordInterface parm,
const String id 
) [protected]
Bool casa::RFASelector::parseTimes ( Array< Double > &  times,
const RecordInterface parm,
const String id,
Bool  secs = False 
) [protected]
virtual void casa::RFASelector::processRow ( uInt  ifr,
uInt  it 
) [protected, virtual]

Reimplemented in casa::RFAFlagExaminer.

template<class T >
Bool casa::RFASelector::reformRange ( Matrix< T > &  rng,
const Array< T > &  arr 
) [protected]
virtual void casa::RFASelector::startData ( bool  ) [virtual]

Called before starting a data pass on a chunk.

Reimplemented from casa::RFAFlagCubeBase.

Reimplemented in casa::RFAFlagExaminer.


Member Data Documentation

Definition at line 116 of file RFASelector.h.

description of agent

Definition at line 123 of file RFASelector.h.

shadow mode

Definition at line 112 of file RFASelector.h.

Definition at line 115 of file RFASelector.h.

Definition at line 140 of file RFASelector.h.

Definition at line 140 of file RFASelector.h.

LogicalVector casa::RFASelector::flagchan [protected]

Definition at line 129 of file RFASelector.h.

double casa::RFASelector::lowerlimit [protected]

elevation

Definition at line 119 of file RFASelector.h.

Definition at line 134 of file RFASelector.h.

Definition at line 136 of file RFASelector.h.

Definition at line 135 of file RFASelector.h.

Definition at line 134 of file RFASelector.h.

Definition at line 137 of file RFASelector.h.

Definition at line 130 of file RFASelector.h.

Definition at line 126 of file RFASelector.h.

Definition at line 131 of file RFASelector.h.

LogicalVector casa::RFASelector::sel_clip_active [protected]

Definition at line 132 of file RFASelector.h.

Definition at line 131 of file RFASelector.h.

Definition at line 138 of file RFASelector.h.

Definition at line 127 of file RFASelector.h.

LogicalVector casa::RFASelector::sel_feed [protected]

Definition at line 129 of file RFASelector.h.

Definition at line 127 of file RFASelector.h.

Definition at line 128 of file RFASelector.h.

selection arguments

Definition at line 125 of file RFASelector.h.

LogicalVector casa::RFASelector::sel_ifr [protected]

Definition at line 129 of file RFASelector.h.

Definition at line 137 of file RFASelector.h.

Definition at line 137 of file RFASelector.h.

Definition at line 127 of file RFASelector.h.

Definition at line 127 of file RFASelector.h.

Definition at line 125 of file RFASelector.h.

Definition at line 125 of file RFASelector.h.

Definition at line 125 of file RFASelector.h.

Definition at line 140 of file RFASelector.h.

Definition at line 140 of file RFASelector.h.

Definition at line 133 of file RFASelector.h.

Definition at line 130 of file RFASelector.h.

double casa::RFASelector::upperlimit [protected]

Definition at line 120 of file RFASelector.h.


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