CorrDataKeywords.h

Classes

CorrDataKeywords -- CorrDataKeywords: process CORRDATA-ALMATI FITS keywords (full description)

class CorrDataKeywords

Types

enum lo

LO1 = 0
LO2 = 1

enum sideBand

LSB = 0
USB = 1

enum line

A = 0
B = 1

Interface

Public Members
CorrDataKeywords(ConstFitsKeywordList& kwl)
~CorrDataKeywords()
Int scanNum()
Int obsNum()
Int nPolznCorr()
Int nSideBand()
Int nLO()
Int nPhasCorr()
Int nChan()
Int baseBandNo()
Int tableId()
Bool isLOPresent(const lo& loEnum)
MFrequency freqLO(const lo& loEnum)
Int loSideBand(const lo& loEnum)
MFrequency intermediateFreq()
CStokesVector fluxDensity()
Bool isFluxDensityPresent()
Bool isLinePresent(const line& lineEnum)
MFrequency restFreq(const line& lineEnum)
String lineName(const line& lineEnum)
Bool isSideBandPresent(const sideBand& sbEnum)
Float refChan(const sideBand& sbEnum)
MFrequency refFreq(const sideBand& sbEnum)
MVFrequency chanWidth(const sideBand& sbEnum)
Vector<MFrequency> chanFreq(const sideBand& sbEnum)
Bool chanFreqLSRK(const sideBand& sbEnum, Vector<MFrequency>& freqAxis)
Bool chanFreqLSRK(const sideBand& sbEnum, const MRadialVelocity& dopVel, Vector<MFrequency>& freqAxis)
Bool isVelocityPresent(const sideBand& sbEnum)
Float velRefChan(const sideBand& sbEnum)
MRadialVelocity refVel(const sideBand& sbEnum)
MVRadialVelocity chanWidthVel(const sideBand& sbEnum)
MRadialVelocity sysVel(const sideBand& sbEnum)
Float stokesRefPixel(const sideBand& sbEnum)
Float stokesFITSRefVal(const sideBand& sbEnum)
Stokes::StokesTypes stokesRefVal(const sideBand& sbEnum)
Float stokesIncr(const sideBand& sbEnum)
Vector<Int> stokesAxis(const sideBand& sbEnum)
Bool isPhasCorrPresent(const sideBand& sbEnum)
Private Members
CorrDataKeywords()

Description

Prerequisite

Etymology

From "CORRDATA-ALMATI" and keywords

Synopsis

This class processes and holds FITS keywords from the CORRDATA-ALMATI binary table extension, as defined in the ALMA-TI data format. This is a helper class for AlmaTI2MS.

Example


 

Motivation

Encapsulate all keyword processing and access for CORRDATA-ALMATI tables

To Do

$Id: CorrDataKeywords.h,v 19.4 2004/11/30 17:50:06 ddebonis Exp $

Member Description

enum lo

Enum for LO number (LO1 and LO2)

enum sideBand

Enum for sideband type (LSB or USB)

enum line

Enum for line identifier and rest frequency pair (A or B)

CorrDataKeywords(ConstFitsKeywordList& kwl)

Construct from a const FITS keyword list

~CorrDataKeywords()

Destructor

Int scanNum()

Data accessor methods

Scan number

Int obsNum()

Observation number

Int nPolznCorr()

Number of polarization products

Int nSideBand()

Number of side bands

Int nLO()

Number of LO's

Int nPhasCorr()

Number of phase correction axes

Int nChan()

Number of channels

Int baseBandNo()

Baseband number

Int tableId()

Table id.

Bool isLOPresent(const lo& loEnum)

LO1/2 information: frequency and sideband for (LO1, LO2)

MFrequency freqLO(const lo& loEnum)

Int loSideBand(const lo& loEnum)

MFrequency intermediateFreq()

Intermediate frequency at reference channel

CStokesVector fluxDensity()

Flux density (I, Q, U, V) as Stokes vector

Bool isFluxDensityPresent()

Bool isLinePresent(const line& lineEnum)

Rest frequency and line identifiers (lines A and B)

MFrequency restFreq(const line& lineEnum)

String lineName(const line& lineEnum)

Bool isSideBandPresent(const sideBand& sbEnum)

Indicate whether USB and/or LSB data are present

Float refChan(const sideBand& sbEnum)

Frequency axis information: reference channel, reference frequency, channel spacing and array of frequencies for (USB, LSB)

Vector<MFrequency> chanFreq(const sideBand& sbEnum)

Return the frequency axis in the reference frequency frame (topocentric)

Bool chanFreqLSRK(const sideBand& sbEnum, Vector<MFrequency>& freqAxis)

Compute the frequency axis in the LSRK frame using the rest frequency and the source systemic velocity given in the CORRDATA-ALMATI table

Bool chanFreqLSRK(const sideBand& sbEnum, const MRadialVelocity& dopVel, Vector<MFrequency>& freqAxis)

Compute the frequency axis in the LSRK frame using the total Doppler velocity (VFRAME) given in the DATAPAR-ALMATI table

MFrequency refFreq(const sideBand& sbEnum)
MVFrequency chanWidth(const sideBand& sbEnum)

Bool isVelocityPresent(const sideBand& sbEnum)

Velocity axis information: reference channel, reference velocity, source systemic velocity and velocity channel spacing for (USB, LSB)

Float velRefChan(const sideBand& sbEnum)

MRadialVelocity refVel(const sideBand& sbEnum)

MVRadialVelocity chanWidthVel(const sideBand& sbEnum)

MRadialVelocity sysVel(const sideBand& sbEnum)

Float stokesRefPixel(const sideBand& sbEnum)

Stokes axis information: reference pixel, reference pixel value and increment per pixel. The reference value is returned in FITS form or as the associated AIPS++ Stokes enum value (in class Stokes). The full Stokes axis is also available as a vector of Stokes enums.

Float stokesFITSRefVal(const sideBand& sbEnum)

Stokes::StokesTypes stokesRefVal(const sideBand& sbEnum)

Float stokesIncr(const sideBand& sbEnum)

Vector<Int> stokesAxis(const sideBand& sbEnum)

Bool isPhasCorrPresent(const sideBand& sbEnum)

Phase correction axis information: indicate if present for (LSB, USB)

CorrDataKeywords()

Default constructor is prohibited - no useful object produced