10 #define HDUCREATOR_H 1 
   23 #include "FitsError.h" 
   47         HDU * getHdu (
const String& hduName, 
bool readDataFlag = 
false, 
const std::vector<String> &keys = std::vector<String>(), 
bool primary = 
false, 
int version = 1);
 
   48         PHDU * createImage (
int bitpix, 
long naxis, 
const std::vector<long>& naxes);
 
   50         HDU * Make (
const String& hduName, 
bool readDataFlag, 
const std::vector<String> &keys, 
bool primary, 
int version);
 
   51         HDU* createTable (
const String &name, HduType xtype, 
int rows, 
const std::vector<String>& colName, 
const std::vector<String> colFmt, 
const std::vector<String> colUnit, 
int version);
 
   56         HDU * getHdu (
int index = 0, 
bool readDataFlag = 
false, 
const std::vector<String> &keys = std::vector<String>());
 
   57         ExtHDU * createImage (
const String &name, 
int bitpix, 
long naxis, 
const std::vector<long>& naxes, 
int version);
 
   61         PHDU * MakeImage (
int bpix, 
int naxis, 
const std::vector<long>& naxes);
 
   70         HDU* MakeTable (
const String &name, HduType xtype, 
int rows, 
const std::vector<String>& colName, 
const std::vector<String>& colFmt, 
const std::vector<String>& colUnit, 
int version);
 
   71         HDU * Make (
int index, 
bool readDataFlag, 
const std::vector<String> &keys);
 
   72         ExtHDU * MakeImage (
const String &name, 
int bpix, 
long naxis, 
const std::vector<long>& naxes, 
int version);
 
   73         void getScaling (
long& type, 
double& zero, 
double& scale) 
const;
 
   74         void parent (FITS* value);
 
   77         HDU* commonMake(
const String& hduName, 
bool readDataFlag, 
const std::vector<String> &keys, 
bool primary, 
int version);
 
   94   inline HDU * HDUCreator::getHdu (
const String& hduName, 
bool readDataFlag, 
const std::vector<String> &keys, 
bool primary, 
int version)
 
   97   if ( m_hdu == 0 ) m_hdu = Make(hduName,readDataFlag,keys,primary,version);
 
  101   inline void HDUCreator::reset ()
 
  106   inline HDU* HDUCreator::createTable (
const String &name, HduType xtype, 
int rows, 
const std::vector<String>& colName, 
const std::vector<String> colFmt, 
const std::vector<String> colUnit, 
int version)
 
  109         if (m_hdu == 0) m_hdu = MakeTable(name,xtype,rows,colName,colFmt,colUnit,version);
 
  113   inline HDU * HDUCreator::getHdu (
int index, 
bool readDataFlag, 
const std::vector<String> &keys)
 
  116   if ( m_hdu == 0 ) m_hdu = Make(index,readDataFlag,keys);
 
  120   inline void HDUCreator::parent (FITS* value)