CCfits: CCfits.h Source File

CCfits 2.7

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List

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 {
    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