casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MSTransformDataHandler.h
Go to the documentation of this file.
1 //# MSTransformDataHandler.h: This file contains the interface definition of the MSTransformDataHandler 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 MSTransformDataHandler_H_
24 #define MSTransformDataHandler_H_
25 
26 // Measurement Set
27 #include <ms/MeasurementSets.h>
28 
29 // Measurement Set Selection
30 #include <ms/MSSel/MSSelection.h>
32 
33 // Needed by setupMS
34 #include <tables/Tables.h>
36 
37 // Needed by copyTable
39 
40 // OS methods needed by fillSubTables
41 #include <casa/OS/Timer.h>
42 #include <casa/OS/Path.h>
43 #include <casa/OS/Directory.h>
44 
45 
46 namespace casa { //# NAMESPACE CASA - BEGIN
47 
48 // MSTransformDataHandler definition
50 {
51 
52 public:
53 
55  {
59  };
60 
62  casacore::Bool virtualModelCol=false, casacore::Bool virtualCorrectedCol=false,
63  casacore::Bool reindex=true);
65  casacore::Bool virtualModelCol=false, casacore::Bool virtualCorrectedCol=false,
66  casacore::Bool reindex=true);
68 
69  // Declared static because it's used in setupMS().
70  // colNameList is internally up-cased, so it is not const or passed by reference.
72 
73  // This version uses the casacore::MeasurementSet to check what columns are present,
74  // i.e. it makes col=="all" smarter, and it is not necessary to call
75  // verifyColumns() after calling this. Unlike the other version, it knows
76  // about FLOAT_DATA and LAG_DATA. It throws an exception if a
77  // _specifically_ requested column is absent.
79  casacore::Bool virtualModelCol=false,casacore::Bool virtualCorrectedCol=false);
80 
81  // Helper function for parseColumnNames(). Converts col to a list of
82  // casacore::MS::PredefinedColumnss, and returns the # of recognized data columns.
83  // static because parseColumnNames() is static.
85 
86  // Selection method using msselection syntax. casacore::Time is not handled by this method.
87  casacore::Bool setmsselect( const casacore::String& spw = "", const casacore::String& field = "",
88  const casacore::String& baseline = "", const casacore::String& scan = "",
89  const casacore::String& uvrange = "", const casacore::String& taql = "",
91  const casacore::String& subarray = "", const casacore::String& correlation = "",
92  const casacore::String& intent = "", const casacore::String& obs = "",
93  const casacore::String& feed = "");
94 
95  // Select source or field
97 
98  // Select spw and channels for each spw.
100 
101  // Returns the set (possibly empty) of spectral windows that are
102  // in SPW but not listed in ms's DATA_DESCRIPTION sub-table.
103  // (This happens with certain calibration/hardware setups.)
104  static std::set<casacore::Int> findBadSpws(casacore::MeasurementSet& ms, casacore::Vector<casacore::Int> spwv);
105 
106  // Select Antennas to split out
107  void selectAntenna(const casacore::Vector<casacore::Int>& antennaids,const casacore::Vector<casacore::String>& antennaSel);
108 
109  // Helper function for selectAntenna()
110  static casacore::Bool pickAntennas( casacore::Vector<casacore::Int>& selected_antennaids,
111  casacore::Vector<casacore::String>& selected_antenna_strs,
112  const casacore::Vector<casacore::Int>& antennaids,
113  const casacore::Vector<casacore::String>& antennaSel);
114 
115  // Select array IDs to use.
116  void selectArray(const casacore::String& subarray);
117 
118  // Setup polarization selection (for now, only from available correlations - no casacore::Stokes transformations.)
120 
121  // Fills outToIn[pol] with a map from output correlation index to input
122  // correlation index, for each input polID pol.
123  // It does not yet check the appropriateness of the correlation selection
124  // string, so ignore the return value for now. outToIn[pol] defaults to
125  // an empty casacore::Vector if no correlations are selected for pol.
126  // That is not the same as the default "select everything in ms".
128  const casacore::MeasurementSet& ms,
130  const casacore::Bool areSelecting = false);
131 
132  // Select time parameters
133  void selectTime(casacore::Double timeBin=-1.0, casacore::String timerng="");
134 
135  //Method to make the basic structure of the MS
136  //
137  //TileShape of size 1 can have 2 values [0], and [1] ...these are used in to
138  //determine the tileshape by using MSTileLayout. Otherwise it has to be a
139  //vector size 3 e.g [4, 15, 351] => a tile shape of 4 stokes, 15 channels 351
140  //rows.
141  //
142  // combine sets combine_p. (Columns to ignore while time averaging.)
143  //
144  // createWeightSpectrumCols: add WEIGHT/SIGMA_SPECTRUM columns
146  casacore::String& whichDataCol,
147  casacore::Bool createWeightSpectrumCols,
149  const casacore::String& combine = "",
151 
153 
154  // Method that returns the selected ms (?! - but it's Boolean - RR)
156 
157  // This sets up a default new ms
158  // Declared static as it can be (and is) called directly from outside
159  // Therefore it is not dependent on any member variable.
160  static casacore::MeasurementSet* setupMS(const casacore::String& msname, const casacore::Int nchan,
161  const casacore::Int npol, const casacore::String& telescop,
163  casacore::Bool createWeightSpectrumCols,
164  const casacore::Int obstype = 0, const casacore::Bool compress = false,
165  const asdmStManUseAlternatives asdmStManUse = DONT,
167 
168  // Same as above except allowing manual tileshapes
169  static casacore::MeasurementSet* setupMS(const casacore::String& msname, const casacore::Int nchan,
171  casacore::Bool createWeightSpectrumCols,
173  const casacore::Bool compress = false,
174  const asdmStManUseAlternatives asdmStManUse = DONT,
176 
177 
178  // The output casacore::MS must have (at least?) 1 of DATA, FLOAT_DATA, or LAG_DATA.
179  // MODEL_DATA or CORRECTED_DATA will be converted to DATA if necessary.
180  // jagonzal (CAS-5327): The implementation has to go here because a member function cannot have static linkage
182  {
183  return (nTok == 1) && (datacols[0] != casacore::MS::FLOAT_DATA) && (datacols[0] != casacore::MS::LAG_DATA);
184  }
185 
186  // A customized version of casacore::MS::createDefaultSubtables().
188 
189  // Sub-table fillers.
192  casacore::Bool fillDDTables(); // Includes spw and pol
193 
197 
198  // Add optional columns to outTab if present in inTab and possColNames.
199  // beLazy should only be true if outTab is in its default state.
200  // Returns the number of added columns.
201  static casacore::uInt addOptionalColumns(const casacore::Table& inTab, casacore::Table& outTab,const casacore::Bool beLazy=false);
202 
203  // Sets up sourceRelabel_p for mapping input SourceIDs (if any) to output
204  // ones. Must be called after fieldid_p is set and before calling
205  // fillFieldTable() or copySource().
206  void relabelSources();
207 
208  // Adds and copies inTab to msOut_p without any filtering.
209  // tabName is the table "type", i.e. POINTING or SYSPOWER
210  // without the preceding path.
211  //
212  // If noRows is true, the structure will be setup but no
213  // rows will be copied (useful for filtering).
214  void copySubtable(const casacore::String& tabName, const casacore::Table& inTab,const casacore::Bool noRows = false);
215 
216  // Sets mapper to to a map from the distinct values of inv,
217  // in increasing order, to 0, 1, 2, ..., mapper.size() - 1.
218  static void make_map(std::map<casacore::Int, casacore::Int>& mapper, const casacore::Vector<casacore::Int>& inv);
219 
221  // Sets up the stub of a POINTING, enough to create an MSColumns.
222  void setupNewPointing();
223 
235  const casacore::TableRecord& inKeys);
236 
237  casacore::Int getProcessorId(casacore::Int dataDescriptionId, casacore::String msname);
238 
239  // This falls between copyGenericSubtables() and the copiers for standard
240  // sub-tables like copyFeed(). It is for optional sub-tables like CALDEVICE
241  // and SYSPOWER which can be watched for by name and may need their
242  // ANTENNA_ID and SPECTRAL_WINDOW_ID columns re-mapped.
243  // (Technically FEED_ID, too, if split ever starts re-mapping feeds.)
244  //
245  // It must be called BEFORE copyGenericSubtables()!
246  //
248 
250 
251  // To consolidate several sub-tables when dealing with MMS
260 // -----------------------------------------------------------------------
261 //
262 // -----------------------------------------------------------------------
263  //template <class T> casacore::Bool MSTransformDataHandler::columnOk (casacore::ArrayColumn<T> column)
264  template <class T> static casacore::Bool columnOk(casacore::ArrayColumn<T> column)
265  {
266  casacore::Bool ret;
267  // jagonzal (CAS-6206): ndimColumn only returns >0 is there is the array column has fixed size
268  if (column.isNull()==false and column.hasContent()==true and column.ndim(0) > 0)
269  {
270  ret = true;
271  }
272  else
273  {
274  ret = false;
275  }
276 
277  return ret;
278  }
279 
280 // -----------------------------------------------------------------------
281 //
282 // -----------------------------------------------------------------------
283  // template <class T> casacore::Bool MSTransformDataHandler::columnOk (casacore::ScalarColumn<T> column)
284  template <class T> static casacore::Bool columnOk(casacore::ScalarColumn<T> column)
285  {
286  casacore::Bool ret;
287  if (column.isNull()==false and column.hasContent()==true)
288  {
289  ret = true;
290  }
291  else
292  {
293  ret = false;
294  }
295 
296  return ret;
297  }
298 
299 
300 
301  // Accesors for the casacore::MS objects
307 
308  // Accesors for the Re-mapper objects
309  std::map<casacore::Int, casacore::Int> & getStateRemapper() {return stateRemapper_p;};
311  std::map<casacore::Int, std::vector<casacore::Int>> & getDroppedChannelsMap() {return spwDropChannelMap_p;};
312  std::map<casacore::Int,std::map < casacore::Int, std::vector<casacore::Int> > > & getSelectedChannelsMap() {return spwSelectedChannelMap_p;};
313 
314  // Accesors for additional parameters
315  void setVirtualModelCol(casacore::Bool virtualModelCol) {virtualModelCol_p = virtualModelCol;};
316  void setVirtualCorrectedCol(casacore::Bool virtualCorrectedCol) {virtualCorrectedCol_p = virtualCorrectedCol;};
317  void setReindex(casacore::Bool reindex) {reindex_p = reindex;};
318 
319 protected:
320  // copy ephemeris table and reindex field table if requested
322 
323  // Initialized* by ctors. (Maintain order both here and in ctors.)
324  // * not necessarily to anything useful.
326  casacore::MSColumns * msc_p; // columns of msOut_p
328  casacore::Bool keepShape_p, // Iff true, each output array has the
329  // same shape as the corresponding input one.
330  // sameShape_p, // Iff true, the shapes of the arrays do not
331  // // vary with row number.
332  antennaSel_p; // Selecting by antenna?
334  casacore::String scanString_p, // Selects scans by #number#. Historically named.
335  intentString_p, // Selects scans by string. scanString_p was taken.
336  obsString_p, // casacore::String for observationID selection.
339  casacore::String combine_p; // Should time averaging not split bins by
340  // scan #, observation, and/or state ID?
341  // Must be lowercase at all times.
342  casacore::Int fitorder_p; // The polynomial order for continuum fitting.
343  // If < 0 (default), continuum subtraction is
344  // not done.
345  casacore::String fitspw_p; // Selection string for line-free channels.
346  casacore::String fitoutspw_p; // Selection string for output channels if doing
347  // continuum subtraction.
348 
349  // Uninitialized by ctors.
351  casacore::Vector<casacore::Int> spw_p, // The input spw corresponding to each output spw.
352  spw_uniq_p, // Uniquified version of spw_p.
353  nchan_p, // The # of output channels for each range.
354  totnchan_p, // The # of output channels for each output spw.
355  chanStart_p, // 1st input channel index in a selection.
356  chanEnd_p, // last input channel index in a selection.
357  chanStep_p, // Increment between input chans, i.e. if 3, only every third
358  // input channel will be used.
359  widths_p, // # of input chans per output chan for each range.
360  ncorr_p, // The # of output correlations for each DDID.
361  inNumChan_p, // The # of input channels for each spw.
362  inNumCorr_p; // The # of input correlations for each DDID.
363 
364  std::map<casacore::Int, std::vector<casacore::Int> > spwDropChannelMap_p;
365  std::map<casacore::Int, std::map < casacore::Int, std::vector<casacore::Int> > > spwSelectedChannelMap_p;
366 
374 
375  casacore::Vector<casacore::Int> selObsId_p; // casacore::List of selected OBSERVATION_IDs.
376  casacore::Vector<casacore::Int> polID_p; // casacore::Map from input DDID to input polID, filled in fillDDTables().
378 
379  // inCorrInd = outPolCorrToInCorrMap_p[polID_p[ddID]][outCorrInd]
381 
382  std::map<casacore::Int, casacore::Int> stateRemapper_p;
383 
384  casacore::Vector<casacore::Vector<casacore::Slice> > chanSlices_p; // Used by VisIterator::selectChannel()
386  casacore::Vector<casacore::Vector<casacore::Slice> > corrSlices_p; // Used by VisIterator::selectCorrelation()
388 
389  casacore::Bool virtualModelCol_p; // CAS-5348 (jagonzal): Make virtual MODEL data column real
390  casacore::Bool virtualCorrectedCol_p; //CAS-7286 (jagonzal): Make virtual CORRECTED data column real
391  casacore::Bool reindex_p; // jagonzal: In order not to re-index asub-tables
392 
393 };
394 
395 } //# NAMESPACE CASA - END
396 
397 #endif /* MSTransformDataHandler_H_ */
void setupNewPointing()
Sets up the stub of a POINTING, enough to create an MSColumns.
casacore::Bool fillSubTables(const casacore::Vector< casacore::MS::PredefinedColumns > &colNames)
Sub-table fillers.
casacore::Vector< casacore::Int > ncorr_p
A 1-D Specialization of the Array class.
static casacore::Bool mergeSourceSubTables(casacore::Vector< casacore::String > filenames, casacore::Vector< casacore::uInt > mapSubmsSpwid)
int Int
Definition: aipstype.h:50
casacore::Vector< casacore::Int > antIndexer_p
void setVirtualCorrectedCol(casacore::Bool virtualCorrectedCol)
void setReindex(casacore::Bool reindex)
casacore::String fitspw_p
If &lt; 0 (default), continuum subtraction is not done.
casacore::Bool selectSpw(const casacore::String &spwstr, const casacore::Vector< casacore::Int > &steps)
Select spw and channels for each spw.
casacore::Bool copyAntenna()
std::map< casacore::Int, std::vector< casacore::Int > > spwDropChannelMap_p
casacore::Vector< casacore::Int > spwRelabel_p
Main interface class to a read/write table.
Definition: Table.h:153
casacore::MeasurementSet * getOutputMS()
casacore::MeasurementSet ms_p
Initialized* by ctors.
casacore::Vector< casacore::Int > spw_uniq_p
casacore::Bool copyFlag_Cmd()
casacore::Vector< casacore::Int > sourceRelabel_p
casacore::Vector< casacore::Int > & getAntennaRemapper()
casacore::Bool selectSource(const casacore::Vector< casacore::Int > &fieldid)
Select source or field.
casacore::Bool copySource()
static casacore::Bool mergeSpwSubTables(casacore::Vector< casacore::String > filenames)
To consolidate several sub-tables when dealing with MMS.
void setVirtualModelCol(casacore::Bool virtualModelCol)
Accesors for additional parameters.
std::map< casacore::Int, std::vector< casacore::Int > > & getDroppedChannelsMap()
std::map< casacore::Int, casacore::Int > & getStateRemapper()
Accesors for the Re-mapper objects.
static casacore::Bool pickAntennas(casacore::Vector< casacore::Int > &selected_antennaids, casacore::Vector< casacore::String > &selected_antenna_strs, const casacore::Vector< casacore::Int > &antennaids, const casacore::Vector< casacore::String > &antennaSel)
Helper function for selectAntenna()
void copySubtable(const casacore::String &tabName, const casacore::Table &inTab, const casacore::Bool noRows=false)
Adds and copies inTab to msOut_p without any filtering.
void relabelSources()
Sets up sourceRelabel_p for mapping input SourceIDs (if any) to output ones.
casacore::Bool fillSPWTable()
casacore::Bool fillPolTable()
casacore::Bool copyEphemerisTable(casacore::MSFieldColumns &msField)
copy ephemeris table and reindex field table if requested
static void make_map(std::map< casacore::Int, casacore::Int > &mapper, const casacore::Vector< casacore::Int > &inv)
Sets mapper to to a map from the distinct values of inv, in increasing order, to 0, 1, 2,..., mapper.size() - 1.
Bool isNull() const
Test if the object is null, i.e.
Definition: TableColumn.h:160
casacore::Bool antennaSel_p
same shape as the corresponding input one.
casacore::Bool copySyscal()
casacore::Vector< casacore::Int > inNumChan_p
casacore::Bool makeMSBasicStructure(casacore::String &msname, casacore::String &whichDataCol, casacore::Bool createWeightSpectrumCols, const casacore::Vector< casacore::Int > &tileShape=casacore::Vector< casacore::Int >(1, 0), const casacore::String &combine="", casacore::Table::TableOption option=casacore::Table::New)
Method to make the basic structure of the MS.
uInt ndim(uInt rownr) const
Get the #dimensions of an array in a particular cell.
Definition: ArrayColumn.h:159
Bool hasContent(uInt rownr=0) const
Does the column has content in the given row (default is the first row)? It has if it is defined and ...
Complex correlation function or lag spectrum for each correlation product Complex(Nc, Nl)
Definition: MSMainEnums.h:201
casacore::Bool setmsselect(const casacore::String &spw="", const casacore::String &field="", const casacore::String &baseline="", const casacore::String &scan="", const casacore::String &uvrange="", const casacore::String &taql="", const casacore::Vector< casacore::Int > &step=casacore::Vector< casacore::Int >(1, 1), const casacore::String &subarray="", const casacore::String &correlation="", const casacore::String &intent="", const casacore::String &obs="", const casacore::String &feed="")
Selection method using msselection syntax.
A class to provide easy read-write access to MSField columns.
MSTransformDataHandler definition.
static casacore::Bool columnOk(casacore::ArrayColumn< T > column)
casacore::Bool copyProcessor()
casacore::Bool fillDDITable()
casacore::Bool copyState()
casacore::Bool copyObservation()
casacore::Int fitorder_p
scan #, observation, and/or state ID? Must be lowercase at all times.
casacore::Vector< casacore::Int > antennaId_p
casacore::Bool copyWeather()
casacore::Vector< casacore::Int > fieldRelabel_p
casacore::Bool selectCorrelations(const casacore::String &corrstr)
Setup polarization selection (for now, only from available correlations - no casacore::Stokes transfo...
casacore::MeasurementSet * getSelectedInputMS()
double Double
Definition: aipstype.h:55
Floating point data column.
Definition: MSMainEnums.h:192
A class to provide easy read-only access to MeasurementSet columns.
Definition: MSColumns.h:111
casacore::MeasurementSet mssel_p
casacore::Vector< casacore::String > antennaSelStr_p
casacore::Vector< casacore::Int > polID_p
static casacore::Bool mergeFreqOffsetTables(casacore::Vector< casacore::String > filenames, casacore::Vector< casacore::uInt > mapSubmsSpwid)
MSSelection: Class to represent a selection on an MS.
Definition: MSSelection.h:118
casacore::Vector< casacore::Int > antNewIndex_p
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
casacore::Int getProcessorId(casacore::Int dataDescriptionId, casacore::String msname)
casacore::MSColumns * getOutputMSColumns()
Read and write access to an array table column with arbitrary data type.
Definition: Reweighter.h:48
static casacore::Bool mergeDDISubTables(casacore::Vector< casacore::String > filenames)
casacore::Vector< casacore::Int > chanStart_p
static casacore::Bool columnOk(casacore::ScalarColumn< T > column)
casacore::Vector< casacore::Int > inNumCorr_p
casacore::Matrix< casacore::Double > selTimeRanges_p
casacore::MeasurementSet msOut_p
continuum subtraction.
casacore::Vector< casacore::Int > chanStep_p
A hierarchical collection of named fields of various types.
Definition: TableRecord.h:182
casacore::Bool isAllColumns(const casacore::Vector< casacore::MS::PredefinedColumns > &colNames)
casacore::MeasurementSet * getInputMS()
Accesors for the casacore::MS objects.
A Table intended to hold astronomical data (a set of Measurements).
casacore::Vector< casacore::Int > chanEnd_p
static casacore::uInt dataColStrToEnums(const casacore::String &col, casacore::Vector< casacore::MS::PredefinedColumns > &colvec)
Helper function for parseColumnNames().
casacore::Vector< casacore::Vector< casacore::Slice > > chanSlices_p
void selectAntenna(const casacore::Vector< casacore::Int > &antennaids, const casacore::Vector< casacore::String > &antennaSel)
Select Antennas to split out.
casacore::Bool fillFieldTable()
casacore::Vector< casacore::Int > oldDDSpwMatch_p
casacore::Bool fillDDTables()
casacore::Vector< casacore::Int > spw2ddid_p
static casacore::Bool mergeSysPowerSubtables(casacore::Vector< casacore::String > filenames, casacore::Vector< casacore::uInt > mapSubmsSpwid)
static casacore::Bool mergeCalDeviceSubtables(casacore::Vector< casacore::String > filenames, casacore::Vector< casacore::uInt > mapSubmsSpwid)
casacore::Vector< casacore::Int > widths_p
input channel will be used.
static casacore::MeasurementSet * setupMS(const casacore::String &msname, const casacore::Int nchan, const casacore::Int npol, const casacore::String &telescop, const casacore::Vector< casacore::MS::PredefinedColumns > &colNamesTok, casacore::Bool createWeightSpectrumCols, const casacore::Int obstype=0, const casacore::Bool compress=false, const asdmStManUseAlternatives asdmStManUse=DONT, casacore::Table::TableOption option=casacore::Table::New)
This sets up a default new ms Declared static as it can be (and is) called directly from outside Ther...
casacore::Vector< casacore::Slice > corrSlice_p
casacore::Bool copyHistory()
casacore::Vector< casacore::Int > fieldid_p
std::map< casacore::Int, std::map< casacore::Int, std::vector< casacore::Int > > > & getSelectedChannelsMap()
casacore::Vector< casacore::Int > selObsId_p
A class to provide easy read-write access to MeasurementSet columns.
Definition: MSColumns.h:221
static casacore::Bool mergeFeedSubTables(casacore::Vector< casacore::String > filenames, casacore::Vector< casacore::uInt > mapSubmsSpwid)
String: the storage and methods of handling collections of characters.
Definition: String.h:223
casacore::ROMSColumns * getSelectedInputMSColumns()
casacore::Bool makeSelection()
Method that returns the selected ms (?! - but it&#39;s Boolean - RR)
static casacore::Bool mustConvertToData(const casacore::uInt nTok, const casacore::Vector< casacore::MS::PredefinedColumns > &datacols)
The output casacore::MS must have (at least?) 1 of DATA, FLOAT_DATA, or LAG_DATA. ...
static casacore::Bool getCorrMaps(casacore::MSSelection &mssel, const casacore::MeasurementSet &ms, casacore::Vector< casacore::Vector< casacore::Int > > &outToIn, const casacore::Bool areSelecting=false)
Fills outToIn[pol] with a map from output correlation index to input correlation index, for each input polID pol.
casacore::Bool copyGenericSubtables()
static casacore::Bool mergeSyscalSubTables(casacore::Vector< casacore::String > filenames, casacore::Vector< casacore::uInt > mapSubmsSpwid)
std::map< casacore::Int, std::map< casacore::Int, std::vector< casacore::Int > > > spwSelectedChannelMap_p
casacore::Vector< casacore::Int > nchan_p
casacore::Vector< casacore::Vector< casacore::Slice > > corrSlices_p
Access to a scalar table column with arbitrary data type.
Definition: MSFitsOutput.h:41
create table
Definition: Table.h:172
casacore::Vector< casacore::Vector< casacore::Int > > inPolOutCorrToInCorrMap_p
inCorrInd = outPolCorrToInCorrMap_p[polID_p[ddID]][outCorrInd]
static const casacore::Vector< casacore::MS::PredefinedColumns > & parseColumnNames(casacore::String colNameList)
Declared static because it&#39;s used in setupMS().
static casacore::uInt addOptionalColumns(const casacore::Table &inTab, casacore::Table &outTab, const casacore::Bool beLazy=false)
Add optional columns to outTab if present in inTab and possColNames.
static void createSubtables(casacore::MeasurementSet &ms, casacore::Table::TableOption option)
A customized version of casacore::MS::createDefaultSubtables().
static std::set< casacore::Int > findBadSpws(casacore::MeasurementSet &ms, casacore::Vector< casacore::Int > spwv)
Returns the set (possibly empty) of spectral windows that are in SPW but not listed in ms&#39;s DATA_DESC...
void selectArray(const casacore::String &subarray)
Select array IDs to use.
void copyMainTableKeywords(casacore::TableRecord &outKeys, const casacore::TableRecord &inKeys)
casacore::Bool filterOptSubtable(const casacore::String &subtabname)
This falls between copyGenericSubtables() and the copiers for standard sub-tables like copyFeed()...
casacore::Vector< casacore::Int > totnchan_p
MSTransformDataHandler(const casacore::String &theMS, casacore::Table::TableOption option, casacore::Bool virtualModelCol=false, casacore::Bool virtualCorrectedCol=false, casacore::Bool reindex=true)
casacore::Bool copyPointing()
unsigned int uInt
Definition: aipstype.h:51
casacore::Vector< casacore::Int > spw_p
void selectTime(casacore::Double timeBin=-1.0, casacore::String timerng="")
Select time parameters.
TableOption
Define the possible options how a table can be opened.
Definition: Table.h:168
std::map< casacore::Int, casacore::Int > stateRemapper_p