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