00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
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
00049 typedef oint AIPSint;
00050
00051
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
00081 #define MAXAIPSDISK 35
00082
00083
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
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
00161