CCfits
2.7
|
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 00135 virtual BinTable * clone (FITS* 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 // Additional Public Declarations 00140 00141 protected: 00142 00143 BinTable(const BinTable &right); 00144 BinTable (FITS* p, const String &hduName = String(""), bool readFlag = false, const std::vector<String>& keys = std::vector<String>(), int version = 1); 00145 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); 00146 // ctor for creating a grouping table 00147 BinTable (FITS* p, int version = 1, const String & groupName = String("")); 00148 // ExtHDU constructor for getting ExtHDUs by number. 00149 // Necessary since EXTNAME is a reserved, not required, keyword. 00150 BinTable (FITS* p, int number); 00151 ~BinTable(); 00152 00153 // Additional Protected Declarations 00154 00155 private: 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 // Additional Private Declarations 00161 00162 private: //## implementation 00163 // Additional Implementation Declarations 00164 friend class HDUCreator; 00165 }; 00166 00167 // Class CCfits::BinTable 00168 00169 } // namespace CCfits 00170 00171 00172 #endif