CCfits
2.7
|
00001 // Astrophysics Science Division, 00002 // NASA/ Goddard Space Flight Center 00003 // HEASARC 00004 // http://heasarc.gsfc.nasa.gov 00005 // e-mail: ccfits@legacy.gsfc.nasa.gov 00006 // 00007 // Original author: Ben Dorman 00008 00009 #ifndef CCFITS_H 00010 #define CCFITS_H 1 00011 00012 // fitsio 00013 #include "fitsio.h" 00014 // string 00015 #include <string> 00016 00017 namespace CCfits { 00018 class ExtHDU; 00019 class Column; 00020 00021 } // namespace CCfits 00022 #include <map> 00023 #include <sys/types.h> 00024 #include "longnam.h" 00025 #include "float.h" 00026 00027 00028 namespace CCfits { 00032 static const int BITPIX = -32; 00033 static const int NAXIS = 2; 00034 static const int MAXDIM = 99; 00035 extern const unsigned long USBASE; 00036 extern const unsigned long ULBASE; 00037 00038 extern char BSCALE[7]; 00039 extern char BZERO[6]; 00040 00041 00042 00043 typedef enum {Read=READONLY,Write=READWRITE} RWmode; 00044 00045 00081 typedef enum { 00082 Tnull, 00083 Tbit = TBIT, 00084 Tbyte = TBYTE, 00085 Tlogical = TLOGICAL, 00086 Tstring = TSTRING, 00087 Tushort = TUSHORT, 00088 Tshort = TSHORT, 00089 Tuint = TUINT, 00090 Tint = TINT, 00091 Tulong = TULONG, 00092 Tlong = TLONG, 00093 Tlonglong = TLONGLONG, 00094 Tfloat = TFLOAT, 00095 Tdouble = TDOUBLE, 00096 Tcomplex = TCOMPLEX, 00097 Tdblcomplex = TDBLCOMPLEX, 00098 VTbit = -TBIT, 00099 VTbyte = -TBYTE, 00100 VTlogical = -TLOGICAL, 00101 VTstring = -TSTRING, 00102 VTushort = -TUSHORT, 00103 VTshort = -TSHORT, 00104 VTuint = -TUINT, 00105 VTint = -TINT, 00106 VTulong = -TULONG, 00107 VTlong = -TLONG, 00108 VTlonglong = -TLONGLONG, 00109 VTfloat = -TFLOAT, 00110 VTdouble = -TDOUBLE, 00111 VTcomplex = -TCOMPLEX, 00112 VTdblcomplex= -TDBLCOMPLEX 00113 } ValueType; 00114 00115 00116 // GroupTbl isn't a real CFITSIO HDU type, but we use it when creating 00117 // new Grouping Tables 00118 typedef enum {AnyHdu=-1, ImageHdu, AsciiTbl, BinaryTbl, GroupTbl} HduType; 00119 00120 00121 00122 typedef enum {Inotype = 0, Ibyte=BYTE_IMG, 00123 Ishort = SHORT_IMG, 00124 Ilong = LONG_IMG, 00125 Ifloat = FLOAT_IMG, 00126 Idouble = DOUBLE_IMG, 00127 Iushort = USHORT_IMG, 00128 Iulong = ULONG_IMG, 00129 Ilonglong = LONGLONG_IMG} ImageType; 00130 00131 00132 00133 typedef std::string String; 00134 00135 00136 00137 typedef std::multimap<String,CCfits::ExtHDU*> ExtMap; 00138 00142 typedef std::multimap<std::string,CCfits::Column*> ColMap; 00143 00144 00145 00146 typedef ExtMap::const_iterator ExtMapConstIt; 00147 00148 00149 00150 typedef ExtMap::iterator ExtMapIt; 00151 00152 } // namespace CCfits 00153 00154 00155 #endif