casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RFAFlagCubeBase.h
Go to the documentation of this file.
1 //# RFAFlagCubeBase.h: this defines RFAFlagCubeBase
2 //# Copyright (C) 2000,2001
3 //# Associated Universities, Inc. Washington DC, USA.
4 //#
5 //# This library is free software; you can redistribute it and/or modify it
6 //# under the terms of the GNU Library General Public License as published by
7 //# the Free Software Foundation; either version 2 of the License, or (at your
8 //# option) any later version.
9 //#
10 //# This library is distributed in the hope that it will be useful, but WITHOUT
11 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13 //# License for more details.
14 //#
15 //# You should have received a copy of the GNU Library General Public License
16 //# along with this library; if not, write to the Free Software Foundation,
17 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18 //#
19 //# Correspondence concerning AIPS++ should be addressed as follows:
20 //# Internet email: aips2-request@nrao.edu.
21 //# Postal address: AIPS++ Project Office
22 //# National Radio Astronomy Observatory
23 //# 520 Edgemont Road
24 //# Charlottesville, VA 22903-2475 USA
25 //#
26 //# $Id$
27 #ifndef FLAGGING_RFAFLAGCUBEBASE_H
28 #define FLAGGING_RFAFLAGCUBEBASE_H
29 
33 
34 namespace casa { //# NAMESPACE CASA - BEGIN
35 
36 // <summary>
37 // Abstract RedFlagger Agent class with a flag cube
38 // </summary>
39 
40 // <use visibility=local>
41 
42 // <reviewed reviewer="" date="" tests="" demos="">
43 // </reviewed>
44 
45 // <prerequisite>
46 // <li> RFFlagCube
47 // </prerequisite>
48 //
49 // <synopsis>
50 // RFAFlagCubeBase is derived from RFABase. It includes an RFFlagCube
51 // object, which is essentially an [NCHAN,NIFR,NTIME] lattice of flags.
52 // Approrpiate vritual methods for managing the cube are defined.
53 // </synopsis>
54 //
55 // <todo asof="2001/04/16">
56 // <li> add this feature
57 // <li> fix this bug
58 // <li> start discussion of this possible extension
59 // </todo>
60 
61 class RFAFlagCubeBase : public RFABase
62 {
63 public:
65  virtual ~RFAFlagCubeBase ();
66 
68  virtual casacore::Bool newChunk ( casacore::Int &maxmem );
69  virtual void endChunk ();
70  virtual void startData (bool verbose);
71  virtual void startDry (bool verbose);
72  virtual void startFlag (bool verbose);
73  virtual IterMode iterTime (casacore::uInt it);
74  virtual IterMode iterDry (casacore::uInt it);
75  virtual void iterFlag (casacore::uInt it);
76  virtual IterMode endData ();
77  virtual IterMode endDry ();
78 
79  virtual casacore::String getDesc ();
80  virtual casacore::String getStats ();
81  static const casacore::RecordInterface & getDefaults ();
82 
83  virtual casacore::String getID() {return casacore::String("");};
84 
85 protected:
86 // mask of active correlations. Must be setup somewhere before calling
87 // newChunk()
89 // flag cube lattice
90  RFFlagCube flag; // flag cube lattice
91 };
92 
93 
94 } //# NAMESPACE CASA - END
95 
96 #endif
virtual IterMode iterDry(casacore::uInt it)
Iteration method for a dry pass.
Abstract RedFlagger Agent class with a flag cube.
int Int
Definition: aipstype.h:50
casacore::uInt RFlagWord
RFAs use bitwise flags.
Definition: RFCommon.h:41
virtual casacore::String getID()
RFlagWord corrmask
mask of active correlations.
RFFlagCube flag
flag cube lattice
RFFlagCube: a cube of flags.
Definition: RFFlagCube.h:91
IterMode
iteration modes
Definition: RFABase.h:63
virtual casacore::String getDesc()
called to obtain a short description of this RFA
virtual casacore::uInt estimateMemoryUse()
This method is called before iterating over a chunk, to inquire the expected memory use...
virtual void startFlag(bool verbose)
Called before starting the fetch-flags pass.
virtual IterMode iterTime(casacore::uInt it)
Iteration methods for a data pass.
virtual IterMode endData()
Called after a pass is completed successfully (i.e., not stopped by start or iter methods)...
virtual void endChunk()
Called once finished with a chunk.
virtual void startData(bool verbose)
Called before starting a data pass on a chunk.
RFAFlagCubeBase(RFChunkStats &ch, const casacore::RecordInterface &parm)
static const casacore::RecordInterface & getDefaults()
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
virtual ~RFAFlagCubeBase()
virtual void iterFlag(casacore::uInt it)
Iteration method for a flag pass.
Abstract RedFlagger Agent base class.
Definition: RFABase.h:59
virtual casacore::String getStats()
called (before endChunk()) to obtain a statistics report
String: the storage and methods of handling collections of characters.
Definition: String.h:223
RFChunkStats: vital information and flagging stats for a visibility chunk.
Definition: RFChunkStats.h:89
Abstract base class for Record classes.
virtual IterMode endDry()
Called after a dry pass is complete.
virtual casacore::Bool newChunk(casacore::Int &maxmem)
Called before iterating over a chunk.
unsigned int uInt
Definition: aipstype.h:51
virtual void startDry(bool verbose)
Called before starting a dry pass on a chunk.