21 #include "HDUCreator.h"
23 #include "FitsError.h"
34 # include <sys/stat.h>
678 NoSuchHDU (
const String& diag,
bool silent =
true);
702 CantOpen (
const String& diag,
bool silent =
true);
713 CantCreate (
const String& diag,
bool silent =
false);
720 FITS (
const String &
name, RWmode mode = Read,
bool readDataFlag =
false,
const std::vector<String>& primaryKeys = std::vector<String>());
724 FITS (
const String &name, RWmode mode,
const string &hduName,
bool readDataFlag =
false,
const std::vector<String>& hduKeys = std::vector<String>(),
const std::vector<String>& primaryKey = std::vector<String>(),
int version = 1);
728 FITS (
const String &name, RWmode mode,
const std::vector<String>& hduNames,
bool readDataFlag =
false,
const std::vector<String>& primaryKey = std::vector<String>());
731 FITS (
const String& fileName,
const FITS& source);
735 FITS (
const String &name, RWmode mode,
const std::vector<String>& hduNames,
const std::vector<std::vector<String> >& hduKeys,
bool readDataFlag =
false,
const std::vector<String>& primaryKeys = std::vector<String>(),
const std::vector<int>& hduVersions = std::vector<int>());
738 FITS (
const String& name,
int bitpix,
int naxis,
long *naxes);
742 FITS (
const string &name, RWmode mode,
int hduIndex,
bool readDataFlag =
false,
const std::vector<String>& hduKeys = std::vector<String>(),
const std::vector<String>& primaryKey = std::vector<String>());
749 FITS (
const String &name, RWmode mode,
const std::vector<String>& searchKeys,
const std::vector<String> &searchValues,
bool readDataFlag =
false,
const std::vector<String>& hduKeys = std::vector<String>(),
const std::vector<String>& primaryKey = std::vector<string>(),
int version = 1);
755 void read (
const String &hduName,
bool readDataFlag =
false,
const std::vector<String> &keys = std::vector<String>(),
int version = 1);
758 void read (
const std::vector<String> &hduNames,
bool readDataFlag =
false);
760 void read (
const std::vector<String> &hduNames,
const std::vector<std::vector<String> > &keys,
bool readDataFlag =
false,
const std::vector<int>& hduVersions = std::vector<int>());
762 void read (
int hduIndex,
764 bool readDataFlag =
false,
const std::vector<String> &keys = std::vector<String>());
771 void read (
const std::vector<String>& searchKeys,
const std::vector<String> &searchValues,
bool readDataFlag =
false,
const std::vector<String>& hduKeys = std::vector<String>(),
int version = 1);
775 const ExtHDU&
extension (
const String& hduName,
int version = 1)
const;
779 friend std::ostream& operator << (std::ostream& s,
const FITS& right);
782 const std::vector<String>& columnName = std::vector<String>(),
783 const std::vector<String>& columnFmt = std::vector<String>(),
784 const std::vector<String>& columnUnit = std::vector<String>(),
785 HduType type = BinaryTbl,
int version = 1);
787 ExtHDU*
addImage (
const String& hduName,
int bpix, std::vector<long>& naxes,
int version = 1);
796 const String& name () const;
798 Table&
filter (const String& expression,
ExtHDU& inputTable,
bool overwrite = true,
bool readData = false);
818 FITS & operator=(const
FITS &right);
820 void unmapExtension (
ExtHDU& doomed);
821 int nextVersionNumber (const String& inputName) const;
824 void read (
bool readDataFlag = false, const std::vector<String>& keys = std::vector<String>());
827 int open (RWmode mode = Read);
837 int close () throw ();
838 std::ostream & put (std::ostream &s) const;
839 ExtHDU& extbyVersion (const String& hduName,
int version) const;
841 void readExtensions (
bool readDataFlag = false);
843 void swap (
FITS& right);
844 ExtMap& extensionMap ();
845 String nameOfUnmapped (
int hduNum) const;
846 void cloneHeader (const
ExtHDU& source);
853 ExtHDU* checkAlreadyRead(const
int hduIdx,
854 const String& hduName =
string(""), const
int version=1) const throw();
860 static
bool s_verboseMode;
863 FITSBase* m_FITSImpl;
866 friend
void HDU::makeThisCurrent() const;
882 return extbyVersion(hduName,version);
885 inline std::ostream& operator << (std::ostream& s,
const FITS& right)
893 return s_verboseMode;
898 s_verboseMode = value;