casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CTMainRecord.h
Go to the documentation of this file.
1 //# CTMainRecord.h: Calibration table record access and creation
2 //# Copyright (C) 1996,1997,1998,2001,2011
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_CTMAINRECORD_H
30 #define CALIBRATION_CTMAINRECORD_H
31 
32 #include <casa/aips.h>
34 #include <casa/Containers/Record.h>
35 
36 namespace casa { //# NAMESPACE CASA - BEGIN
37 
38 // <summary>
39 // CTMainRecord: Calibration table record access and creation
40 // </summary>
41 
42 // <use visibility=export>
43 
44 // <reviewed reviewer="" date="" tests="" demos="">
45 
46 // <prerequisite>
47 // <li> <linkto class="casacore::Record">casacore::Record</linkto> module
48 // </prerequisite>
49 //
50 // <etymology>
51 // From "calibration main table" and "record".
52 // </etymology>
53 //
54 // <synopsis>
55 // The CTMainRecord classes allow access to, and creation of, records
56 // in the main calibration table. Specializations for baseline-based,
57 // time-variable and solvable VisJones calibration table record types
58 // are provided through inheritance.
59 // </etymology>
60 //
61 // <example>
62 // <srcblock>
63 // </srcblock>
64 // </example>
65 //
66 // <motivation>
67 // Encapsulate access to calibration table records.
68 // </motivation>
69 //
70 // <todo asof="98/01/01">
71 // (i) Deal with non-standard columns.
72 // </todo>
73 
75 {
76  public:
77  // Default null constructor, and destructor
78  CTMainRecord();
80 
81  // Construct from an existing record
82  CTMainRecord (const casacore::Record& inpRec);
83 
84  // Return as record
85  const casacore::Record& record();
86 
87  // Field accessors
88  // a) define
89  void defineTime (const casacore::Double& time);
90  void defineTime (const casacore::MEpoch& time);
91  void defineFieldId (const casacore::Int& fieldId);
92  void defineSpwId (const casacore::Int& spwId);
93  void defineAntenna1 (const casacore::Int& antenna1);
94  void defineAntenna2 (const casacore::Int& antenna2);
95  void defineInterval (const casacore::Double& interval);
96  void defineScanNo (const casacore::Int& scanNo);
98  void defineParamerr (const casacore::Array<casacore::Float>& paramerr);
101  void defineWeight (const casacore::Array<casacore::Float>& weight);
102 
103  // b) get
104  void getTime (casacore::Double& time);
105  void getFieldId (casacore::Int& fieldId);
106  void getSpwId (casacore::Int& spwId);
107  void getAntenna1 (casacore::Int& antenna1);
108  void getAntenna2 (casacore::Int& antenna2);
109  void getInterval (casacore::Double& interval);
110  void getScanNo (casacore::Int& scanNo);
116 
117  protected:
118  // Add to itsRecord
119  void addRec (const casacore::Record& newRec);
120 
121  private:
123 
124  };
125 
126 
127 } //# NAMESPACE CASA - END
128 
129 #endif
130 
131 
132 
133 
int Int
Definition: aipstype.h:50
void defineParamerr(const casacore::Array< casacore::Float > &paramerr)
void getSpwId(casacore::Int &spwId)
void defineAntenna1(const casacore::Int &antenna1)
void getSnr(casacore::Array< casacore::Float > &snr)
void defineFlag(const casacore::Array< casacore::Bool > &flag)
void getWeight(casacore::Array< casacore::Float > &weight)
ABSTRACT TOOL CLASSES A PlotTool is a higher level event handler for a PlotCanvas The idea is to take common tasks which may require multiple events and put them in one place PlotTools also provide additional functionality in that they can be active and blocking non blocking The PlotCanvas will only send events to active and will not send events to later tools or event handlers if the latest tool was blocking In this way a single tool can be used to handle ALL user interaction via the GUI at one time
Definition: PlotTool.h:43
void getInterval(casacore::Double &interval)
void getScanNo(casacore::Int &scanNo)
A Measure: instant in time.
Definition: MEpoch.h:104
void getAntenna2(casacore::Int &antenna2)
void getFieldId(casacore::Int &fieldId)
void getFlag(casacore::Array< casacore::Bool > &flag)
void getParam(casacore::Array< casacore::Complex > &param)
CTMainRecord()
Default null constructor, and destructor.
double Double
Definition: aipstype.h:55
void defineScanNo(const casacore::Int &scanNo)
void defineAntenna2(const casacore::Int &antenna2)
A hierarchical collection of named fields of various types.
Definition: Record.h:180
void addRec(const casacore::Record &newRec)
Add to itsRecord.
void defineSnr(const casacore::Array< casacore::Float > &snr)
void defineSpwId(const casacore::Int &spwId)
casacore::Record itsRecord
Definition: CTMainRecord.h:122
void defineTime(const casacore::Double &time)
Field accessors a) define.
void defineWeight(const casacore::Array< casacore::Float > &weight)
void getParamerr(casacore::Array< casacore::Float > &paramerr)
void defineInterval(const casacore::Double &interval)
void defineParam(const casacore::Array< casacore::Complex > &param)
void getTime(casacore::Double &time)
b) get
const casacore::Record & record()
Return as record.
void defineFieldId(const casacore::Int &fieldId)
void getAntenna1(casacore::Int &antenna1)
CTMainRecord: Calibration table record access and creation.
Definition: CTMainRecord.h:74