casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
GBTGOFiller.h
Go to the documentation of this file.
00001 //# GBTGOFiller: A filler for the GBT GO (user interface) FITS files.
00002 //# Copyright (C) 2000,2001,2004
00003 //# Associated Universities, Inc. Washington DC, USA.
00004 //#
00005 //# This library is free software; you can redistribute it and/or modify it
00006 //# under the terms of the GNU Library General Public License as published by
00007 //# the Free Software Foundation; either version 2 of the License, or (at your
00008 //# option) any later version.
00009 //#
00010 //# This library is distributed in the hope that it will be useful, but WITHOUT
00011 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00012 //# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
00013 //# License for more details.
00014 //#
00015 //# You should have received a copy of the GNU Library General Public License
00016 //# along with this library; if not, write to the Free Software Foundation,
00017 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
00018 //#
00019 //# Correspondence concerning AIPS++ should be addressed as follows:
00020 //#        Internet email: aips2-request@nrao.edu.
00021 //#        Postal address: AIPS++ Project Office
00022 //#                        National Radio Astronomy Observatory
00023 //#                        520 Edgemont Road
00024 //#                        Charlottesville, VA 22903-2475 USA
00025 //#
00026 //#
00027 //# $Id$
00028 
00029 #ifndef NRAO_GBTGOFILLER_H
00030 #define NRAO_GBTGOFILLER_H
00031 
00032 #include <casa/aips.h>
00033 #include <nrao/GBTFillers/GBTSimpleTable.h>
00034 
00035 //# Forward declarations
00036 namespace casa { //# NAMESPACE CASA - BEGIN
00037 class Table;
00038 class String;
00039 } //# NAMESPACE CASA - END
00040 
00041 #include <casa/namespace.h>
00042 
00043 class GBTGOFile;
00044 
00045 // <summary>
00046 //  A filler for the GBT GO (user interface) FITS files.
00047 // </summary>
00048 
00049 // <use visibility=local>
00050 
00051 // <reviewed reviewer="" date="yyyy/mm/dd" tests="" demos="">
00052 // </reviewed>
00053 
00054 // <prerequisite>
00055 //   <li> Stuff
00056 // </prerequisite>
00057 //
00058 // <etymology>
00059 // This fills a subtable of a MS using the contents of the GO fits file.
00060 // This fits file is generated by the GBT users interface and contains
00061 // information relevent to how the user set up each scan.
00062 // </etymology>
00063 //
00064 // <synopsis>
00065 // </synopsis>
00066 //
00067 // <example>
00068 // </example>
00069 //
00070 // <motivation>
00071 // This file is not like the DAP files, it needs a separate filler.
00072 // </motivation>
00073 //
00074 // <thrown>
00075 //    <li>
00076 //    <li>
00077 // </thrown>
00078 //
00079 
00080 class GBTGOFiller
00081 {
00082 public:
00083     // makes a new NRAO_GBT_GLISH subtable if one is not already present in 
00084     // parent, otherwise it opens that one up as is. 
00085     GBTGOFiller(Table &parent);
00086 
00087     virtual ~GBTGOFiller();
00088 
00089     // fill the subtable using the supplied GBTGOFile.  
00090     // The scan number is used as an index column as is the time and interval.
00091     // The time should be the midpoint of the scan and the interval
00092     // is the duration of the scan.  A new row is added for each call
00093     // to this function.  trueScanNumber is used to compare the scan number
00094     // in the GO file with that actually being filled.  If the two differ,
00095     // a warning message is logged and the trueScanNumber is used.
00096     virtual void fill(const GBTGOFile &goFile, Double time, Double interval,
00097                       Int trueScanNumber);
00098 
00099     // flush the underlying simple table
00100     void flush() {itsTable->flush();}
00101 private:
00102     GBTSimpleTable *itsTable;
00103 
00104     // unavailable, undefined
00105     GBTGOFiller();
00106     GBTGOFiller(const GBTGOFiller &);
00107     GBTGOFiller &operator=(const GBTGOFiller &);
00108 };
00109 
00110 #endif
00111 
00112