casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CalBuffer.h
Go to the documentation of this file.
1 //# CalBuffer.h: Calibration table buffer
2 //# Copyright (C) 1996,1997,1998,2001,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_CALBUFFER_H
30 #define CALIBRATION_CALBUFFER_H
31 
35 
36 namespace casa { //# NAMESPACE CASA - BEGIN
37 
38 // <summary>
39 // CalBuffer: Calibration table buffer
40 // </summary>
41 
42 // <use visibility=export>
43 
44 // <reviewed reviewer="" date="" tests="" demos="">
45 
46 // <prerequisite>
47 // <li> <linkto class="CalTable">CalTable</linkto> module
48 // <li> <linkto class="CalIterBase">CalIterBase</linkto> module
49 // </prerequisite>
50 //
51 // <etymology>
52 // From "calibration table" and "buffer"
53 // </etymology>
54 //
55 // <synopsis>
56 // The CalBuffer class holds a buffer, optinally connected to a
57 // calibration table iterator (as derived from CalIterBase).
58 // Specializations for baseline-based, time-variable and solvable
59 // VisJones calibration table formats are provided through
60 // inheritance.
61 // </synopsis>
62 //
63 // <example>
64 // <srcblock>
65 // </srcblock>
66 // </example>
67 //
68 // <motivation>
69 // Encapsulate calibration table data buffers.
70 // </motivation>
71 //
72 // <todo asof="01/08/01">
73 // (i) Deal with non-standard columns.
74 // </todo>
75 
76 class CalBuffer
77 {
78  public:
79  // Default constructor. No connection to an underlying
80  // calibration table iterator in this case.
81  CalBuffer();
82 
83  // Construct from a calibration table iterator. The calibration
84  // buffer will remain synchronized with the iterator.
85  CalBuffer (CalIterBase& calIter);
86 
87  // Default destructor
88  virtual ~CalBuffer();
89 
90  // Invalidate the current calibration buffer. This signals
91  // that a re-read is required as the iterator has advanced.
92  virtual void invalidate();
93 
94  // Write the current buffer at the end of a specified cal table (NYI)
95  virtual void append (CalTable& /*calTable*/) {};
96 
97  // casacore::Data field accessors
99  // casacore::Vector<casacore::MEpoch>& timeMeas();
130 
131  protected:
132 
133  private:
134  // true if connected to underlying iterator
136 
137  // Ptr to cal main columns accessor
139 
140  // Buffer fields
173 
174  // Buffer field status flags
207 };
208 
209 
210 } //# NAMESPACE CASA - END
211 
212 #endif
213 
214 
215 
216 
217 
casacore::Bool calGrpOK_p
Definition: CalBuffer.h:196
casacore::Vector< casacore::Int > arrayId_p
Definition: CalBuffer.h:148
casacore::Bool antenna1OK_p
Definition: CalBuffer.h:179
casacore::Array< casacore::Double > refFreq_p
Definition: CalBuffer.h:167
casacore::Bool fieldNameOK_p
Definition: CalBuffer.h:192
casacore::Vector< casacore::Int > calHistoryId_p
Definition: CalBuffer.h:172
casacore::Bool fieldIdOK_p
Definition: CalBuffer.h:181
casacore::Bool sourceCodeOK_p
Definition: CalBuffer.h:195
casacore::Bool gainOK_p
Definition: CalBuffer.h:197
casacore::Vector< casacore::Double > & time()
casacore::Data field accessors
casacore::Vector< casacore::Int > & calDescId()
casacore::Vector< casacore::Int > & calHistoryId()
casacore::Vector< casacore::String > sourceName_p
Definition: CalBuffer.h:160
casacore::Vector< casacore::Int > & processorId()
casacore::Bool sourceNameOK_p
Definition: CalBuffer.h:194
casacore::Vector< casacore::Int > pulsarBin_p
Definition: CalBuffer.h:154
CalBuffer()
Default constructor.
casacore::Vector< casacore::Int > & calGrp()
casacore::Vector< casacore::Int > fieldId_p
Definition: CalBuffer.h:147
casacore::Bool timeMeasOK_p
Definition: CalBuffer.h:176
casacore::Vector< casacore::Int > calDescId_p
Definition: CalBuffer.h:171
casacore::Vector< casacore::MEpoch > timeMeas_p
Definition: CalBuffer.h:142
casacore::Array< casacore::Int > refAnt_p
Definition: CalBuffer.h:164
casacore::Bool connectedToIter_p
true if connected to underlying iterator
Definition: CalBuffer.h:135
casacore::Vector< casacore::Double > time_p
Buffer fields.
Definition: CalBuffer.h:141
casacore::Array< casacore::Int > & refAnt()
casacore::Bool measFreqRefOK_p
Definition: CalBuffer.h:202
casacore::Vector< casacore::String > & fieldCode()
casacore::Vector< casacore::Int > feed1_p
Definition: CalBuffer.h:146
casacore::Bool phaseIdOK_p
Definition: CalBuffer.h:187
casacore::Vector< casacore::Int > scanNo_p
Definition: CalBuffer.h:150
casacore::Bool refAntOK_p
Definition: CalBuffer.h:198
casacore::Bool obsIdOK_p
Definition: CalBuffer.h:183
casacore::Vector< casacore::Int > & pulsarGateId()
casacore::Bool timeEPOK_p
Definition: CalBuffer.h:177
casacore::Bool stateIdOK_p
Definition: CalBuffer.h:186
casacore::Vector< casacore::String > fieldCode_p
Definition: CalBuffer.h:159
casacore::Vector< casacore::Int > & measFreqRef()
CalTable: Calibration table access and creation.
Definition: CalTable.h:82
casacore::Vector< casacore::Int > & arrayId()
CalIterBase: Base class for calibration table iterators.
Definition: CalIterBase.h:74
casacore::Bool refFeedOK_p
Definition: CalBuffer.h:199
casacore::Vector< casacore::Int > & feed1()
casacore::Vector< casacore::String > & sourceCode()
casacore::Bool refFreqOK_p
Definition: CalBuffer.h:201
casacore::Array< casacore::Double > & refFreq()
casacore::Vector< casacore::String > fieldName_p
Definition: CalBuffer.h:158
casacore::Bool feed1OK_p
Definition: CalBuffer.h:180
casacore::Bool freqGrpOK_p
Definition: CalBuffer.h:190
casacore::Bool pulsarGateIdOK_p
Definition: CalBuffer.h:189
casacore::Vector< casacore::Int > & antenna1()
casacore::Vector< casacore::Int > freqGrp_p
Definition: CalBuffer.h:156
casacore::Vector< casacore::Int > & freqGrp()
casacore::Bool processorIdOK_p
Definition: CalBuffer.h:185
casacore::Bool calHistoryIdOK_p
Definition: CalBuffer.h:206
casacore::Vector< casacore::Int > calGrp_p
Definition: CalBuffer.h:162
casacore::Vector< casacore::Int > & stateId()
CalMainColumns: Read-write cal_main calibration table column access.
casacore::Bool arrayIdOK_p
Definition: CalBuffer.h:182
virtual void append(CalTable &)
Write the current buffer at the end of a specified cal table (NYI)
Definition: CalBuffer.h:95
casacore::Vector< casacore::Int > & fieldId()
casacore::Vector< casacore::Double > interval_p
Definition: CalBuffer.h:144
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
casacore::Vector< casacore::Int > measDirRef_p
Definition: CalBuffer.h:170
casacore::Array< casacore::Int > refReceptor_p
Definition: CalBuffer.h:166
casacore::Vector< casacore::String > sourceCode_p
Definition: CalBuffer.h:161
casacore::Vector< casacore::String > & freqGrpName()
CalMainColumns * calMainCol_p
Ptr to cal main columns accessor.
Definition: CalBuffer.h:138
casacore::Vector< casacore::Double > & timeEP()
casacore::Vector&lt;casacore::MEpoch&gt;&amp; timeMeas();
casacore::Vector< casacore::Int > stateId_p
Definition: CalBuffer.h:152
casacore::Vector< casacore::Int > obsId_p
Definition: CalBuffer.h:149
casacore::Bool refDirOK_p
Definition: CalBuffer.h:203
casacore::Bool scanNoOK_p
Definition: CalBuffer.h:184
casacore::Vector< casacore::Int > & pulsarBin()
casacore::Bool refReceptorOK_p
Definition: CalBuffer.h:200
casacore::Bool freqGrpNameOK_p
Definition: CalBuffer.h:191
casacore::Vector< casacore::Int > & phaseId()
casacore::Bool intervalOK_p
Definition: CalBuffer.h:178
casacore::Vector< casacore::Int > & obsId()
casacore::Vector< casacore::Double > timeEP_p
Definition: CalBuffer.h:143
casacore::Array< casacore::Int > & refReceptor()
casacore::Vector< casacore::Double > & interval()
casacore::Array< casacore::Int > & refFeed()
casacore::Bool timeOK_p
Buffer field status flags.
Definition: CalBuffer.h:175
casacore::Bool pulsarBinOK_p
Definition: CalBuffer.h:188
virtual ~CalBuffer()
Default destructor.
casacore::Array< casacore::Double > refDir_p
Definition: CalBuffer.h:169
casacore::Array< casacore::Complex > gain_p
Definition: CalBuffer.h:163
casacore::Bool measDirRefOK_p
Definition: CalBuffer.h:204
CalBuffer: Calibration table buffer.
Definition: CalBuffer.h:76
casacore::Vector< casacore::Int > processorId_p
Definition: CalBuffer.h:151
casacore::Array< casacore::Double > & refDir()
casacore::Vector< casacore::Int > & scanNo()
casacore::Array< casacore::Complex > & gain()
casacore::Vector< casacore::String > freqGrpName_p
Definition: CalBuffer.h:157
casacore::Vector< casacore::String > & sourceName()
casacore::Vector< casacore::Int > & measDirRef()
casacore::Bool fieldCodeOK_p
Definition: CalBuffer.h:193
casacore::Vector< casacore::String > & fieldName()
casacore::Array< casacore::Int > refFeed_p
Definition: CalBuffer.h:165
casacore::Vector< casacore::Int > pulsarGateId_p
Definition: CalBuffer.h:155
casacore::Bool calDescIdOK_p
Definition: CalBuffer.h:205
casacore::Vector< casacore::Int > phaseId_p
Definition: CalBuffer.h:153
casacore::Vector< casacore::Int > measFreqRef_p
Definition: CalBuffer.h:168
virtual void invalidate()
Invalidate the current calibration buffer.
casacore::Vector< casacore::Int > antenna1_p
Definition: CalBuffer.h:145