58 const std::string& extname,
65 for (
int extno = 0; extno < fits.
size(); ++extno) {
78 if (ext->
extname() == extname) {
80 if (ext->
integer(
"EXTVER") == extver) {
94 else if (ext->
extname() ==
"GROUPING") {
99 if (ext->
string(
"GRPNAME") == extname) {
109 for (
int i = 0; i < ext->
nrows(); ++i) {
110 if (((*ext)[
"MEMBER_NAME"]->
string(i) == extname) &&
111 ((*ext)[
"MEMBER_VERSION"]->integer(i) == extver)) {
112 std::string filename = (*ext)[
"MEMBER_LOCATION"]->
string(i);
113 if (!filename.empty()) {
115 GFits fits_next(filepath+filename);
116 hdu =
spi_hdu(fits_next, extname, extver);
127 for (
int i = 0; i < ext->
nrows(); ++i) {
128 if ((*ext)[
"MEMBER_NAME"]->string(i) ==
"GROUPING") {
129 std::string filename = (*ext)[
"MEMBER_LOCATION"]->string(i);
130 if (!filename.empty()) {
132 GFits fits_next(filepath+filename);
133 hdu =
spi_hdu(fits_next, extname, extver);
172 for (
int extno = 0; extno < fits.
size(); ++extno) {
179 if (ext->
extname() == extname) {
185 else if (ext->
extname() ==
"GROUPING") {
194 for (
int i = 0; i < table->
nrows(); ++i) {
195 if ((*table)[
"MEMBER_NAME"]->string(i) == extname) {
198 else if ((*table)[
"MEMBER_NAME"]->string(i) ==
"GROUPING") {
199 std::string filename = (*table)[
"MEMBER_LOCATION"]->
string(i);
200 if (!filename.empty()) {
202 GFits fits_next(filepath+filename);
228 double mjd = ijd + 51544.0;
GTimes spi_gedfail_times(void)
Return times of detector failures.
bool has_card(const int &cardno) const
Check existence of header card.
Abstract FITS extension base class.
const GFilename & filename(void) const
Return FITS filename.
int spi_num_hdus(const GFits &fits, const std::string &extname)
Return number of HDU versions.
FITS file class interface definition.
GTimes spi_annealing_start_times(void)
Return start time of annealing operations.
GTime spi_ijd2time(const double &ijd)
Convert IJD to GTime.
std::string path(void) const
Return access path.
const GFitsTable * spi_hdu(const GFits &fits, const std::string &extname, const int &extver=1)
Return FITS table.
Abstract interface for FITS table.
int integer(const std::string &keyname) const
Return card value as integer.
const std::string & extname(void) const
Return extension name.
const int & nrows(void) const
Return number of rows in table.
int size(void) const
Return number of HDUs in FITS file.
std::string string(const std::string &keyname) const
Return card value as string.
virtual GFitsTable * clone(void) const =0
Clones object.
double mjd(void) const
Return time in Modified Julian Days (TT)
std::string filepath(const std::string &pathname, const std::string &filename)
Build file path from path name and file name.
void append(const GTime &time)
Append time to container.
FITS table abstract base class interface definition.