casa
$Rev:20696$
|
A GBTMultiBackendTable for the ACS. More...
#include <GBTMultiACSTable.h>
Public Member Functions | |
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. | |
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. | |
virtual Double | centerIF (uInt whichSampler) const |
The center IF for the indicated sampler. | |
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 |
The ancilliary tables. | |
virtual const GBTStateTable & | state () const |
virtual const Table & | actState () const |
virtual const Table & | port () const |
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. | |
virtual const Array< Float > | zeroChannel (uInt whichSampler) |
get the zero channel for the current row, vanVleck correction is applied. | |
virtual const Array< Bool > | badData (uInt whichSampler) |
is the data in the current row bad. | |
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. | |
Private Member Functions | |
Bool | init (Bool resync=False) |
GBTACSTable & | defBank () const |
GBTMultiACSTable () | |
Undefined and inaccessible. | |
GBTMultiACSTable (const GBTMultiACSTable &) | |
GBTMultiACSTable & | operator= (const GBTMultiACSTable &) |
Private Attributes | |
Bool | itsValid |
GBTACSTable::VanVleckCorr | itsVVCorr |
GBTACSTable::Smoothing | itsSmoothing |
Int | itsVVSize |
Int | itsMinbiasfactor |
Int | itsSpikeStart |
Bool | itsUseDCBias |
Bool | itsFixlags |
Double | itsDCBias |
Double | itsSigmaFactor |
Vector< String > | itsFiles |
Table | itsSampler |
Table | itsPort |
TableRow | itsSamplerRow |
TableRow | itsPortRow |
Block< GBTACSTable * > | itsBanks |
Block< uInt > | itsSampler0 |
uInt | itsNbanks |
String | itsBankNames |
SimpleOrderedMap< uInt, uInt > | itsBankMap |
String | itsFixLagsLog |
A GBTMultiBackendTable for the ACS.
Public interface
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.
Definition at line 85 of file GBTMultiACSTable.h.
GBTMultiACSTable::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::GBTMultiACSTable | ( | ) | [private] |
Undefined and inaccessible.
GBTMultiACSTable::GBTMultiACSTable | ( | const GBTMultiACSTable & | ) | [private] |
virtual const Table& GBTMultiACSTable::actState | ( | ) | const [inline, virtual] |
Reimplemented from GBTBackendTable.
Definition at line 175 of file GBTMultiACSTable.h.
References GBTBackendTable::actState(), and defBank().
virtual const Array<Bool> GBTMultiACSTable::badData | ( | uInt | whichSampler | ) | [virtual] |
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 String GBTMultiACSTable::banks | ( | ) | [inline, virtual] |
A string comprising the banks to be filled.
Definition at line 232 of file GBTMultiACSTable.h.
References itsBankNames.
virtual Int GBTMultiACSTable::baseVersion | ( | ) | const [inline, virtual] |
Leading integer (before decimal) of FITSVER.
Reimplemented from GBTBackendTable.
Definition at line 189 of file GBTMultiACSTable.h.
References GBTBackendTable::baseVersion(), and defBank().
virtual Double GBTMultiACSTable::bw | ( | uInt | whichSampler | ) | const [virtual] |
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.
Reimplemented from GBTBackendTable.
virtual Double GBTMultiACSTable::centerIF | ( | uInt | whichSampler | ) | const [virtual] |
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.
Reimplemented from GBTBackendTable.
virtual const Record& GBTMultiACSTable::currentRow | ( | ) | const [inline, virtual] |
return the current row in the default underlying table It is here because of inheritance but it should not be used.
Reimplemented from GBTBackendTable.
Definition at line 152 of file GBTMultiACSTable.h.
References GBTBackendTable::currentRow(), and defBank().
virtual const Array<Float> GBTMultiACSTable::data | ( | uInt | whichSampler | ) | [virtual] |
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.
GBTACSTable& GBTMultiACSTable::defBank | ( | ) | const [inline, private] |
Definition at line 264 of file GBTMultiACSTable.h.
References itsBanks.
Referenced by actState(), baseVersion(), currentRow(), description(), deviceVersion(), displayFormats(), dmjd(), fitsVers(), handleField(), handleKeyword(), keywords(), name(), nrow(), nstate(), nulls(), rownr(), state(), switchOK(), timeMid(), unhandledFields(), unhandledKeywords(), and units().
virtual const RecordDesc& GBTMultiACSTable::description | ( | ) | const [inline, virtual] |
Reimplemented from GBTBackendTable.
Definition at line 160 of file GBTMultiACSTable.h.
References defBank(), and GBTBackendTable::description().
virtual Int GBTMultiACSTable::deviceVersion | ( | ) | const [inline, virtual] |
Trailing integer(after decimal) of FITSVER.
Reimplemented from GBTBackendTable.
Definition at line 192 of file GBTMultiACSTable.h.
References defBank(), and GBTBackendTable::deviceVersion().
virtual const Record& GBTMultiACSTable::displayFormats | ( | ) | const [inline, virtual] |
Reimplemented from GBTBackendTable.
Definition at line 162 of file GBTMultiACSTable.h.
References defBank(), and GBTBackendTable::displayFormats().
virtual Double GBTMultiACSTable::dmjd | ( | ) | [inline, virtual] |
The DMJD value from the current row.
Definition at line 226 of file GBTMultiACSTable.h.
References defBank(), and GBTACSTable::dmjd().
virtual const String& GBTMultiACSTable::fitsVers | ( | ) | const [inline, virtual] |
FITSVER - should be the same for all banks.
Reimplemented from GBTBackendTable.
Definition at line 186 of file GBTMultiACSTable.h.
References defBank(), and GBTBackendTable::fitsVers().
virtual void GBTMultiACSTable::handleField | ( | const String & | fieldname | ) | [inline, virtual] |
Mark a field in the current row of all tables as being handled.
Reimplemented from GBTBackendTable.
Definition at line 169 of file GBTMultiACSTable.h.
References defBank(), and GBTBackendTable::handleField().
virtual void GBTMultiACSTable::handleKeyword | ( | const String & | kwname | ) | [inline, virtual] |
Mark a keyword as handled;.
Reimplemented from GBTBackendTable.
Definition at line 158 of file GBTMultiACSTable.h.
References defBank(), and GBTBackendTable::handleKeyword().
virtual Bool GBTMultiACSTable::increases | ( | uInt | whichSampler | ) | const [virtual] |
Indicates whether frequency increases with channel number for the given sampler.
Reimplemented from GBTBackendTable.
Bool GBTMultiACSTable::init | ( | Bool | resync = False | ) | [private] |
virtual Float GBTMultiACSTable::integrat | ( | uInt | whichSampler, |
uInt | whichState | ||
) | const [virtual] |
The value of the INTEGRAT field in the current row for the given sampler and state.
virtual Bool GBTMultiACSTable::isValid | ( | ) | const [inline, virtual] |
Is everything okay.
Reimplemented from GBTBackendTable.
Definition at line 121 of file GBTMultiACSTable.h.
References itsValid.
virtual const TableRecord& GBTMultiACSTable::keywords | ( | ) | const [inline, virtual] |
The keywords from the FITS data tables merged into a single record.
Reimplemented from GBTBackendTable.
Definition at line 145 of file GBTMultiACSTable.h.
References defBank(), and GBTBackendTable::keywords().
virtual const String& GBTMultiACSTable::name | ( | ) | const [inline, virtual] |
Returns the name of the file serving up the default bank.
Reimplemented from GBTBackendTable.
Definition at line 116 of file GBTMultiACSTable.h.
References defBank(), and GBTBackendTable::name().
virtual const Vector<String>& GBTMultiACSTable::names | ( | ) | const [inline, virtual] |
Definition at line 118 of file GBTMultiACSTable.h.
References itsFiles.
virtual uInt GBTMultiACSTable::nchan | ( | uInt | whichSampler | ) | const [virtual] |
The number of elements along the frequency axis (default to 1 for non-spectral line data) for a specific sampler.
Reimplemented from GBTBackendTable.
virtual void GBTMultiACSTable::next | ( | ) | [virtual] |
advance to the next row in all tables
Reimplemented from GBTBackendTable.
virtual Int GBTMultiACSTable::nlevels | ( | uInt | whichSampler | ) | const [virtual] |
return the number of sampler levels for the indicate sampler
virtual uInt GBTMultiACSTable::nrow | ( | ) | const [inline, virtual] |
Total number of rows in each bank (should be the same)
Reimplemented from GBTBackendTable.
Definition at line 180 of file GBTMultiACSTable.h.
References defBank(), and GBTBackendTable::nrow().
virtual uInt GBTMultiACSTable::nstate | ( | ) | const [inline, virtual] |
The number of elements along the STATE axis.
Reimplemented from GBTBackendTable.
Definition at line 124 of file GBTMultiACSTable.h.
References defBank(), and GBTBackendTable::nstate().
virtual const Record& GBTMultiACSTable::nulls | ( | ) | const [inline, virtual] |
Reimplemented from GBTBackendTable.
Definition at line 163 of file GBTMultiACSTable.h.
References defBank(), and GBTBackendTable::nulls().
GBTMultiACSTable& GBTMultiACSTable::operator= | ( | const GBTMultiACSTable & | ) | [private] |
virtual const Table& GBTMultiACSTable::port | ( | ) | const [inline, virtual] |
Reimplemented from GBTBackendTable.
Definition at line 176 of file GBTMultiACSTable.h.
References itsPort.
virtual const Array<Float> GBTMultiACSTable::rawdata | ( | uInt | whichSampler | ) | [virtual] |
get the raw data at the current row.
virtual Bool GBTMultiACSTable::reopen | ( | const Vector< String > & | fileNames, |
Bool | resync = True |
||
) | [virtual] |
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 GBTMultiACSTable::reopen | ( | const String & | fileName, |
Bool | resync | ||
) | [inline, virtual] |
reopen if there's just one file
Reimplemented from GBTBackendTable.
Definition at line 106 of file GBTMultiACSTable.h.
References reopen().
Referenced by reopen().
virtual Bool GBTMultiACSTable::reopen | ( | const String & | fileName | ) | [inline, virtual] |
This is necessary to avoid hiding the FITSTabular version.
Reimplemented from GBTBackendTable.
Definition at line 110 of file GBTMultiACSTable.h.
References reopen(), and casa::True.
Referenced by reopen().
virtual uInt GBTMultiACSTable::rownr | ( | ) | const [inline, virtual] |
This specific row (relative to total from all banks)
Reimplemented from GBTBackendTable.
Definition at line 183 of file GBTMultiACSTable.h.
References defBank(), and GBTBackendTable::rownr().
virtual const Table& GBTMultiACSTable::sampler | ( | ) | const [inline, virtual] |
The ancilliary tables.
Reimplemented from GBTBackendTable.
Definition at line 173 of file GBTMultiACSTable.h.
References itsSampler.
virtual const GBTStateTable& GBTMultiACSTable::state | ( | ) | const [inline, virtual] |
Reimplemented from GBTBackendTable.
Definition at line 174 of file GBTMultiACSTable.h.
References defBank(), and GBTBackendTable::state().
virtual Bool GBTMultiACSTable::switchOK | ( | ) | const [inline, virtual] |
Do the switching signals in ACT_STATE follow the documentation? Prior to FITSVER 1.2 they had the opposite sense.
Definition at line 216 of file GBTMultiACSTable.h.
References defBank(), and GBTACSTable::switchOK().
virtual Double GBTMultiACSTable::timeMid | ( | ) | [inline, virtual] |
The value of the TIME-MID field in the current row.
Definition at line 229 of file GBTMultiACSTable.h.
References defBank(), and GBTACSTable::timeMid().
GBTScanLogReader::BACKENDS GBTMultiACSTable::type | ( | ) | const [inline] |
Return the type of this backend.
Reimplemented from GBTBackendTable.
Definition at line 113 of file GBTMultiACSTable.h.
References GBTScanLogReader::ACS.
virtual const Record& GBTMultiACSTable::unhandledFields | ( | ) | [inline, virtual] |
Return the unhandled fields in the current row of the current table.
Reimplemented from GBTBackendTable.
Definition at line 166 of file GBTMultiACSTable.h.
References defBank(), and GBTBackendTable::unhandledFields().
virtual const Record& GBTMultiACSTable::unhandledKeywords | ( | ) | [inline, virtual] |
The unhandled keywords.
Reimplemented from GBTBackendTable.
Definition at line 155 of file GBTMultiACSTable.h.
References defBank(), and GBTBackendTable::unhandledKeywords().
virtual const Record& GBTMultiACSTable::units | ( | ) | const [inline, virtual] |
Reimplemented from GBTBackendTable.
Definition at line 161 of file GBTMultiACSTable.h.
References defBank(), and GBTBackendTable::units().
virtual const Array<Float> GBTMultiACSTable::zeroChannel | ( | uInt | whichSampler | ) | [virtual] |
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.
SimpleOrderedMap<uInt, uInt> GBTMultiACSTable::itsBankMap [private] |
Definition at line 258 of file GBTMultiACSTable.h.
String GBTMultiACSTable::itsBankNames [private] |
Definition at line 255 of file GBTMultiACSTable.h.
Referenced by banks().
Block<GBTACSTable *> GBTMultiACSTable::itsBanks [private] |
Definition at line 248 of file GBTMultiACSTable.h.
Referenced by defBank().
Double GBTMultiACSTable::itsDCBias [private] |
Definition at line 240 of file GBTMultiACSTable.h.
Vector<String> GBTMultiACSTable::itsFiles [private] |
Definition at line 242 of file GBTMultiACSTable.h.
Referenced by names().
Bool GBTMultiACSTable::itsFixlags [private] |
Definition at line 239 of file GBTMultiACSTable.h.
String GBTMultiACSTable::itsFixLagsLog [private] |
Definition at line 260 of file GBTMultiACSTable.h.
Int GBTMultiACSTable::itsMinbiasfactor [private] |
Definition at line 238 of file GBTMultiACSTable.h.
uInt GBTMultiACSTable::itsNbanks [private] |
Definition at line 253 of file GBTMultiACSTable.h.
Table GBTMultiACSTable::itsPort [private] |
Definition at line 244 of file GBTMultiACSTable.h.
Referenced by port().
TableRow GBTMultiACSTable::itsPortRow [private] |
Definition at line 245 of file GBTMultiACSTable.h.
Table GBTMultiACSTable::itsSampler [private] |
Definition at line 244 of file GBTMultiACSTable.h.
Referenced by sampler().
Block<uInt> GBTMultiACSTable::itsSampler0 [private] |
Definition at line 251 of file GBTMultiACSTable.h.
TableRow GBTMultiACSTable::itsSamplerRow [private] |
Definition at line 245 of file GBTMultiACSTable.h.
Double GBTMultiACSTable::itsSigmaFactor [private] |
Definition at line 240 of file GBTMultiACSTable.h.
Definition at line 237 of file GBTMultiACSTable.h.
Int GBTMultiACSTable::itsSpikeStart [private] |
Definition at line 238 of file GBTMultiACSTable.h.
Bool GBTMultiACSTable::itsUseDCBias [private] |
Definition at line 239 of file GBTMultiACSTable.h.
Bool GBTMultiACSTable::itsValid [private] |
Definition at line 234 of file GBTMultiACSTable.h.
Referenced by isValid().
Definition at line 236 of file GBTMultiACSTable.h.
Int GBTMultiACSTable::itsVVSize [private] |
Definition at line 238 of file GBTMultiACSTable.h.