CCfits 2.7
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
23namespace 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