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