casa
$Rev:20696$
|
#include <GBTIF.h>
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 () | |
GBTIF & | operator= (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. | |
GBTCorrelation & | getCorr (Int whichCorr) |
Get a specific correlation. | |
const GBTCorrelation & | getCorr (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 |
Internal
<h3>Review Status</h3><dl><dt>Date Reviewed:<dd>yyyy/mm/dd<dt>Test programs:<dd>tGBTIF</dl>
This describes a GBT IF and its associated correlations.
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.
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 | ( | ) |
GBTIF::GBTIF | ( | ) | [private] |
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] |
GBTCorrelation& GBTIF::getCorr | ( | Int | whichCorr | ) | [inline] |
const GBTCorrelation& GBTIF::getCorr | ( | Int | whichCorr | ) | const [inline] |
const Vector<Int>& GBTIF::ifrows | ( | ) | const [inline] |
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] |
uInt GBTIF::nstate | ( | ) | const [inline] |
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.
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] |
Int GBTIF::spwId | ( | Int | state | ) | const [inline] |
Double GBTIF::tolerance | ( | ) | const [inline] |
Double GBTIF::vsource | ( | ) | const [inline] |
The source velocity from the LO1 file.
Definition at line 182 of file GBTIF.h.
References itsVsource.
Block<GBTCorrelation *> GBTIF::itsCorrs [private] |
Double GBTIF::itsDeltaFreq [private] |
Definition at line 198 of file GBTIF.h.
Referenced by deltaFreq().
MDoppler::Types GBTIF::itsDopType [private] |
Vector<Int> GBTIF::itsIFrows [private] |
uInt GBTIF::itsNchan [private] |
uInt GBTIF::itsNcorr [private] |
uInt GBTIF::itsNstate [private] |
Vector<Double> GBTIF::itsOffsets [private] |
Double GBTIF::itsRefChan [private] |
MFrequency::Types GBTIF::itsRefFrame [private] |
Definition at line 199 of file GBTIF.h.
Referenced by refFrame().
Double GBTIF::itsRefFreq [private] |
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] |