00001 /* $Id: ObitOTFSel.h,v 1.4 2006/03/30 18:42:19 bcotton Exp $ */ 00002 /*--------------------------------------------------------------------*/ 00003 /*; Copyright (C) 2003,2004 */ 00004 /*; Associated Universities, Inc. Washington DC, USA. */ 00005 /*; This program is free software; you can redistribute it and/or */ 00006 /*; modify it under the terms of the GNU General Public License as */ 00007 /*; published by the Free Software Foundation; either version 2 of */ 00008 /*; the License, or (at your option) any later version. */ 00009 /*; */ 00010 /*; This program is distributed in the hope that it will be useful, */ 00011 /*; but WITHOUT ANY WARRANTY; without even the implied warranty of */ 00012 /*; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ 00013 /*; GNU General Public License for more details. */ 00014 /*; */ 00015 /*; You should have received a copy of the GNU General Public */ 00016 /*; License along with this program; if not, write to the Free */ 00017 /*; Software Foundation, Inc., 675 Massachusetts Ave, Cambridge, */ 00018 /*; MA 02139, USA. */ 00019 /*; */ 00020 /*; Correspondence this software should be addressed as follows: */ 00021 /*; Internet email: bcotton@nrao.edu. */ 00022 /*; Postal address: William Cotton */ 00023 /*; National Radio Astronomy Observatory */ 00024 /*; 520 Edgemont Road */ 00025 /*; Charlottesville, VA 22903-2475 USA */ 00026 /*--------------------------------------------------------------------*/ 00027 #ifndef OBITOTFSEL_H 00028 #define OBITOTFSEL_H 00029 #include <glib.h> 00030 #include "Obit.h" 00031 #include "ObitOTFDesc.h" 00032 #include "ObitErr.h" 00033 00034 /*-------- Obit: Software for the recently deceased ------------------*/ 00068 /*------------------- Macroes ----------------------------------------*/ 00074 #define ObitOTFSelUnref(in) ObitUnref (in) 00075 00081 #define ObitOTFSelRef(in) ObitRef (in) 00082 00089 #define ObitOTFSelIsA(in) ObitIsA (in, ObitOTFSelGetClass()) 00090 /*--------------Class definitions-------------------------------------*/ 00096 typedef struct { 00097 #include "ObitOTFSelDef.h" /* actual definition */ 00098 } ObitOTFSel; 00099 00100 /*---------------Public functions---------------------------*/ 00102 void ObitOTFSelClassInit (void); 00103 00105 ObitOTFSel* newObitOTFSel (gchar *name); 00106 00108 gconstpointer ObitOTFSelGetClass (void); 00109 00111 ObitOTFSel* ObitOTFSelCopy (ObitOTFSel* in, ObitOTFSel* out, ObitErr *err); 00112 00114 glong ObitOTFSelBufferSize (ObitOTFDesc* desc, ObitOTFSel* sel); 00115 00117 void ObitOTFSelDefault (ObitOTFDesc* in, ObitOTFSel* sel); 00118 00120 void ObitOTFSelGetDesc (ObitOTFDesc* in, ObitOTFSel* sel, 00121 ObitOTFDesc* out, ObitErr *err); 00122 00124 void ObitOTFSelSetDesc (ObitOTFDesc* in, ObitOTFSel* sel, 00125 ObitOTFDesc* out, ObitErr *err); 00126 00127 /* Public: Initialize indexing the uv data*/ 00128 void ObitOTFSelNextInit (ObitOTFSel *in, ObitOTFDesc* desc, ObitErr *err); 00129 00130 /* Public: Next record to read */ 00131 gboolean ObitOTFSelNext (ObitOTFSel *in, ObitOTFDesc* desc, ObitErr *err); 00132 00133 /* Public: Shutdown uv data indexing */ 00134 void ObitOTFSelShutdown (ObitOTFSel *in, ObitErr *err); 00135 00136 /* Public: Is a given target ID selected? */ 00137 gboolean ObitOTFSelWantTarget (ObitOTFSel* sel, gint TargetID); 00138 00139 /* Public: Is a given Feed selected? */ 00140 gboolean ObitOTFSelWantFeed (ObitOTFSel* sel, gint feed); 00141 00142 /*-------------------Class Info--------------------------*/ 00148 typedef struct { 00149 #include "ObitOTFSelClassDef.h" /* Actual definition */ 00150 } ObitOTFSelClassInfo; 00151 00152 #endif /* OBITOTFSEL_H */ 00153