casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FlagAgentElevation.h
Go to the documentation of this file.
1 //# FlagAgentElevation.h: This file contains the interface definition of the FlagAgentElevation class.
2 //#
3 //# CASA - Common Astronomy Software Applications (http://casa.nrao.edu/)
4 //# Copyright (C) Associated Universities, Inc. Washington DC, USA 2011, All rights reserved.
5 //# Copyright (C) European Southern Observatory, 2011, All rights reserved.
6 //#
7 //# This library is free software; you can redistribute it and/or
8 //# modify it under the terms of the GNU Lesser General Public
9 //# License as published by the Free software Foundation; either
10 //# version 2.1 of the License, or (at your option) any later version.
11 //#
12 //# This library is distributed in the hope that it will be useful,
13 //# but WITHOUT ANY WARRANTY, without even the implied warranty of
14 //# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 //# Lesser General Public License for more details.
16 //#
17 //# You should have received a copy of the GNU Lesser General Public
18 //# License along with this library; if not, write to the Free Software
19 //# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
20 //# MA 02111-1307 USA
21 //# $Id: $
22 
23 #ifndef FlagAgentElevation_H_
24 #define FlagAgentElevation_H_
25 
27 
28 namespace casa { //# NAMESPACE CASA - BEGIN
29 
31 
32 public:
33 
34  FlagAgentElevation(FlagDataHandler *dh, casacore::Record config, casacore::Bool writePrivateFlagCube = false, casacore::Bool flag = true);
36 
37 protected:
38 
39  // Common functionality for each visBuffer (don't repeat at the row level)
40  void preProcessBuffer(const vi::VisBuffer2 &visBuffer);
41 
42  // Common preProcessing code for the single/multiple agent cases
43  void preProcessBufferCore(const vi::VisBuffer2 &visBuffer);
44 
45  // Compute flags afor a given mapped visibility point
46  bool computeRowFlags(const vi::VisBuffer2 &visBuffer, FlagMapper &flags, casacore::uInt row);
47 
48  // Parse configuration parameters
50 
51 private:
52 
56 
57  // Declaration of static members for common pre-processing
59  static std::vector< std::vector<casacore::Double> > antennaPointingMap_p;
61  static std::vector<bool> startedProcessing_p;
62  static bool preProcessingDone_p;
64 };
65 
66 
67 } //# NAMESPACE CASA - END
68 
69 #endif /* FlagAgentElevation_H_ */
70 
void setAgentParameters(casacore::Record config)
Parse configuration parameters.
A top level class defining the data handling interface for the flagging module.
FlagAgentElevation(FlagDataHandler *dh, casacore::Record config, casacore::Bool writePrivateFlagCube=false, casacore::Bool flag=true)
bool computeRowFlags(const vi::VisBuffer2 &visBuffer, FlagMapper &flags, casacore::uInt row)
Compute flags afor a given mapped visibility point.
casacore::uShort agentNumber_p
Declaration of static members for common pre-processing.
casacore::Double upperlimit_p
static std::vector< bool > startedProcessing_p
A top level class defining the interface for flagging agents.
double Double
Definition: aipstype.h:55
casacore::Double lowerlimit_p
casacore::Input parameters ///
static casacore::uShort nAgents_p
static casa::async::Mutex staticMembersMutex_p
void preProcessBuffer(const vi::VisBuffer2 &visBuffer)
Common functionality for each visBuffer (don&#39;t repeat at the row level)
A hierarchical collection of named fields of various types.
Definition: Record.h:180
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
static std::vector< std::vector< casacore::Double > > antennaPointingMap_p
void preProcessBufferCore(const vi::VisBuffer2 &visBuffer)
Common preProcessing code for the single/multiple agent cases.
VisBuffer2s encapsulate one chunk of visibility data for processing.
Definition: VisBuffer2.h:141
unsigned int uInt
Definition: aipstype.h:51
unsigned short uShort
Definition: aipstype.h:49