CCfits  2.6
CCfits.h
1 // Astrophysics Science Division,
2 // NASA/ Goddard Space Flight Center
3 // HEASARC
4 // http://heasarc.gsfc.nasa.gov
5 // e-mail: ccfits@legacy.gsfc.nasa.gov
6 //
7 // Original author: Ben Dorman
8 
9 #ifndef CCFITS_H
10 #define CCFITS_H 1
11 
12 // fitsio
13 #include "fitsio.h"
14 // string
15 #include <string>
16 
17 namespace CCfits {
18  class ExtHDU;
19  class Column;
20 
21 } // namespace CCfits
22 #include <map>
23 #include <sys/types.h>
24 #include "longnam.h"
25 #include "float.h"
26 
27 
28 namespace CCfits {
32  static const int BITPIX = -32;
33  static const int NAXIS = 2;
34  static const int MAXDIM = 99;
35  extern const unsigned long USBASE;
36  extern const unsigned long ULBASE;
37 
38  extern char BSCALE[7];
39  extern char BZERO[6];
40 
41 
42 
43  typedef enum {Read=READONLY,Write=READWRITE} RWmode;
44 
45 
81  typedef enum {
82  Tnull,
83  Tbit = TBIT,
84  Tbyte = TBYTE,
85  Tlogical = TLOGICAL,
86  Tstring = TSTRING,
87  Tushort = TUSHORT,
88  Tshort = TSHORT,
89  Tuint = TUINT,
90  Tint = TINT,
91  Tulong = TULONG,
92  Tlong = TLONG,
93  Tlonglong = TLONGLONG,
94  Tfloat = TFLOAT,
95  Tdouble = TDOUBLE,
96  Tcomplex = TCOMPLEX,
97  Tdblcomplex = TDBLCOMPLEX,
98  VTbit = -TBIT,
99  VTbyte = -TBYTE,
100  VTlogical = -TLOGICAL,
101  VTstring = -TSTRING,
102  VTushort = -TUSHORT,
103  VTshort = -TSHORT,
104  VTuint = -TUINT,
105  VTint = -TINT,
106  VTulong = -TULONG,
107  VTlong = -TLONG,
108  VTlonglong = -TLONGLONG,
109  VTfloat = -TFLOAT,
110  VTdouble = -TDOUBLE,
111  VTcomplex = -TCOMPLEX,
112  VTdblcomplex= -TDBLCOMPLEX
113  } ValueType;
114 
115 
116  // GroupTbl isn't a real CFITSIO HDU type, but we use it when creating
117  // new Grouping Tables
118  typedef enum {AnyHdu=-1, ImageHdu, AsciiTbl, BinaryTbl, GroupTbl} HduType;
119 
120 
121 
122  typedef enum {Inotype = 0, Ibyte=BYTE_IMG,
123  Ishort = SHORT_IMG,
124  Ilong = LONG_IMG,
125  Ifloat = FLOAT_IMG,
126  Idouble = DOUBLE_IMG,
127  Iushort = USHORT_IMG,
128  Iulong = ULONG_IMG,
129  Ilonglong = LONGLONG_IMG} ImageType;
130 
131 
132 
133  typedef std::string String;
134 
135 
136 
137  typedef std::multimap<String,CCfits::ExtHDU*> ExtMap;
138 
142  typedef std::multimap<std::string,CCfits::Column*> ColMap;
143 
144 
145 
146  typedef ExtMap::const_iterator ExtMapConstIt;
147 
148 
149 
150  typedef ExtMap::iterator ExtMapIt;
151 
152 } // namespace CCfits
153 
154 
155 #endif
ValueType
CCfits value types and their CFITSIO equivalents (in caps)
Definition: CCfits.h:81
std::multimap< std::string, CCfits::Column * > ColMap
Type definition for a table&#39;s column container.
Definition: CCfits.h:142