00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef BINTABLE_H
00011 #define BINTABLE_H 1
00012
00013
00014 #include "HDUCreator.h"
00015
00016 #include "Table.h"
00017
00018
00019 #ifdef _MSC_VER
00020 #include "MSconfig.h"
00021 #endif
00022
00023
00024 namespace CCfits {
00025
00131 class BinTable : public Table
00132 {
00133
00134 public:
00135 virtual BinTable * clone (FITSBase* p) const;
00136 virtual void readData (bool readFlag = false, const std::vector<String>& keys = std::vector<String>());
00137 virtual void addColumn (ValueType type, const String& columnName, long repeatWidth, const String& colUnit = String(""), long decimals = 0, size_t columnNumber = 0);
00138
00139
00140
00141 protected:
00142 BinTable (FITSBase* p, const String &hduName = String(""), bool readFlag = false, const std::vector<String>& keys = std::vector<String>(), int version = 1);
00143 BinTable (FITSBase* 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);
00144
00145
00146
00147 BinTable (FITSBase* p, int number);
00148 ~BinTable();
00149
00150
00151
00152 private:
00153 BinTable(const BinTable &right);
00154
00155 virtual void readTableHeader (int ncols, std::vector<String>& colName, std::vector<String>& colFmt, std::vector<String>& colUnit);
00156 void readVariableColumns (const std::vector<String> &varColumns);
00157
00158
00159
00160 private:
00161
00162 friend class HDUCreator;
00163 };
00164
00165
00166
00167 }
00168
00169
00170 #endif