casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ROCalMainColumns2.h
Go to the documentation of this file.
1 //# CalMainColumns.h: Calibration table cal_main column access
2 //# Copyright (C) 1996,1997,1998,2001,2002,2003
3 //# Associated Universities, Inc. Washington DC, USA.
4 //#
5 //# This library is free software; you can redistribute it and/or modify it
6 //# under the terms of the GNU Library General Public License as published by
7 //# the Free Software Foundation; either version 2 of the License, or (at your
8 //# option) any later version.
9 //#
10 //# This library is distributed in the hope that it will be useful, but WITHOUT
11 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13 //# License for more details.
14 //#
15 //# You should have received a copy of the GNU Library General Public License
16 //# along with this library; if not, write to the Free Software Foundation,
17 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18 //#
19 //# Correspondence concerning AIPS++ should be adressed as follows:
20 //# Internet email: aips2-request@nrao.edu.
21 //# Postal address: AIPS++ Project Office
22 //# National Radio Astronomy Observatory
23 //# 520 Edgemont Road
24 //# Charlottesville, VA 22903-2475 USA
25 //#
26 //#
27 //# $Id$
28 
29 #ifndef CALIBRATION_ROCALMAINCOLUMNS2_H
30 #define CALIBRATION_ROCALMAINCOLUMNS2_H
31 
32 #include <casa/aips.h>
44 #include <msvis/MSVis/MSCalEnums.h>
45 
46 namespace casa { //# NAMESPACE CASA - BEGIN
47 
48  template<class T>
50  {
51  public:
52  // Construct from a calibration table
53  ROCalMainColumns2 (const CalTable2& calTable);
54 
55  // Default destructor
56  virtual ~ROCalMainColumns2() {};
57 
58  // Read-only column accessors
60  const casacore::ROScalarMeasColumn<casacore::MEpoch>& timeMeas() const {return timeMeas_p;};
62  const casacore::ROScalarQuantColumn<casacore::Double>& timeEPQuant() const
63  {return timeEPQuant_p;};
65  const casacore::ROScalarQuantColumn<casacore::Double>& intervalQuant() const
66  {return intervalQuant_p;};
85  //const casacore::ArrayColumn<casacore::Complex>& gain() const {return gain_p;};
86  const casacore::ArrayColumn<T>& gain() const {return gain_p;};
92  const casacore::ROArrayMeasColumn<casacore::MFrequency>& refFreqMeas() const
93  {return refFreqMeas_p;};
96  const casacore::ROArrayMeasColumn<casacore::MDirection>& refDirMeas() const
97  {return refDirMeas_p;};
101 
102  protected:
103  // Prohibit public use of the null constructor, which
104  // does not produce a usable object.
106 
107  // Return a CalTable as a casacore::Table reference. Utilizes friendship
108  // relationship with class CalTable.
109  const casacore::Table& asTable(const CalTable2& calTable)
110  {return calTable.calMainAsTable();}
111 
112  // Attach a table column accessor
113  void attach (const CalTable2& calTable, casacore::TableColumn& tabCol,
114  MSCalEnums::colDef colEnum, const casacore::Bool& optional = false);
115  void attach (const CalTable2& calTable,
116  casacore::ROArrayMeasColumn<casacore::MEpoch>& tabCol,
117  MSCalEnums::colDef colEnum, const casacore::Bool& optional = false);
118  void attach (const CalTable2& calTable,
119  casacore::ROArrayMeasColumn<casacore::MFrequency>& tabCol,
120  MSCalEnums::colDef colEnum, const casacore::Bool& optional = false);
121  void attach (const CalTable2& calTable,
122  casacore::ROArrayMeasColumn<casacore::MDirection>& tabCol,
123  MSCalEnums::colDef colEnum, const casacore::Bool& optional = false);
124  void attach (const CalTable2& calTable, casacore::ROScalarMeasColumn<casacore::MEpoch>& tabCol,
125  MSCalEnums::colDef colEnum, const casacore::Bool& optional = false);
126  void attach (const CalTable2& calTable, casacore::ROScalarQuantColumn<casacore::Double>& tabCol,
127  MSCalEnums::colDef colEnum, const casacore::Bool& optional = false);
128 
129  private:
130  // Prohibit copy constructor and assignment operator
133 
134  // Private column accessors
136  casacore::ROScalarMeasColumn<casacore::MEpoch> timeMeas_p;
138  casacore::ROScalarQuantColumn<casacore::Double> timeEPQuant_p;
140  casacore::ROScalarQuantColumn<casacore::Double> intervalQuant_p;
159  //casacore::ArrayColumn<casacore::Complex> gain_p;
166  casacore::ROArrayMeasColumn<casacore::MFrequency> refFreqMeas_p;
169  casacore::ROArrayMeasColumn<casacore::MDirection> refDirMeas_p;
173  };
174 
175 }
176 
177 
178 #ifndef AIPS_NO_TEMPLATE_SRC
179 #include <synthesis/CalTables/ROCalMainColumns2.tcc>
180 #endif
181 
182 #endif
casacore::ArrayColumn< T > gain_p
casacore::ArrayColumn&lt;casacore::Complex&gt; gain_p;
const casacore::ArrayColumn< casacore::Int > & refReceptor() const
casacore::ROArrayMeasColumn< casacore::MFrequency > refFreqMeas_p
casacore::ScalarColumn< casacore::Double > time_p
Private column accessors.
const casacore::ArrayColumn< casacore::Int > & refFeed() const
casacore::ScalarColumn< casacore::Int > fieldId_p
const casacore::ScalarColumn< casacore::Double > & timeEP() const
Main interface class to a read/write table.
Definition: Table.h:153
casacore::ArrayColumn< casacore::Float > solvePar_p
const casacore::ArrayColumn< casacore::Int > & refAnt() const
virtual ~ROCalMainColumns2()
Default destructor.
const casacore::ScalarColumn< casacore::Double > & time() const
Read-only column accessors.
const casacore::ROArrayMeasColumn< casacore::MFrequency > & refFreqMeas() const
const casacore::ScalarColumn< casacore::Int > & measFreqRef() const
casacore::ROScalarQuantColumn< casacore::Double > timeEPQuant_p
ROCalMainColumns2()
Prohibit public use of the null constructor, which does not produce a usable object.
casacore::ScalarColumn< casacore::Int > phaseId_p
casacore::ScalarColumn< casacore::Double > interval_p
casacore::ScalarColumn< casacore::Int > scanNo_p
CalTable: Calibration table access and creation.
Definition: CalTable2.h:81
casacore::ArrayColumn< casacore::Int > refReceptor_p
const casacore::ArrayColumn< casacore::Float > & solvePar() const
const casacore::ScalarColumn< casacore::String > & fieldCode() const
casacore::ScalarColumn< casacore::Int > calHistoryId_p
const casacore::ArrayColumn< casacore::Double > & refFreq() const
casacore::ScalarColumn< casacore::Int > obsId_p
const casacore::ScalarColumn< casacore::Int > & fieldId() const
const casacore::ScalarColumn< casacore::String > & sourceName() const
casacore::ArrayColumn< casacore::Double > refFreq_p
casacore::ScalarColumn< casacore::Int > feed1_p
casacore::Table & calMainAsTable()
Return cal_main and sub-tables as casacore::Table references.
Definition: CalTable2.h:162
casacore::ArrayColumn< casacore::Int > refAnt_p
casacore::ScalarColumn< casacore::Int > measDirRef_p
casacore::ScalarColumn< casacore::Double > timeEP_p
const casacore::ScalarColumn< casacore::Int > & stateId() const
casacore::ScalarColumn< casacore::String > fieldCode_p
const casacore::ScalarColumn< casacore::Int > & feed1() const
casacore::ScalarColumn< casacore::Int > processorId_p
const casacore::Table & asTable(const CalTable2 &calTable)
Return a CalTable as a casacore::Table reference.
const casacore::ScalarColumn< casacore::String > & sourceCode() const
const casacore::ScalarColumn< casacore::Int > & phaseId() const
const casacore::ScalarColumn< casacore::Int > & arrayId() const
casacore::ROScalarQuantColumn< casacore::Double > intervalQuant_p
casacore::ScalarColumn< casacore::String > sourceName_p
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
Read and write access to an array table column with arbitrary data type.
Definition: Reweighter.h:48
const casacore::ScalarColumn< casacore::Int > & freqGrp() const
casacore::ScalarColumn< casacore::String > freqGrpName_p
const casacore::ScalarColumn< casacore::String > & freqGrpName() const
casacore::ScalarColumn< casacore::Int > measFreqRef_p
Read/write access to a table column.
Definition: TableColumn.h:98
casacore::ScalarColumn< casacore::Int > freqGrp_p
casacore::ScalarColumn< casacore::Int > antenna1_p
const casacore::ScalarColumn< casacore::String > & fieldName() const
const casacore::ROArrayMeasColumn< casacore::MDirection > & refDirMeas() const
const casacore::ScalarColumn< casacore::Int > & calGrp() const
const casacore::ScalarColumn< casacore::Int > & obsId() const
casacore::ScalarColumn< casacore::Int > pulsarGateId_p
casacore::ScalarColumn< casacore::String > sourceCode_p
casacore::ROScalarMeasColumn< casacore::MEpoch > timeMeas_p
casacore::ScalarColumn< casacore::Int > calDescId_p
const casacore::ScalarColumn< casacore::Int > & antenna1() const
const casacore::ScalarColumn< casacore::Int > & processorId() const
const casacore::ScalarColumn< casacore::Int > & scanNo() const
colDef
Enumerate all relevant data fields (columns and keywords)
Definition: MSCalEnums.h:92
const casacore::ScalarColumn< casacore::Double > & interval() const
const casacore::ROScalarQuantColumn< casacore::Double > & intervalQuant() const
casacore::ScalarColumn< casacore::Int > stateId_p
casacore::ScalarColumn< casacore::Int > calGrp_p
casacore::ScalarColumn< casacore::String > fieldName_p
casacore::ROArrayMeasColumn< casacore::MDirection > refDirMeas_p
const casacore::ScalarColumn< casacore::Int > & calDescId() const
ROCalMainColumns2 & operator=(const ROCalMainColumns2 &)
void attach(const CalTable2 &calTable, casacore::TableColumn &tabCol, MSCalEnums::colDef colEnum, const casacore::Bool &optional=false)
Attach a table column accessor.
const casacore::ScalarColumn< casacore::Int > & pulsarBin() const
const casacore::ArrayColumn< T > & gain() const
const casacore::ArrayColumn&lt;casacore::Complex&gt;&amp; gain() const {return gain_p;};
casacore::ScalarColumn< casacore::Int > arrayId_p
casacore::ArrayColumn< casacore::Int > refFeed_p
const casacore::ScalarColumn< casacore::Int > & pulsarGateId() const
const casacore::ScalarColumn< casacore::Int > & measDirRef() const
const casacore::ROScalarQuantColumn< casacore::Double > & timeEPQuant() const
casacore::ArrayColumn< casacore::Double > refDir_p
const casacore::ArrayColumn< casacore::Double > & refDir() const
const casacore::ScalarColumn< casacore::Int > & calHistoryId() const
casacore::ScalarColumn< casacore::Int > pulsarBin_p
const casacore::ROScalarMeasColumn< casacore::MEpoch > & timeMeas() const