Main Page | Class List | Directories | File List | Class Members | File Members

ObitAIPS.h

Go to the documentation of this file.
00001 /* $Id: ObitAIPS.h,v 1.9 2007/07/13 17:00:05 bcotton Exp $  */
00002 /*--------------------------------------------------------------------*/
00003 /*;  Copyright (C) 2003-2006                                          */
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 about 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 OBITAIPS_H 
00028 #define OBITAIPS_H 
00029 #include <glib.h>
00030 #include "Obit.h"
00031 #include "ObitImageDesc.h"
00032 #include "ObitFile.h"
00033 #include "ObitTypes.h"
00034 #include "ObitIO.h"
00035 
00047 /*--------------  AIPS types  -------------------------------------*/
00049 typedef oint AIPSint;
00050 
00051 /*-------------- enumerations -------------------------------------*/
00056 enum obitAIPSFileType {
00058   OBIT_AIPS_Catalog = 0, 
00060   OBIT_AIPS_Header,
00062   OBIT_AIPS_Image,
00064   OBIT_AIPS_UVdata,
00066   OBIT_AIPS_Scratch,
00068   OBIT_AIPS_Table,
00070   OBIT_AIPS_History,
00072   OBIT_AIPS_Plot,
00074   OBIT_AIPS_Slice
00075 }; 
00077 typedef enum obitAIPSFileType ObitAIPSFileType;
00078 
00079 /*------------------  Macros    -------------------------------------*/
00081 #define MAXAIPSDISK 35
00082 
00083 /*--------------Class definitions-------------------------------------*/
00085 typedef struct {
00087   gchar *className;
00089   gboolean initialized; 
00091   gchar *AIPSdir[MAXAIPSDISK];
00093   gboolean noScrat[MAXAIPSDISK];
00095   gint NumberDisks;
00097   oint F_TRUE, F_FALSE;
00098 } ObitAIPS;
00099 
00100 /*---------------Public functions---------------------------*/
00102 void ObitAIPSClassInit (gint number, gchar* dir[], oint F_TRUE, oint F_FALSE);
00103 
00105 void ObitAIPSShutdown (void);
00106 
00108 gchar* 
00109 ObitAIPSFilename (ObitAIPSFileType type, gint disk, gint cno, 
00110                   gint userid, gchar *tabType, gint tabVer, ObitErr *err);
00111 
00113 void ObitAIPSSetDirname (gint disk, gchar* dir, ObitErr *err);
00114 
00116 gchar* ObitAIPSDirname (gint disk, ObitErr *err);
00117 
00119 gint ObitAIPSGetNumDisk (ObitErr *err);
00120 
00122 ObitFilePos ObitAIPSImageFileOffset (gint naxis, gint *naxes, gint *pos);
00123 
00125 ObitFilePos ObitAIPSTableFileOffset (ObitFilePos start, gint lrow, gint row);
00126 
00128 ObitFilePos ObitAIPSTableEOF (ObitFilePos start, gint lrow, gint nrow);
00129 
00131 ObitFilePos ObitAIPSUVWonkyPad (ObitFilePos curPos);
00132 
00134 void ObitAIPSEHex (gint in, gchar *out);
00135 
00137 void ObitAIPSAssign(gchar *pgmName, gint pgmNumber, gchar *type,
00138                     gint user, gint disk, gint scrNo, ObitInfoList *info, 
00139                     ObitErr *err);
00140 
00142 void ObitAIPSRename (ObitIO *in, ObitInfoList *info, ObitErr *err);
00143 
00145 gboolean ObitAIPSBooleanF2C (oint logical);
00146 
00148 oint ObitAIPSBooleanC2F (gboolean bool);
00149 
00151 void ObitAIPSnoScrat(gint disk, gboolean noScrat, ObitErr *err);
00152 
00154 gboolean ObitAIPSisNoScrat(gint disk);
00155 
00157 void ObitAIPSSetnoScrat(ObitInfoList *info, ObitErr *err);
00158 
00159 
00160 #endif /* OBITAIPS_H */ 
00161 

Generated on Fri Aug 31 22:13:04 2007 for Obit by  doxygen 1.3.9.1