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

#include <GBTIF.h>

List of all members.

Public Member Functions

 GBTIF (uInt nchan, uInt nstate)
 This is used where there is NO associated IF FITS file returns defaults.
 GBTIF (uInt nchan, uInt nstate, const String &bank, Int port, Double ifFreq, Double bw, Bool increases, const GBTIFFiller &iffiller, const GBTLO1File &lo1aFile, const GBTLO1File &lo1bFile, Bool continuum)
 Matches bank and port in the iffiller (which has already been constructed with the backend already selected) to get the IF information.
 GBTIF (const GBTIF &other)
 Copy constructor.
 ~GBTIF ()
GBTIFoperator= (const GBTIF &other)
 Assignment operator.
Bool operator== (const GBTIF &other) const
 Comparison operator.
void addIFRow (Int whichRow)
 This one adds another associated IF row.
const Vector< Int > & ifrows () const
 The vector of associated IF rows (rows from the IF fits file which all share this frequency axis).
uInt ncorr () const
 The number of associated GBTCorrelations.
void addCorr (const GBTCorrelation &corr)
 Add this correlation to this GBTIF.
GBTCorrelationgetCorr (Int whichCorr)
 Get a specific correlation.
const GBTCorrelationgetCorr (Int whichCorr) const
 Get a specific const correlation.
uInt nchan () const
 The values which define this IF.
uInt nstate () const
 The number of states.
Double refFreq () const
 The frequency at the refChan(), in Hz.
Double deltaFreq () const
 The channel spacing (may be negative) with positive increasing channel number, in Hz.
Double refChan () const
 The reference channel.
MFrequency::Types refFrame () const
 The reference frame.
Double tolerance () const
 The tolerance, in Hz.
const MVFrequency & restFreq () const
 The rest frequency from the appropriate LO1 file.
MDoppler::Types dopType () const
 The doppler type from the LO1 file.
Double vsource () const
 The source velocity from the LO1 file.
const Vector< Double > & offsets () const
 Offsets in refFreq for each state from the LO1 table.
Int spwId (Int state) const
 The SPECTRAL_WINDOW_ID appropriate for this state.
void setSpwId (Int swid, Int state)
 Set the associated SPECTRAL_WINDOW_ID for the given state.

Private Member Functions

void clearCorrs ()
 GBTIF ()

Private Attributes

uInt itsNchan
uInt itsNstate
Double itsRefFreq
Double itsRefChan
Double itsDeltaFreq
Double itsTol
Double itsVsource
MFrequency::Types itsRefFrame
MVFrequency itsRestFreq
MDoppler::Types itsDopType
Vector< Double > itsOffsets
Vector< Int > itsSpwId
Vector< Int > itsIFrows
uInt itsNcorr
Block< GBTCorrelation * > itsCorrs

Detailed Description

Intended use:

Internal

 <h3>Review Status</h3><dl><dt>Date Reviewed:<dd>yyyy/mm/dd<dt>Test programs:<dd>tGBTIF</dl> 

Prerequisite

Etymology

This describes a GBT IF and its associated correlations.

Motivation

It is necessary to know what the unique IFs are given a backend FITS file, an IF fits file, and any LO1 fits files. It is also necessary to associated each correlation with an IF.

Definition at line 79 of file GBTIF.h.


Constructor & Destructor Documentation

GBTIF::GBTIF ( uInt  nchan,
uInt  nstate 
)

This is used where there is NO associated IF FITS file returns defaults.

This is constructed with one GBTCorrelation - the default.

GBTIF::GBTIF ( uInt  nchan,
uInt  nstate,
const String bank,
Int  port,
Double  ifFreq,
Double  bw,
Bool  increases,
const GBTIFFiller iffiller,
const GBTLO1File lo1aFile,
const GBTLO1File lo1bFile,
Bool  continuum 
)

Matches bank and port in the iffiller (which has already been constructed with the backend already selected) to get the IF information.

Uses the appropriate LO1 file for that row to get the LO1 doppler tracking and frequency switching information along with the LO1 offsets which finishes the description of the frequency axis. ifFreq is the IF frequency to be used in the sky frequency formula corresponding to channel 0. bw is the total bandwith. increases indicates whether the IF frequency increases with increasing channel number. For the ACS backend, some bandwidths decrease with increasing channel number. If ifFreq is < 0, then the value in CENTER_IF is used. If bw is < 0, then the value in BANDWDTH is used.

GBTIF::GBTIF ( const GBTIF other)

Copy constructor.

GBTIF::GBTIF ( ) [private]

Member Function Documentation

void GBTIF::addCorr ( const GBTCorrelation corr)

Add this correlation to this GBTIF.

void GBTIF::addIFRow ( Int  whichRow)

This one adds another associated IF row.

The intent is that when you collect all of the rows associated with each unique IF. This is a row from the IF fits file which shares this frequency axis information. Each row then contributes to one of the associated correlations.

void GBTIF::clearCorrs ( ) [private]
Double GBTIF::deltaFreq ( ) const [inline]

The channel spacing (may be negative) with positive increasing channel number, in Hz.

This defaults to 1.0.

Definition at line 162 of file GBTIF.h.

References itsDeltaFreq.

MDoppler::Types GBTIF::dopType ( ) const [inline]

The doppler type from the LO1 file.

Definition at line 179 of file GBTIF.h.

References itsDopType.

