casa
$Rev:20696$
|
00001 //# MSAnalysis.h: MS analysis and handling tool 00002 //# Copyright (C) 2007 00003 //# Associated Universities, Inc. Washington DC, USA. 00004 //# 00005 //# This program is free software; you can redistribute it and/or modify it 00006 //# under the terms of the GNU General Public License as published by the Free 00007 //# Software Foundation; either version 2 of the License, or (at your option) 00008 //# any later version. 00009 //# 00010 //# This program is distributed in the hope that it will be useful, but WITHOUT 00011 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00012 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 00013 //# more details. 00014 //# 00015 //# You should have received a copy of the GNU General Public License along 00016 //# with this program; if not, write to the Free Software Foundation, Inc., 00017 //# 675 Massachusetts Ave, Cambridge, MA 02139, USA. 00018 //# 00019 //# Correspondence concerning AIPS++ should be addressed as follows: 00020 //# Internet email: aips2-request@nrao.edu. 00021 //# Postal address: AIPS++ Project Office 00022 //# National Radio Astronomy Observatory 00023 //# 520 Edgemont Road 00024 //# Charlottesville, VA 22903-2475 USA 00025 00026 #ifndef _MS_MSALYSIS_H_ 00027 #define _MS_MSANALYSIS_H_ 00028 00029 // includes 00030 #include <synthesis/MSVis/MSMoments.h> 00031 #include <ms/MeasurementSets/MeasurementSet.h> 00032 #include <casa/Logging/LogIO.h> 00033 00034 namespace casa { 00035 00036 class MeasurementSet ; 00037 template<class T> class MSMoments ; 00038 00039 // <summary> 00040 // This class is a single dish spectral data analysis tool 00041 // </summary> 00042 00043 // <use visibility=export> 00044 00045 // <reviewed reviewer="" date="yyyy/mm/dd" tests="" demos=""> 00046 // </reviewed> 00047 00048 // <etymology> 00049 // This class is a single dish spectral data analysis tool. 00050 // </etymology> 00051 // 00052 // <synopsis> 00053 // MSAnalysis is a single dish spectral data analysis tool. 00054 // Input data should be in the form of MeasurementSet with 00055 // FLOAT_DATA column (autocorrelation data). 00056 // 00057 // </synopsis> 00058 // 00059 class MSAnalysis 00060 { 00061 public: 00062 00063 // Constructor 00064 MSAnalysis( const casa::MeasurementSet *inMS ) ; 00065 00066 // Destructor 00067 virtual ~MSAnalysis() ; 00068 00069 // moment calculation 00070 MeasurementSet *moments( const Vector<Int> &whichmoments, 00071 //const String &mask, 00072 const String &antenna, 00073 const String &field, 00074 const String &spw, 00075 const Vector<String> &method, 00076 const Vector<Int> &smoothAxes, 00077 const Vector<String> &kernels, 00078 const Vector<Quantity> &kernelWidths, 00079 const Vector<Float> &includemask, 00080 const Vector<Float> &excludemask, 00081 const Double peaksnr, 00082 const Double stddev, 00083 const String &velocityType, 00084 const String &out, 00085 const String &smoothOut, 00086 //const String &pgdevice, 00087 //const Int nx, 00088 //const Int ny, 00089 //const Bool yind, 00090 const Bool overwrite 00091 ) ; 00092 private: 00093 // Set other data 00094 // <group> 00095 void setMS( casa::MeasurementSet *inMS ) ; 00096 void setMS( const casa::String name ) ; 00097 // </group> 00098 00099 // Select data from input MS 00100 void selectMS( const String antenna, const String field, const String spw ) ; 00101 00102 // Clean up temporary files 00103 void cleanup() ; 00104 00105 // Initialization 00106 void init( const casa::MeasurementSet *inMS ) ; 00107 00108 // Add comments on HISTORY table 00109 void addHistory( String tableName, String suffix ) ; 00110 00111 // MeasurementSet data (should have FLOAT_DATA column) 00112 MeasurementSet *ms_p ; 00113 00114 // Selected Table name 00115 String tableName_ ; 00116 00117 // Original Table name 00118 String tableIn_ ; 00119 00120 // Logger 00121 LogIO *itsLog ; 00122 00123 }; 00124 00125 } // casac namespace 00126 #endif