Line data Source code
1 : //# CalHistoryRecord.h: Cal_history table record access and creation 2 : //# Copyright (C) 1996,1997,1998 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: casa-feedback@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_CALHISTRECORD_H 30 : #define CALIBRATION_CALHISTRECORD_H 31 : 32 : #include <casacore/casa/aips.h> 33 : #include <casacore/casa/Containers/Record.h> 34 : 35 : namespace casa { //# NAMESPACE CASA - BEGIN 36 : 37 : // <summary> 38 : // CalHistoryRecord: Cal_ table record access and creation 39 : // </summary> 40 : 41 : // <use visibility=export> 42 : 43 : // <reviewed reviewer="" date="" tests="" demos=""> 44 : 45 : // <prerequisite> 46 : // <li> <linkto class="casacore::Record">casacore::Record</linkto> module 47 : // <li> <linkto class="CalMainRecord">CalMainRecord</linkto> module 48 : // </prerequisite> 49 : // 50 : // <etymology> 51 : // From "calibration history sub-table" and "record". 52 : // </etymology> 53 : // 54 : // <synopsis> 55 : // The CalHistoryRecord class allows access to, and creation of, records 56 : // in the cal_history calibration sub-table. 57 : // </etymology> 58 : // 59 : // <example> 60 : // <srcblock> 61 : // </srcblock> 62 : // </example> 63 : // 64 : // <motivation> 65 : // Encapsulate access to cal_history calibration table records. 66 : // </motivation> 67 : // 68 : // <todo asof="98/01/01"> 69 : // </todo> 70 : 71 : class CalHistoryRecord 72 : { 73 : public: 74 : // Default null constructor, and destructor 75 : CalHistoryRecord(); 76 0 : ~CalHistoryRecord() {}; 77 : 78 : // Construct from an existing record 79 : CalHistoryRecord (const casacore::Record& inpRec); 80 : 81 : // Return as record 82 : const casacore::Record& record(); 83 : 84 : // Field accessors 85 : // a) define 86 : void defineCalParms (const casacore::String& calParms); 87 : void defineCalTables (const casacore::String& calTables); 88 : void defineCalSelect (const casacore::String& calSelect); 89 : void defineCalNotes (const casacore::String& calNotes); 90 : 91 : // b) get 92 : void getCalParms (casacore::String& calParms); 93 : void getCalTables (casacore::String& calTables); 94 : void getCalSelect (casacore::String& calSelect); 95 : void getCalNotes (casacore::String& calNotes); 96 : 97 : protected: 98 : // Add to itsRecord 99 : void addRec (const casacore::Record& newRec); 100 : 101 : private: 102 : casacore::Record itsRecord; 103 : 104 : }; 105 : 106 : 107 : } //# NAMESPACE CASA - END 108 : 109 : #endif 110 :