GBTCorrelation& GBTIF::getCorr ( Int  whichCorr) [inline]

Get a specific correlation.

Definition at line 136 of file GBTIF.h.

References itsCorrs.

const GBTCorrelation& GBTIF::getCorr ( Int  whichCorr) const [inline]

Get a specific const correlation.

Definition at line 139 of file GBTIF.h.

References itsCorrs.

const Vector<Int>& GBTIF::ifrows ( ) const [inline]

The vector of associated IF rows (rows from the IF fits file which all share this frequency axis).

Definition at line 127 of file GBTIF.h.

References itsIFrows.

uInt GBTIF::nchan ( ) const [inline]

The values which define this IF.

These are used in the comparison operators and they are also used when filling the spectral window table. These describe a linear frequency axis. The comparison operators also require that nstate be the same for equality to be true.

The number of channels along the frequency axis. This is the same as used in the constructor.

Definition at line 150 of file GBTIF.h.

References itsNchan.

uInt GBTIF::ncorr ( ) const [inline]

The number of associated GBTCorrelations.

Definition at line 130 of file GBTIF.h.

References itsNcorr.

uInt GBTIF::nstate ( ) const [inline]

The number of states.

Definition at line 153 of file GBTIF.h.

References itsNstate.

const Vector<Double>& GBTIF::offsets ( ) const [inline]

Offsets in refFreq for each state from the LO1 table.

These will be all 0 for non-frequency switched data, and if the LO1 file is missing.

Definition at line 188 of file GBTIF.h.

References itsOffsets.

GBTIF& GBTIF::operator= ( const GBTIF other)

Assignment operator.

Uses copy semantics.

Bool GBTIF::operator== ( const GBTIF other) const

Comparison operator.

Double GBTIF::refChan ( ) const [inline]

The reference channel.

This will be nchan/2 or 0 if nchan==1.

Definition at line 165 of file GBTIF.h.

References itsRefChan.

MFrequency::Types GBTIF::refFrame ( ) const [inline]

The reference frame.

This defaults to Mfrequency::TOPO.

Definition at line 168 of file GBTIF.h.

References itsRefFrame.

Double GBTIF::refFreq ( ) const [inline]

The frequency at the refChan(), in Hz.

This defaults to refChan() if insufficient information is available to construct the whole frequency axis.

Definition at line 158 of file GBTIF.h.

References itsRefFreq.

const MVFrequency& GBTIF::restFreq ( ) const [inline]

The rest frequency from the appropriate LO1 file.

Definition at line 176 of file GBTIF.h.

References itsRestFreq.

void GBTIF::setSpwId ( Int  swid,
Int  state 
) [inline]

Set the associated SPECTRAL_WINDOW_ID for the given state.

Definition at line 195 of file GBTIF.h.

References itsSpwId.

Int GBTIF::spwId ( Int  state) const [inline]

The SPECTRAL_WINDOW_ID appropriate for this state.

Returns -1 if unset.

Definition at line 192 of file GBTIF.h.

References itsSpwId.

Double GBTIF::tolerance ( ) const [inline]

The tolerance, in Hz.

This defaults to 10.0. The comparison operators use this when comparing refFreq and deltaFreq.

Definition at line 173 of file GBTIF.h.

References itsTol.

Double GBTIF::vsource ( ) const [inline]

The source velocity from the LO1 file.

Definition at line 182 of file GBTIF.h.

References itsVsource.


Member Data Documentation

Block<GBTCorrelation *> GBTIF::itsCorrs [private]

Definition at line 210 of file GBTIF.h.

Referenced by getCorr().

Double GBTIF::itsDeltaFreq [private]

Definition at line 198 of file GBTIF.h.

Referenced by deltaFreq().

MDoppler::Types GBTIF::itsDopType [private]

Definition at line 201 of file GBTIF.h.

Referenced by dopType().

Vector<Int> GBTIF::itsIFrows [private]

Definition at line 207 of file GBTIF.h.

Referenced by ifrows().

uInt GBTIF::itsNchan [private]

Definition at line 197 of file GBTIF.h.

Referenced by nchan().

uInt GBTIF::itsNcorr [private]

Definition at line 209 of file GBTIF.h.

Referenced by ncorr().

uInt GBTIF::itsNstate [private]

Definition at line 197 of file GBTIF.h.

Referenced by nstate().

Vector<Double> GBTIF::itsOffsets [private]

Definition at line 204 of file GBTIF.h.

Referenced by offsets().

Double GBTIF::itsRefChan [private]

Definition at line 198 of file GBTIF.h.

Referenced by refChan().

MFrequency::Types GBTIF::itsRefFrame [private]

Definition at line 199 of file GBTIF.h.

Referenced by refFrame().

Double GBTIF::itsRefFreq [private]

Definition at line 198 of file GBTIF.h.

Referenced by refFreq().

MVFrequency GBTIF::itsRestFreq [private]

Definition at line 200 of file GBTIF.h.

Referenced by restFreq().

Vector<Int> GBTIF::itsSpwId [private]

Definition at line 205 of file GBTIF.h.

Referenced by setSpwId(), and spwId().

Double GBTIF::itsTol [private]

Definition at line 198 of file GBTIF.h.

Referenced by tolerance().

Double GBTIF::itsVsource [private]

Definition at line 198 of file GBTIF.h.

Referenced by vsource().


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