CCfits  2.5
CCfits.h
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 {Tnull, Tbit = TBIT, Tbyte = TBYTE, Tlogical = TLOGICAL, Tstring = TSTRING, Tushort = TUSHORT, Tshort = TSHORT,Tuint = TUINT,Tint = TINT, Tulong = TULONG,Tlong = TLONG, Tlonglong = TLONGLONG, Tfloat = TFLOAT, Tdouble = TDOUBLE, Tcomplex = TCOMPLEX, Tdblcomplex=TDBLCOMPLEX, VTbit= -TBIT, VTbyte=-TBYTE,VTlogical=-Tlogical, VTstring=-TSTRING, VTushort=-TUSHORT,VTshort=-TSHORT,VTuint=-TUINT, VTint=-TINT,VTulong=-TULONG,VTlong=-TLONG,VTlonglong=-TLONGLONG,VTfloat=-TFLOAT,VTdouble=-TDOUBLE,VTcomplex=-TCOMPLEX,VTdblcomplex=-TDBLCOMPLEX} ValueType;
00082 
00083 
00084 
00085   typedef enum {AnyHdu=-1, ImageHdu, AsciiTbl, BinaryTbl} HduType;
00086 
00087 
00088 
00089   typedef enum {Inotype = 0, Ibyte=BYTE_IMG, 
00090   Ishort = SHORT_IMG,
00091   Ilong = LONG_IMG, 
00092   Ifloat = FLOAT_IMG, 
00093   Idouble = DOUBLE_IMG, 
00094   Iushort = USHORT_IMG, 
00095   Iulong = ULONG_IMG,
00096   Ilonglong = LONGLONG_IMG} ImageType;
00097 
00098 
00099 
00100   typedef std::string String;
00101 
00102 
00103 
00104   typedef std::multimap<String,CCfits::ExtHDU*> ExtMap;
00105   
00109   typedef std::multimap<std::string,CCfits::Column*> ColMap; 
00110 
00111 
00112 
00113   typedef ExtMap::const_iterator ExtMapConstIt;
00114 
00115 
00116 
00117   typedef ExtMap::iterator ExtMapIt;
00118 
00119 } // namespace CCfits
00120 
00121 
00122 #endif