GBTMultiACSTable.h

Classes

GBTMultiACSTable -- A GBTMultiBackendTable for the ACS (full description)

class GBTMultiACSTable : public GBTBackendTable

Interface

Public Members
GBTMultiACSTable(const Vector<String> &fileNames, GBTACSTable::VanVleckCorr vanVleckCorr=GBTACSTable::DefaultVanVleck, GBTACSTable::Smoothing smoothing = GBTACSTable::DefaultSmoothing, Int vvsize=65, Bool useDCBias = False, Double dcbias=0.0, Int minbiasfactor=-1, Bool fixlags = False, String fixlagslog="", Double sigmaFactor=6.0, Int spikeStart=200)
~GBTMultiACSTable()
virtual Bool reopen(const Vector<String> &fileNames, Bool resync=True)
virtual Bool reopen(const String &fileName, Bool resync)
virtual Bool reopen(const String &fileName)
GBTScanLogReader::BACKENDS type() const
virtual const String &name() const
virtual const Vector<String> &names() const
virtual Bool isValid() const
virtual uInt nstate() const
virtual uInt nchan(uInt whichSampler) const
virtual Double bw(uInt whichSampler) const
virtual Double centerIF(uInt whichSampler) const
virtual Bool increases(uInt whichSampler) const
virtual const TableRecord &keywords() const
virtual void next()
virtual const Record &currentRow() const
virtual const Record &unhandledKeywords()
virtual void handleKeyword(const String &kwname)
virtual const RecordDesc &description() const
virtual const Record &units() const
virtual const Record &displayFormats() const
virtual const Record &nulls() const
virtual const Record &unhandledFields()
virtual void handleField(const String &fieldname)
virtual const Table &sampler() const
virtual const GBTStateTable &state() const
virtual const Table &actState() const
virtual const Table &port() const
virtual uInt nrow() const
virtual uInt rownr() const
virtual const String &fitsVers() const
virtual Int baseVersion() const
virtual Int deviceVersion() const
virtual const Array<Float> rawdata(uInt whichSampler)
virtual const Array<Float> data(uInt whichSampler)
virtual const Array<Float> zeroChannel(uInt whichSampler)
virtual const Array<Bool> badData(uInt whichSampler)
virtual Bool switchOK() const
virtual Int nlevels(uInt whichSampler) const
virtual Float integrat(uInt whichSampler, uInt whichState) const
virtual Double dmjd()
virtual Double timeMid()
virtual String banks()
Private Members
Bool init(Bool resync=False)
GBTACSTable &defBank() const
GBTMultiACSTable()
GBTMultiACSTable(const GBTMultiACSTable &)
GBTMultiACSTable &operator=(const GBTMultiACSTable &)

Description

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

Synopsis

GBTMultiACStTable is a GBTACSTable holding data from multiple banks. It makes it look as if it all came from the same data source. In order for this to work. The ACT_STATE and STATE tables must be the same in all banks and the integration time in each bank must be the same.

Example

Motivation

Member Description

GBTMultiACSTable(const Vector<String> &fileNames, GBTACSTable::VanVleckCorr vanVleckCorr=GBTACSTable::DefaultVanVleck, GBTACSTable::Smoothing smoothing = GBTACSTable::DefaultSmoothing, Int vvsize=65, Bool useDCBias = False, Double dcbias=0.0, Int minbiasfactor=-1, Bool fixlags = False, String fixlagslog="", Double sigmaFactor=6.0, Int spikeStart=200)

Construct it from a vector of file names

~GBTMultiACSTable()

virtual Bool reopen(const Vector<String> &fileNames, Bool resync=True)

Attach this GBTMultiACSTable to a new set of file names. If fileNames are the same as the currently opened filse, if there are any, then this just closes and reopens the FITS files, setting things right back to the next row in each table, if there are any.

virtual Bool reopen(const String &fileName, Bool resync)

reopen if there's just one file

virtual Bool reopen(const String &fileName)

This is necessary to avoid hiding the FITSTabular version

GBTScanLogReader::BACKENDS type() const

Return the type of this backend

virtual const String &name() const

Returns the name of the file serving up the default bank

virtual const Vector<String> &names() const

virtual Bool isValid() const

Is everything okay.

virtual uInt nstate() const

The number of elements along the STATE axis

virtual uInt nchan(uInt whichSampler) const

The number of elements along the frequency axis (default to 1 for non-spectral line data) for a specific sampler.

virtual Double bw(uInt whichSampler) const

The bandwidth of the indicated sampler. If this is < 0 then that signals that it is not known here and it should be fetched from the IF BANDWDTH column.

virtual Double centerIF(uInt whichSampler) const

The center IF for the indicated sampler. If this is < 0 then that signals that it is not known here and it should be fetched from the IF CENTER_IF column.

virtual Bool increases(uInt whichSampler) const

Indicates whether frequency increases with channel number for the given sampler.

virtual const TableRecord &keywords() const

The keywords from the FITS data tables merged into a single record.

virtual void next()

advance to the next row in all tables

virtual const Record &currentRow() const

return the current row in the default underlying table It is here because of inheritance but it should not be used.

virtual const Record &unhandledKeywords()

The unhandled keywords

virtual void handleKeyword(const String &kwname)

Mark a keyword as handled;

virtual const RecordDesc &description() const

virtual const Record &units() const

virtual const Record &displayFormats() const

virtual const Record &nulls() const

virtual const Record &unhandledFields()

Return the unhandled fields in the current row of the current table

virtual void handleField(const String &fieldname)

Mark a field in the current row of all tables as being handled.

virtual const Table &sampler() const
virtual const GBTStateTable &state() const
virtual const Table &actState() const
virtual const Table &port() const

The ancilliary tables

virtual uInt nrow() const

Total number of rows in each bank (should be the same)

virtual uInt rownr() const

This specific row (relative to total from all banks)

virtual const String &fitsVers() const

FITSVER - should be the same for all banks

virtual Int baseVersion() const

Leading integer (before decimal) of FITSVER

virtual Int deviceVersion() const

Trailing integer(after decimal) of FITSVER

virtual const Array<Float> rawdata(uInt whichSampler)

get the raw data at the current row.

virtual const Array<Float> data(uInt whichSampler)

get the data for the current row, applying the indicated vanVleck correction and smoothing for the Schwab correction, use the indicated table size. If useDCBias is True, an attempt is made to use the DCBias (average of the autocorrelations over the last 5% of the lags) in the van vleck correction if the Schwab correction is specified.

virtual const Array<Float> zeroChannel(uInt whichSampler)

get the zero channel for the current row, vanVleck correction is applied. It is only done once for each row, independent of whether data or zeroChannel are called first.

virtual const Array<Bool> badData(uInt whichSampler)

is the data in the current row bad. It is only done once for each row, independent of whether data, zeroChannel, or badData are called first.

virtual Bool switchOK() const

Do the switching signals in ACT_STATE follow the documentation? Prior to FITSVER 1.2 they had the opposite sense.

virtual Int nlevels(uInt whichSampler) const

return the number of sampler levels for the indicate sampler

virtual Float integrat(uInt whichSampler, uInt whichState) const

The value of the INTEGRAT field in the current row for the given sampler and state

virtual Double dmjd()

The DMJD value from the current row

virtual Double timeMid()

The value of the TIME-MID field in the current row

virtual String banks()

A string comprising the banks to be filled

Bool init(Bool resync=False)

GBTACSTable &defBank() const

GBTMultiACSTable()

Undefined and inaccessible.

GBTMultiACSTable(const GBTMultiACSTable &)

GBTMultiACSTable &operator=(const GBTMultiACSTable &)