casa
$Rev:20696$
|
00001 //# FlagAgentQuack.h: This file contains the interface definition of the FlagAgentQuack class. 00002 //# 00003 //# CASA - Common Astronomy Software Applications (http://casa.nrao.edu/) 00004 //# Copyright (C) Associated Universities, Inc. Washington DC, USA 2011, All rights reserved. 00005 //# Copyright (C) European Southern Observatory, 2011, All rights reserved. 00006 //# 00007 //# This library is free software; you can redistribute it and/or 00008 //# modify it under the terms of the GNU Lesser General Public 00009 //# License as published by the Free software Foundation; either 00010 //# version 2.1 of the License, or (at your option) any later version. 00011 //# 00012 //# This library is distributed in the hope that it will be useful, 00013 //# but WITHOUT ANY WARRANTY, without even the implied warranty of 00014 //# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 //# Lesser General Public License for more details. 00016 //# 00017 //# You should have received a copy of the GNU Lesser General Public 00018 //# License along with this library; if not, write to the Free Software 00019 //# Foundation, Inc., 59 Temple Place, Suite 330, Boston, 00020 //# MA 02111-1307 USA 00021 //# $Id: $ 00022 00023 #ifndef FlagAgentQuack_H_ 00024 #define FlagAgentQuack_H_ 00025 00026 #include <flagging/Flagging/FlagAgentBase.h> 00027 00028 namespace casa { //# NAMESPACE CASA - BEGIN 00029 00030 class FlagAgentQuack : public FlagAgentBase { 00031 00032 enum mode { 00033 00034 BEGINNING_OF_SCAN=0, 00035 END_OF_SCAN, 00036 ALL_BUT_BEGINNING_OF_SCAN, 00037 ALL_BUT_END_OF_SCAN 00038 }; 00039 00040 public: 00041 00042 FlagAgentQuack(FlagDataHandler *dh, Record config, Bool writePrivateFlagCube = false, Bool flag = true); 00043 ~FlagAgentQuack(); 00044 00045 protected: 00046 00047 // Compute flags afor a given mapped visibility point 00048 bool computeRowFlags(const vi::VisBuffer2 &visBuffer, FlagMapper &flags, uInt row); 00049 00050 // Parse configuration parameters 00051 void setAgentParameters(Record config); 00052 00053 private: 00054 00056 Double quackinterval_p; 00057 uShort quackmode_p; 00058 Bool quackincrement_p; 00059 }; 00060 00061 00062 } //# NAMESPACE CASA - END 00063 00064 #endif /* FlagAgentQuack_H_ */ 00065