casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SDMSManager.h
Go to the documentation of this file.
1 //# SDMSManager.h: this defines single dish casacore::MS transform manager
2 //# inheriting MSTransformManager.
3 //#
4 //# Copyright (C) 2015
5 //# National Astronomical Observatory of Japan
6 //#
7 //# This library is free software; you can redistribute it and/or modify it
8 //# under the terms of the GNU Library General Public License as published by
9 //# the Free Software Foundation; either version 2 of the License, or (at your
10 //# option) any later version.
11 //#
12 //# This library is distributed in the hope that it will be useful, but WITHOUT
13 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
15 //# License for more details.
16 //#
17 //# You should have received a copy of the GNU Library General Public License
18 //# along with this library; if not, write to the Free Software Foundation,
19 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
20 //#
21 //# Correspondence concerning AIPS++ should be addressed as follows:
22 //# Internet email: aips2-request@nrao.edu.
23 //# Postal address: AIPS++ Project Office
24 //# National Radio Astronomy Observatory
25 //# 520 Edgemont Road
26 //# Charlottesville, VA 22903-2475 USA
27 //#
28 //# $Id$
29 #ifndef _CASA_SDMSMANAGER_H_
30 #define _CASA_SDMSMANAGER_H_
31 
32 #include <iostream>
33 #include <string>
34 #include <map>
35 
36 #include <libsakura/sakura.h>
37 
38 #include <casa/aipstype.h>
39 #include <casa/Containers/Record.h>
42 #include <msvis/MSVis/VisBuffer2.h>
46 
47 namespace casa { //# NAMESPACE CASA - BEGIN
48 
50 public:
51  // Default constructor
52  SDMSManager();
53  // Construct from casacore::MS name string
54  explicit SDMSManager(string const& ms_name);
55 
56  // Set user defined casacore::Sort columns
58  bool addDefaultSortCols=false,
59  casacore::Double timebin=0.0);
60 
61  // Set/unset smoothing parameter
62  void setSmoothing(string const &kernelType, float const &kernelWidth);
63  void unsetSmoothing();
64 
65  // Initialize smoothing operation
66  void initializeSmoothing();
67 
68  casacore::Record getSelRec(string const &spw);
69  //casacore::MeasurementSet getMS();
70 
71  //SDMSManager &operator=(SDMSManager const &other);
72  // Destructor
73  ~SDMSManager();
74 
76  casacore::Cube<casacore::Float> const &data_cube);
77 
79  casacore::Cube<casacore::Float> const &data_cube,
80  casacore::Cube<casacore::Bool> const *flag_cube);
81 
82 protected:
83 
85  casacore::Cube<casacore::Float> const &data_cube,
86  casacore::Cube<casacore::Bool> const *flag_cube);
87 
88  void setIterationApproach();
89 
91 
92  // Inspection for smoothing operation
94 
95 private:
97 
98  // for Gaussian smoothing
101  // FWHM of Gaussian
103 
104 }; // class SDMSManager -END
105 
106 
107 } //# NAMESPACE CASA - END
108 
109 #endif /* _CASA_SDMSMANAGER_H_ */
int Int
Definition: aipstype.h:50
void setIterationApproach()
Iterator set-up.
casacore::Vector< casacore::Int > inspectNumChan()
Inspection for smoothing operation.
void initializeSmoothing()
Initialize smoothing operation.
SDMSManager()
Default constructor.
~SDMSManager()
casacore::MeasurementSet getMS();
ABSTRACT CLASSES Deliberately vague to be general enough to allow for many different types of data
Definition: PlotData.h:48
casacore::Bool doSmoothing_
for Gaussian smoothing
Definition: SDMSManager.h:99
double Double
Definition: aipstype.h:55
casacore::Block< casacore::Int > userSortCols_
Definition: SDMSManager.h:96
casacore::Record getSelRec(string const &spw)
Class holding the row numbers in a RefTable.
Definition: RefRows.h:85
void fillCubeToOutputMs(vi::VisBuffer2 *vb, casacore::Cube< casacore::Float > const &data_cube)
int getBlockId(casacore::Block< casacore::Int > const &data, casacore::Int const value)
void setSortColumns(casacore::Block< casacore::Int > sortColumns, bool addDefaultSortCols=false, casacore::Double timebin=0.0)
Set user defined casacore::Sort columns.
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
float kernelWidth_
FWHM of Gaussian.
Definition: SDMSManager.h:102
VisBuffer2s encapsulate one chunk of visibility data for processing.
Definition: VisBuffer2.h:141
void setSmoothing(string const &kernelType, float const &kernelWidth)
Set/unset smoothing parameter.
casacore::VectorKernel::KernelTypes kernelType_
Definition: SDMSManager.h:100
void fillCubeToDataCols(vi::VisBuffer2 *vb, casacore::RefRows &rowRef, casacore::Cube< casacore::Float > const &data_cube, casacore::Cube< casacore::Bool > const *flag_cube)
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
MSTransformManager definition.