CCfits  2.6
BinTable.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 BINTABLE_H
10 #define BINTABLE_H 1
11 
12 // HDUCreator
13 #include "HDUCreator.h"
14 // Table
15 #include "Table.h"
16 
17 // needed for CLONE_DEFECT
18 #ifdef _MSC_VER
19 #include "MSconfig.h"
20 #endif
21 
22 
23 namespace CCfits {
24 
130  class BinTable : public Table //## Inherits: <unnamed>%3804A7E75F10
131  {
132 
133  public:
134 
135  virtual BinTable * clone (FITS* p) const;
136  virtual void readData (bool readFlag = false, const std::vector<String>& keys = std::vector<String>());
137  virtual void addColumn (ValueType type, const String& columnName, long repeatWidth, const String& colUnit = String(""), long decimals = 0, size_t columnNumber = 0);
138 
139  // Additional Public Declarations
140 
141  protected:
142 
143  BinTable(const BinTable &right);
144  BinTable (FITS* p, const String &hduName = String(""), bool readFlag = false, const std::vector<String>& keys = std::vector<String>(), int version = 1);
145  BinTable (FITS* p, const String &hduName, int rows, const std::vector<String>& columnName = std::vector<String>(), const std::vector<String>& columnFmt = std::vector<String>(), const std::vector<String>& columnUnit = std::vector<String>(), int version = 1);
146  // ctor for creating a grouping table
147  BinTable (FITS* p, int version = 1, const String & groupName = String(""));
148  // ExtHDU constructor for getting ExtHDUs by number.
149  // Necessary since EXTNAME is a reserved, not required, keyword.
150  BinTable (FITS* p, int number);
151  ~BinTable();
152 
153  // Additional Protected Declarations
154 
155  private:
156 
157  virtual void readTableHeader (int ncols, std::vector<String>& colName, std::vector<String>& colFmt, std::vector<String>& colUnit);
158  void readVariableColumns (const std::vector<String> &varColumns);
159 
160  // Additional Private Declarations
161 
162  private: //## implementation
163  // Additional Implementation Declarations
164  friend class HDUCreator;
165  };
166 
167  // Class CCfits::BinTable
168 
169 } // namespace CCfits
170 
171 
172 #endif
Class Representing Binary Table Extensions. Contains columns with scalar or vector row entries.
Definition: BinTable.h:131
~BinTable()
destructor.
Definition: BinTable.cxx:78
virtual void addColumn(ValueType type, const String &columnName, long repeatWidth, const String &colUnit=String(""), long decimals=0, size_t columnNumber=0)
add a new column to an existing table HDU.
Definition: BinTable.cxx:309
virtual void readData(bool readFlag=false, const std::vector< String > &keys=std::vector< String >())
read columns and keys specified in the input array.
Definition: BinTable.cxx:134
virtual BinTable * clone(FITS *p) const
virtual copy constructor
Definition: BinTable.cxx:127
int version() const
return the extension version number.
Definition: ExtHDU.h:677
Memory object representation of a disk FITS file.
Definition: FITS.h:629
Definition: Table.h:283
virtual long rows() const
return the number of rows in the table (NAXIS2).
Definition: Table.h:381
Namespace enclosing all CCfits classes and globals definitions.
Definition: AsciiTable.cxx:26
ValueType
CCfits value types and their CFITSIO equivalents (in caps)
Definition: CCfits.h:81