casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MSTransformIterator.h
Go to the documentation of this file.
1 //# MSTransformIterator.h: This file contains the interface definition of the MSTransformManager 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 MSTransformIterator_H_
24 #define MSTransformIterator_H_
25 
26 // Where TransformingVi2 interface is defined
28 
29 // Class containing the actual transformation logic
31 
32 // VisBuffer class only accessible from this class
35 
36 namespace casa {
37 
39 {
40 
41 public:
42 
44  std::shared_ptr<MSTransformManager>);
46 
47  const casacore::MeasurementSet & ms () const {return *transformedMS_p;};
48 
49  virtual vi::VisBuffer2 * getVisBuffer () const {return buffer_p;}
50 
51  virtual casacore::String ViiType() const ;
52 
54 
55  void originChunks ();
56  casacore::Bool moreChunks () const;
57  void nextChunk ();
58 
59  void origin ();
60  casacore::Bool more () const;
61  void next ();
62 
64  void writeFlagRow (const casacore::Vector<casacore::Bool> & rowflags);
65 
66 protected:
67 
68  void propagateChanAvgFlags (const casacore::Cube<casacore::Bool> &avgFlagCube, casacore::Cube<casacore::Bool> &expandedFlagCube);
69 
70 private:
72  std::shared_ptr<MSTransformManager> manager_p;
75 };
76 
77 } //# NAMESPACE CASA - END
78 
79 
80 #endif /* MSTransformIterator_H_ */
81 
casacore::Bool moreChunks() const
void propagateChanAvgFlags(const casacore::Cube< casacore::Bool > &avgFlagCube, casacore::Cube< casacore::Bool > &expandedFlagCube)
virtual void flag(casacore::Cube< casacore::Bool > &flags) const override
Return flag for each polarization, channel and row.
casacore::Bool more() const
casacore::String tmpMSFileName_p
void origin()
+==================================+ | | | Iteration Control and Monitoring | | | +==================...
MSTransformBufferImpl * buffer_p
ViImplementation2 * inputVii_p
jagonzal (to be reviewed by jjacobs): I need to set inputVii_p to NULL from MSTransformIterator destr...
void writeFlag(const casacore::Cube< casacore::Bool > &flag)
Write/modify the flags in the data.
const casacore::MeasurementSet & ms() const
virtual vi::VisBuffer2 * getVisBuffer() const
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
VisibilityIterator2 iterates through one or more readonly MeasurementSets.
casacore::MeasurementSet * transformedMS_p
virtual casacore::String ViiType() const
Report the the ViImplementation type (should be specialized in child classes)
std::shared_ptr< MSTransformManager > manager_p
A Table intended to hold astronomical data (a set of Measurements).
void writeFlagRow(const casacore::Vector< casacore::Bool > &rowflags)
Write/modify the flag row column; dimension casacore::Vector (nrow)
VisBuffer2s encapsulate one chunk of visibility data for processing.
Definition: VisBuffer2.h:141
MSTransformIterator(vi::ViImplementation2 *inputVii, std::shared_ptr< MSTransformManager >)
VisibilityIterator2 iterates through one or more readonly MeasurementSets.
String: the storage and methods of handling collections of characters.
Definition: String.h:223
ViImplementation2 * getInputViIterator() const