casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Member Functions | Private Attributes
GBTMultiACSTable Class Reference

A GBTMultiBackendTable for the ACS. More...

#include <GBTMultiACSTable.h>

Inheritance diagram for GBTMultiACSTable:
GBTBackendTable

List of all members.

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 Stringname () 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 GBTStateTablestate () 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 StringfitsVers () 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)
GBTACSTabledefBank () const
 GBTMultiACSTable ()
 Undefined and inaccessible.
 GBTMultiACSTable (const GBTMultiACSTable &)
GBTMultiACSTableoperator= (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< StringitsFiles
Table itsSampler
Table itsPort
TableRow itsSamplerRow
TableRow itsPortRow
Block< GBTACSTable * > itsBanks
Block< uInt > itsSampler0
uInt itsNbanks
String itsBankNames
SimpleOrderedMap< uInt, uInt > itsBankMap
String itsFixLagsLog

Detailed Description

A GBTMultiBackendTable for the ACS.

Intended use:

Public interface

Review Status

Date Reviewed:
yyyy/mm/dd

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

Definition at line 85 of file GBTMultiACSTable.h.


Constructor & Destructor Documentation

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.

Undefined and inaccessible.


Member Function Documentation

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]
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().

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.


Member Data Documentation

SimpleOrderedMap<uInt, uInt> GBTMultiACSTable::itsBankMap [private]

Definition at line 258 of file GBTMultiACSTable.h.

Definition at line 255 of file GBTMultiACSTable.h.

Referenced by banks().

Definition at line 248 of file GBTMultiACSTable.h.

Referenced by defBank().

Double GBTMultiACSTable::itsDCBias [private]

Definition at line 240 of file GBTMultiACSTable.h.

Definition at line 242 of file GBTMultiACSTable.h.

Referenced by names().

Definition at line 239 of file GBTMultiACSTable.h.

Definition at line 260 of file GBTMultiACSTable.h.

Definition at line 238 of file GBTMultiACSTable.h.

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.

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.

Definition at line 240 of file GBTMultiACSTable.h.

Definition at line 237 of file GBTMultiACSTable.h.

Definition at line 238 of file GBTMultiACSTable.h.

Definition at line 239 of file GBTMultiACSTable.h.

Definition at line 234 of file GBTMultiACSTable.h.

Referenced by isValid().

Definition at line 236 of file GBTMultiACSTable.h.

Definition at line 238 of file GBTMultiACSTable.h.


The documentation for this class was generated from the following file: