CCfits
2.5
|
00001 // Astrophysics Science Division, 00002 // NASA/ Goddard Space Flight Center 00003 // HEASARC 00004 // http://heasarc.gsfc.nasa.gov 00005 // e-mail: ccfits@legacy.gsfc.nasa.gov 00006 // 00007 // Original author: Ben Dorman 00008 00009 #ifndef BINTABLE_H 00010 #define BINTABLE_H 1 00011 00012 // HDUCreator 00013 #include "HDUCreator.h" 00014 // Table 00015 #include "Table.h" 00016 00017 // needed for CLONE_DEFECT 00018 #ifdef _MSC_VER 00019 #include "MSconfig.h" 00020 #endif 00021 00022 00023 namespace CCfits { 00024 00130 class BinTable : public Table //## Inherits: <unnamed>%3804A7E75F10 00131 { 00132 00133 public: 00134 virtual BinTable * clone (FITSBase* p) const; 00135 virtual void readData (bool readFlag = false, const std::vector<String>& keys = std::vector<String>()); 00136 virtual void addColumn (ValueType type, const String& columnName, long repeatWidth, const String& colUnit = String(""), long decimals = 0, size_t columnNumber = 0); 00137 00138 // Additional Public Declarations 00139 00140 protected: 00141 BinTable (FITSBase* p, const String &hduName = String(""), bool readFlag = false, const std::vector<String>& keys = std::vector<String>(), int version = 1); 00142 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); 00143 // ExtHDU constructor for getting ExtHDUs by number. 00144 // Necessary since EXTNAME is a reserved not required 00145 // keyword. 00146 BinTable (FITSBase* p, int number); 00147 ~BinTable(); 00148 00149 // Additional Protected Declarations 00150 00151 private: 00152 BinTable(const BinTable &right); 00153 00154 virtual void readTableHeader (int ncols, std::vector<String>& colName, std::vector<String>& colFmt, std::vector<String>& colUnit); 00155 void readVariableColumns (const std::vector<String> &varColumns); 00156 00157 // Additional Private Declarations 00158 00159 private: //## implementation 00160 // Additional Implementation Declarations 00161 friend class HDUCreator; 00162 }; 00163 00164 // Class CCfits::BinTable 00165 00166 } // namespace CCfits 00167 00168 00169 #endif