CCfits  2.4
BinTable.h
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