casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CalMainRecord.h
Go to the documentation of this file.
1 //# CalMainRecord.h: Calibration table record access and creation
2 //# Copyright (C) 1996,1997,1998,2001
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_CALMAINRECORD_H
30 #define CALIBRATION_CALMAINRECORD_H
31 
32 #include <casa/aips.h>
34 #include <casa/Containers/Record.h>
35 
36 namespace casa { //# NAMESPACE CASA - BEGIN
37 
38 // <summary>
39 // CalMainRecord: 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 CalMainRecord 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  CalMainRecord();
80 
81  // Construct from an existing record
82  CalMainRecord (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 defineTimeEP (const casacore::Double& timeEP);
92  void defineInterval (const casacore::Double& interval);
93  void defineAntenna1 (const casacore::Int& antenna1);
94  void defineFeed1 (const casacore::Int& feed1);
95  void defineFieldId (const casacore::Int& fieldId);
96  void defineArrayId (const casacore::Int& arrayId);
97  void defineObsId (const casacore::Int& obsId);
98  void defineScanNo (const casacore::Int& scanNo);
99  void defineProcessorId (const casacore::Int& processorId);
100  void defineStateId (const casacore::Int& stateId);
101  void definePhaseId (const casacore::Int& phaseId);
102  void definePulsarBin (const casacore::Int& pulsarBin);
103  void definePulsarGateId (const casacore::Int& pulsarGateId);
104  void defineFreqGrp (const casacore::Int& freqGrp);
105  void defineFreqGrpName (const casacore::String& freqGrpName);
106  void defineFieldName (const casacore::String& fieldName);
107  void defineFieldCode (const casacore::String& fieldCode);
108  void defineSourceName (const casacore::String& sourceName);
109  void defineSourceCode (const casacore::String& sourceCode);
110  void defineCalGrp (const casacore::Int& calGrp);
112  void defineRefAnt (const casacore::Array<casacore::Int>& refAnt);
113  void defineRefFeed (const casacore::Array<casacore::Int>& refFeed);
114  void defineRefReceptor (const casacore::Array<casacore::Int>& refReceptor);
115  void defineRefFreq (const casacore::Array<casacore::Double>& refFreq);
116  void defineMeasFreqRef (const casacore::Int& measFreqRef);
117  void defineRefDir (const casacore::Array<casacore::Double>& refDir);
118  void defineMeasDirRef (const casacore::Int& measDirRef);
119  void defineCalDescId (const casacore::Int& calDescId);
120  void defineCalHistoryId (const casacore::Int& calHistoryId);
121 
122  // b) get
123  void getTime (casacore::Double& time);
124  void getTimeEP (casacore::Double& timeEP);
125  void getInterval (casacore::Double& interval);
126  void getAntenna1 (casacore::Int& antenna1);
127  void getFeed1 (casacore::Int& feed1);
128  void getFieldId (casacore::Int& fieldId);
129  void getArrayId (casacore::Int& arrayId);
130  void getObsId (casacore::Int& obsId);
131  void getScanNo (casacore::Int& scanNo);
132  void getProcessorId (casacore::Int& processorId);
133  void getStateId (casacore::Int& stateId);
134  void getPhaseId (casacore::Int& phaseId);
135  void getPulsarBin (casacore::Int& pulsarBin);
136  void getPulsarGateId (casacore::Int& pulsarGateId);
137  void getFreqGrp (casacore::Int& freqGrp);
138  void getFreqGrpName (casacore::String& freqGrpName);
139  void getFieldName (casacore::String& fieldName);
140  void getFieldCode (casacore::String& fieldCode);
141  void getSourceName (casacore::String& sourceName);
142  void getSourceCode (casacore::String& sourceCode);
143  void getCalGrp (casacore::Int& calGrp);
149  void getMeasFreqRef (casacore::Int& measFreqRef);
151  void getMeasDirRef (casacore::Int& measDirRef);
152  void getCalDescId (casacore::Int& calDescId);
153  void getCalHistoryId (casacore::Int& calHistoryId);
154 
155  protected:
156  // Add to itsRecord
157  void addRec (const casacore::Record& newRec);
158 
159  // Field accessors for fit parameters.
160  // Used in separate parts of the inheritance tree.
161  // a) define
162  void dTotalSolnOk (const casacore::Bool& totalSolnOk);
163  void dTotalFit (const casacore::Float& totalFit);
164  void dTotalFitWgt (const casacore::Float& totalFitWgt);
165  void dSolnOk (const casacore::Array <casacore::Bool>& solnOk);
166  void dFit (const casacore::Array <casacore::Float>& fit);
167  void dFitWgt (const casacore::Array <casacore::Float>& fitWgt);
168  void dFlag (const casacore::Array <casacore::Bool>& flag);
169  void dSnr (const casacore::Array <casacore::Float>& snr);
170 
171  // b) get
172  void gTotalSolnOk (casacore::Bool& totalSolnOk);
173  void gTotalFit (casacore::Float& totalFit);
174  void gTotalFitWgt (casacore::Float& totalFitWgt);
180 
181  private:
183 
184  };
185 
186 
187 } //# NAMESPACE CASA - END
188 
189 #endif
190 
191 
192 
193 
194 
void getCalHistoryId(casacore::Int &calHistoryId)
int Int
Definition: aipstype.h:50
void getArrayId(casacore::Int &arrayId)
void defineArrayId(const casacore::Int &arrayId)
void getFieldId(casacore::Int &fieldId)
void getRefDir(casacore::Array< casacore::Double > &refDir)
void defineFieldId(const casacore::Int &fieldId)
CalMainRecord()
Default null constructor, and destructor.
void defineScanNo(const casacore::Int &scanNo)
void defineRefDir(const casacore::Array< casacore::Double > &refDir)
void defineFreqGrpName(const casacore::String &freqGrpName)
void defineCalGrp(const casacore::Int &calGrp)
void defineAntenna1(const casacore::Int &antenna1)
void defineTime(const casacore::Double &time)
Field accessors a) define.
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 gTotalSolnOk(casacore::Bool &totalSolnOk)
b) get
void gTotalFit(casacore::Float &totalFit)
void definePulsarGateId(const casacore::Int &pulsarGateId)
void getPulsarBin(casacore::Int &pulsarBin)
void getRefReceptor(casacore::Array< casacore::Int > &refReceptor)
void getProcessorId(casacore::Int &processorId)
void getMeasFreqRef(casacore::Int &measFreqRef)
A Measure: instant in time.
Definition: MEpoch.h:104
void dTotalSolnOk(const casacore::Bool &totalSolnOk)
Field accessors for fit parameters.
void getMeasDirRef(casacore::Int &measDirRef)
void getInterval(casacore::Double &interval)
void defineFieldCode(const casacore::String &fieldCode)
void getScanNo(casacore::Int &scanNo)
void getRefFeed(casacore::Array< casacore::Int > &refFeed)
void definePhaseId(const casacore::Int &phaseId)
void dFlag(const casacore::Array< casacore::Bool > &flag)
void gFitWgt(casacore::Array< casacore::Float > &fitWgt)
void definePulsarBin(const casacore::Int &pulsarBin)
void getSourceCode(casacore::String &sourceCode)
void getFieldCode(casacore::String &fieldCode)
double Double
Definition: aipstype.h:55
casacore::Record itsRecord
void getRefAnt(casacore::Array< casacore::Int > &refAnt)
void getObsId(casacore::Int &obsId)
void getPhaseId(casacore::Int &phaseId)
void getTime(casacore::Double &time)
b) get
void defineSourceCode(const casacore::String &sourceCode)
A hierarchical collection of named fields of various types.
Definition: Record.h:180
void getPulsarGateId(casacore::Int &pulsarGateId)
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
CalMainRecord: Calibration table record access and creation.
Definition: CalMainRecord.h:74
void gSolnOk(casacore::Array< casacore::Bool > &solnOk)
void defineFieldName(const casacore::String &fieldName)
void dFitWgt(const casacore::Array< casacore::Float > &fitWgt)
float Float
Definition: aipstype.h:54
void gTotalFitWgt(casacore::Float &totalFitWgt)
void gFit(casacore::Array< casacore::Float > &fit)
void defineMeasDirRef(const casacore::Int &measDirRef)
void gFlag(casacore::Array< casacore::Bool > &flag)
void defineTimeEP(const casacore::Double &timeEP)
void defineMeasFreqRef(const casacore::Int &measFreqRef)
void defineFreqGrp(const casacore::Int &freqGrp)
void defineObsId(const casacore::Int &obsId)
void defineRefFeed(const casacore::Array< casacore::Int > &refFeed)
void defineRefReceptor(const casacore::Array< casacore::Int > &refReceptor)
void getSourceName(casacore::String &sourceName)
void defineCalHistoryId(const casacore::Int &calHistoryId)
void dSolnOk(const casacore::Array< casacore::Bool > &solnOk)
void getTimeEP(casacore::Double &timeEP)
void getRefFreq(casacore::Array< casacore::Double > &refFreq)
void defineRefFreq(const casacore::Array< casacore::Double > &refFreq)
void defineProcessorId(const casacore::Int &processorId)
void dFit(const casacore::Array< casacore::Float > &fit)
void addRec(const casacore::Record &newRec)
Add to itsRecord.
void defineSourceName(const casacore::String &sourceName)
void dTotalFit(const casacore::Float &totalFit)
void getAntenna1(casacore::Int &antenna1)
void defineFeed1(const casacore::Int &feed1)
void getCalDescId(casacore::Int &calDescId)
void defineStateId(const casacore::Int &stateId)
void getCalGrp(casacore::Int &calGrp)
void defineRefAnt(const casacore::Array< casacore::Int > &refAnt)
String: the storage and methods of handling collections of characters.
Definition: String.h:223
void defineGain(const casacore::Array< casacore::Complex > &gain)
void gSnr(casacore::Array< casacore::Float > &snr)
void getFeed1(casacore::Int &feed1)
void getFieldName(casacore::String &fieldName)
void getStateId(casacore::Int &stateId)
void getGain(casacore::Array< casacore::Complex > &gain)
void getFreqGrp(casacore::Int &freqGrp)
void defineInterval(const casacore::Double &interval)
void defineCalDescId(const casacore::Int &calDescId)
void dTotalFitWgt(const casacore::Float &totalFitWgt)
void dSnr(const casacore::Array< casacore::Float > &snr)
void getFreqGrpName(casacore::String &freqGrpName)
const casacore::Record & record()
Return as record.