FITSTimedTable.h

Classes

FITSTimedTable -- (full description)

class FITSTimedTable : public FITSTabular

Interface

Public Members
FITSTimedTable()
FITSTimedTable(FITSTabular *originalTable, uInt whichColumnIsTime=0)
~FITSTimedTable()
virtual Bool isValid() const
virtual const TableRecord &keywords() const
virtual const RecordDesc &description() const
virtual const Record &units() const
virtual const Record &displayFormats() const
virtual const Record &nulls() const
virtual Bool hasChanged() const
virtual void resetChangedFlag()
virtual const String &name() const
virtual Bool pastEnd() const
virtual Bool pastEnd()
virtual void next()
virtual void setTime(Double time)
virtual const Record &currentRow() const
virtual Record &currentRow()
Double currentTime() const
Bool ok() const
Double nextTime()
Private Members
void initNowRecord(const RecordDesc& desc)
void initNextRecord(const RecordDesc& desc)

Description

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

Synopsis

FITSTimedTable is used to look at FITS tables which have a time column. In particular, it peeks ahead, and knows the time of the currentRow and of the nextRow.

It is constructed with a pointer to any FITSTabular. Presently, no memory management is imposed to ensure that the pointer remains valid.

Example

Motivation

To Do

Member Description

FITSTimedTable()

This is not connected to any data, isValid always returns True, keywords and description return the default versions hasChanged returns False, name returns an empty string pastEnd returns False and next does nothing. setTime does nothing, currentRow returns an empty record and currentTime returns 0.0 and ok returns True and nextTime returns 0.0

FITSTimedTable(FITSTabular *originalTable, uInt whichColumnIsTime=0)

Note, originalTable cannot be destructed, reopened, ...,during the lifetime of this object.

~FITSTimedTable()

virtual Bool isValid() const

virtual const TableRecord &keywords() const

virtual const RecordDesc &description() const

virtual const Record &units() const

virtual const Record &displayFormats() const

virtual const Record &nulls() const

virtual Bool hasChanged() const

virtual void resetChangedFlag()

virtual const String &name() const

virtual Bool pastEnd() const

virtual Bool pastEnd()

virtual void next()

virtual void setTime(Double time)

interpolate to the desired time which must be >= the currentTime() This uses a linear interpolation between adjacent floating point values. Non-floating point values are NOT interpolated but have the value of the most recent actual row. On the last row of the table, not interpolation is done.

virtual const Record &currentRow() const

virtual Record &currentRow()

Double currentTime() const

What is the time of the current row?

Bool ok() const

this is True if the last setTime() finished as expected It is False only if the requested time is before the current time and the timed table as just been opened

Double nextTime()

What will the time of the next row be? Returns a very large number if it is past the end of the table.

void initNowRecord(const RecordDesc& desc)

void initNextRecord(const RecordDesc& desc)