casa::CalInterp Class Reference

#include <CalInterp.h>

Collaboration diagram for casa::CalInterp:

Collaboration graph
[legend]
List of all members.

Detailed Description

Definition at line 40 of file CalInterp.h.

Public Member Functions

 CalInterp ()
 Null ctor does nothing.
 CalInterp (CalSet< Complex > &cs, const String &timetype, const String &freqtype)
 From CalSet.
virtual ~CalInterp ()
 Destructor.
void setSpwMap (const Vector< Int > &spwmap)
 Set non-trivial spw mapping.
Bool interpolate (const Double &time, const Int &spw, const Vector< Double > &freq=Vector< Double >())
 Interpolate, given timestamp, spw, freq list; returns T if new result.
Bool interpTime (const Double &time)
 Do time-dep interpolation (called by interpolate).
void interpFreq (const Vector< Double > &freq)
 Do freq-dep interpolation (called by interpolate).
Double slotTime ()
 Timestamp of current Slot.
Cube< Complex > & result ()
 Access to result (by reference).
Cube< Bool > & resultOK ()
Vector< Bool > spwOK ()
 Spwmap-sensitive spwOK().

Protected Member Functions

Bool findSlot (const Double &time)
 Find the reference timeslot for requested time.
void updTimeCoeff ()
void interpTimeCalc (const Double &time)
void initFreqInterp (const Vector< Double > freq)
void calcAPC ()
void updFreqCoeff ()
void interpFreqCalc ()
void finalize ()
void inflTimeC ()
void inflFreqC ()
void deflTimeC ()
void deflFreqC ()
void deflFreqA ()
Int & nSpw ()
 Access to private shape data (reflecting CalSet).
Int & nPar ()
Int & nElem ()
String & timeType ()
 Access to imutable private data.
Bool nearestT ()
Bool linearT ()
Bool aipslinT ()
String & freqType ()
Bool nearestF ()
Bool linearF ()
Bool aipslinF ()
Vector< Int > & spwMap ()
Int spwMap (const Int &spw)
Int & currSpw ()
 Access to info relevant to currSpw.
Int currSpwMap ()
Int & currSlot ()
Int & nFreq ()
Vector< Double > & datFreq ()
Bool & finit ()
Double & lastTime ()
Bool & exactTime ()
Int & nTime ()
 Access to in-focus portion of CalSet (spwmap'd).
Int & nChan ()
Vector< Double > & csTimes ()
Vector< Double > & csFreq ()
Array< Complex > & csPar ()
Array< Bool > & csParOK ()
IPosition & ip4d ()
 Access to IPositions.
IPosition & ip3d ()
IPosition & ip2d ()
Double & t0 ()
 Access to in-focus interpolation abscissa data.
Double & tS ()
Int & lastlo ()
Vector< Int > & ch0 ()
Vector< Bool > & ef ()
Vector< Double > & df ()
Vector< Double > & fdf ()
Array< Float > & tAC ()
 In-focus Time Interpolation coefficients.
Array< Float > & tPC ()
Array< Complex > & tCC ()
Cube< Bool > & tOk ()
Array< Float > & fAC ()
 In-focus Freq Interpolation coefficients.
Array< Float > & fPC ()
Array< Complex > & fCC ()
Cube< Bool > & fOk ()
void rPart (Array< Complex > &c, Array< Float > &rp)
void iPart (Array< Complex > &c, Array< Float > &ip)
void asFloatArr (const Array< Complex > &in, Array< Float > &out)
void part (const Array< Complex > &c, const Int &which, Array< Float > &f)

Private Member Functions

void setSpwOK ()
 Set spwOK_ according to spwmap.
LogSink & logSink ()

Private Attributes

CalSet< Complex > * cs_
 The CalSet from which we interpolate.
String timeType_
 Interpolation modes.
String freqType_
Vector< Int > spwMap_
 Spw map.
Vector< Bool > spwOK_
 SpwOK.
Vector< Double > lastTime_
 Prior interp time, per spw.
Vector< Bool > finit_
 Frequency initialization flag (True if init complete).
Vector< Int > nFreq_
 Number of channels.
PtrBlock< Vector< Double > * > solFreq_
 Freq lists.
PtrBlock< Vector< Double > * > datFreq_
Int currSpw_
Vector< Int > currSlot_
Bool exactTime_
 Exact time match flag.
Cube< Float > a
Cube< Float > p
Cube< Complex > c
Cube< Bool > ok
Cube< Complex > r
Cube< Complex > r_
PtrBlock< IPosition * > ip4d_
 Array shapes.
PtrBlock< IPosition * > ip3d_
PtrBlock< IPosition * > ip2d_
Vector< Double > t0_
 Time Interpolation ordinate info (per spw).
Vector< Double > tS_
Vector< Int > lastlo_
PtrBlock< Array< Float > * > tAC_
 Time Interpolation coefficients (per spw).
PtrBlock< Array< Float > * > tPC_
PtrBlock< Array< Complex > * > tCC_
PtrBlock< Cube< Bool > * > tOk_
Cube< Float > tA_
 Time Interpolation results (currSpw).
Cube< Float > tP_
Cube< Complex > tC_
PtrBlock< Vector< Int > * > ch0_
 Freq Interpolation ordinate info (per spw).
PtrBlock< Vector< Bool > * > ef_
PtrBlock< Vector< Double > * > df_
PtrBlock< Vector< Double > * > fdf_
PtrBlock< Array< Float > * > fAC_
 Freq Interpolation coefficients (per spw).
PtrBlock< Array< Float > * > fPC_
PtrBlock< Array< Complex > * > fCC_
PtrBlock< Cube< Bool > * > fOk_
Cube< Float > fA_
 Freq Interpolation results (currSspw).
Cube< Float > fP_
Cube< Complex > fC_
LogSink logSink_p
Bool verbose_


Constructor & Destructor Documentation

casa::CalInterp::CalInterp (  )  [inline]

Null ctor does nothing.

Definition at line 45 of file CalInterp.h.

casa::CalInterp::CalInterp ( CalSet< Complex > &  cs,
const String &  timetype,
const String &  freqtype 
)

From CalSet.

virtual casa::CalInterp::~CalInterp (  )  [virtual]

Destructor.


Member Function Documentation

void casa::CalInterp::setSpwMap ( const Vector< Int > &  spwmap  )  [inline]

Set non-trivial spw mapping.

Definition at line 57 of file CalInterp.h.

References setSpwOK(), and spwMap_.

Bool casa::CalInterp::interpolate ( const Double &  time,
const Int &  spw,
const Vector< Double > &  freq = Vector< Double >() 
)

Interpolate, given timestamp, spw, freq list; returns T if new result.

Bool casa::CalInterp::interpTime ( const Double &  time  ) 

Do time-dep interpolation (called by interpolate).

void casa::CalInterp::interpFreq ( const Vector< Double > &  freq  ) 

Do freq-dep interpolation (called by interpolate).

Double casa::CalInterp::slotTime (  )  [inline]

Timestamp of current Slot.

Definition at line 71 of file CalInterp.h.

References csTimes(), and currSlot().

Cube<Complex>& casa::CalInterp::result (  )  [inline]

Access to result (by reference).

Definition at line 74 of file CalInterp.h.

References r.

Cube<Bool>& casa::CalInterp::resultOK (  )  [inline]

Definition at line 75 of file CalInterp.h.

References ok.

Vector<Bool> casa::CalInterp::spwOK (  )  [inline]

Spwmap-sensitive spwOK().

Definition at line 78 of file CalInterp.h.

References spwOK_.

Referenced by casa::SolvableVisCal::spwOK().

Bool casa::CalInterp::findSlot ( const Double &  time  )  [protected]

Find the reference timeslot for requested time.

void casa::CalInterp::updTimeCoeff (  )  [protected]

void casa::CalInterp::interpTimeCalc ( const Double &  time  )  [protected]

void casa::CalInterp::initFreqInterp ( const Vector< Double >  freq  )  [protected]

void casa::CalInterp::calcAPC (  )  [protected]

void casa::CalInterp::updFreqCoeff (  )  [protected]

void casa::CalInterp::interpFreqCalc (  )  [protected]

void casa::CalInterp::finalize (  )  [protected]

void casa::CalInterp::inflTimeC (  )  [protected]

void casa::CalInterp::inflFreqC (  )  [protected]

void casa::CalInterp::deflTimeC (  )  [protected]

void casa::CalInterp::deflFreqC (  )  [protected]

void casa::CalInterp::deflFreqA (  )  [protected]

Int& casa::CalInterp::nSpw (  )  [inline, protected]

Access to private shape data (reflecting CalSet).

Definition at line 106 of file CalInterp.h.

References cs_, and casa::CalSet< T >::nSpw().

Int& casa::CalInterp::nPar (  )  [inline, protected]

Definition at line 107 of file CalInterp.h.

References cs_, and casa::CalSet< T >::nPar().

Int& casa::CalInterp::nElem (  )  [inline, protected]

Definition at line 108 of file CalInterp.h.

References cs_, and casa::CalSet< T >::nElem().

String& casa::CalInterp::timeType (  )  [inline, protected]

Access to imutable private data.

Definition at line 111 of file CalInterp.h.

References timeType_.

Referenced by aipslinT(), linearT(), and nearestT().

Bool casa::CalInterp::nearestT (  )  [inline, protected]

Definition at line 112 of file CalInterp.h.

References timeType().

Bool casa::CalInterp::linearT (  )  [inline, protected]

Definition at line 113 of file CalInterp.h.

References timeType().

Bool casa::CalInterp::aipslinT (  )  [inline, protected]

Definition at line 114 of file CalInterp.h.

References timeType().

String& casa::CalInterp::freqType (  )  [inline, protected]

Definition at line 115 of file CalInterp.h.

References freqType_.

Referenced by aipslinF(), linearF(), and nearestF().

Bool casa::CalInterp::nearestF (  )  [inline, protected]

Definition at line 116 of file CalInterp.h.

References freqType().

Bool casa::CalInterp::linearF (  )  [inline, protected]

Definition at line 117 of file CalInterp.h.

References freqType().

Bool casa::CalInterp::aipslinF (  )  [inline, protected]

Definition at line 118 of file CalInterp.h.

References freqType().

Vector<Int>& casa::CalInterp::spwMap (  )  [inline, protected]

Definition at line 120 of file CalInterp.h.

References spwMap_.

Referenced by currSpwMap().

Int casa::CalInterp::spwMap ( const Int &  spw  )  [inline, protected]

Definition at line 121 of file CalInterp.h.

References spwMap_.

Int& casa::CalInterp::currSpw (  )  [inline, protected]

Access to info relevant to currSpw.

Definition at line 124 of file CalInterp.h.

References currSpw_.

Referenced by currSlot(), currSpwMap(), datFreq(), fAC(), fCC(), finit(), fOk(), fPC(), nFreq(), tAC(), tCC(), tOk(), and tPC().

Int casa::CalInterp::currSpwMap (  )  [inline, protected]

Definition at line 125 of file CalInterp.h.

References currSpw(), and spwMap().

Referenced by csFreq(), csPar(), csParOK(), csTimes(), nChan(), and nTime().

Int& casa::CalInterp::currSlot (  )  [inline, protected]

Definition at line 126 of file CalInterp.h.

References currSlot_, and currSpw().

Referenced by slotTime().

Int& casa::CalInterp::nFreq (  )  [inline, protected]

Definition at line 127 of file CalInterp.h.

References currSpw(), and nFreq_.

Vector<Double>& casa::CalInterp::datFreq (  )  [inline, protected]

Definition at line 128 of file CalInterp.h.

References currSpw(), and datFreq_.

Bool& casa::CalInterp::finit (  )  [inline, protected]

Definition at line 129 of file CalInterp.h.

References currSpw(), and finit_.

Double& casa::CalInterp::lastTime (  )  [inline, protected]

Definition at line 130 of file CalInterp.h.

References currSpw_, and lastTime_.

Bool& casa::CalInterp::exactTime (  )  [inline, protected]

Definition at line 131 of file CalInterp.h.

References exactTime_.

Int& casa::CalInterp::nTime (  )  [inline, protected]

Access to in-focus portion of CalSet (spwmap'd).

Definition at line 134 of file CalInterp.h.

References cs_, currSpwMap(), and casa::CalSet< T >::nTime().

Int& casa::CalInterp::nChan (  )  [inline, protected]

Definition at line 135 of file CalInterp.h.

References cs_, currSpwMap(), and casa::CalSet< T >::nChan().

Vector<Double>& casa::CalInterp::csTimes (  )  [inline, protected]

Definition at line 136 of file CalInterp.h.

References cs_, currSpwMap(), and casa::CalSet< T >::time().

Referenced by slotTime().

Vector<Double>& casa::CalInterp::csFreq (  )  [inline, protected]

Definition at line 137 of file CalInterp.h.

References cs_, currSpwMap(), and casa::CalSet< T >::frequencies().

Array<Complex>& casa::CalInterp::csPar (  )  [inline, protected]

Definition at line 138 of file CalInterp.h.

References cs_, currSpwMap(), and casa::CalSet< T >::par().

Array<Bool>& casa::CalInterp::csParOK (  )  [inline, protected]

Definition at line 139 of file CalInterp.h.

References cs_, currSpwMap(), and casa::CalSet< T >::parOK().

IPosition& casa::CalInterp::ip4d (  )  [inline, protected]

Access to IPositions.

Definition at line 142 of file CalInterp.h.

References currSpw_, and ip4d_.

IPosition& casa::CalInterp::ip3d (  )  [inline, protected]

Definition at line 143 of file CalInterp.h.

References currSpw_, and ip3d_.

IPosition& casa::CalInterp::ip2d (  )  [inline, protected]

Definition at line 144 of file CalInterp.h.

References currSpw_, and ip2d_.

Double& casa::CalInterp::t0 (  )  [inline, protected]

Access to in-focus interpolation abscissa data.

Definition at line 147 of file CalInterp.h.

References currSpw_, and t0_.

Double& casa::CalInterp::tS (  )  [inline, protected]

Definition at line 148 of file CalInterp.h.

References currSpw_, and tS_.

Int& casa::CalInterp::lastlo (  )  [inline, protected]

Definition at line 149 of file CalInterp.h.

References currSpw_, and lastlo_.

Vector<Int>& casa::CalInterp::ch0 (  )  [inline, protected]

Definition at line 151 of file CalInterp.h.

References ch0_, and currSpw_.

Vector<Bool>& casa::CalInterp::ef (  )  [inline, protected]

Definition at line 152 of file CalInterp.h.

References currSpw_, and ef_.

Vector<Double>& casa::CalInterp::df (  )  [inline, protected]

Definition at line 153 of file CalInterp.h.

References currSpw_, and df_.

Vector<Double>& casa::CalInterp::fdf (  )  [inline, protected]

Definition at line 154 of file CalInterp.h.

References currSpw_, and df_.

Array<Float>& casa::CalInterp::tAC (  )  [inline, protected]

In-focus Time Interpolation coefficients.

Definition at line 157 of file CalInterp.h.

References currSpw(), and tAC_.

Array<Float>& casa::CalInterp::tPC (  )  [inline, protected]

Definition at line 158 of file CalInterp.h.

References currSpw(), and tPC_.

Array<Complex>& casa::CalInterp::tCC (  )  [inline, protected]

Definition at line 159 of file CalInterp.h.

References currSpw(), and tCC_.

Cube<Bool>& casa::CalInterp::tOk (  )  [inline, protected]

Definition at line 160 of file CalInterp.h.

References currSpw(), and tOk_.

Array<Float>& casa::CalInterp::fAC (  )  [inline, protected]

In-focus Freq Interpolation coefficients.

Definition at line 163 of file CalInterp.h.

References currSpw(), and fAC_.

Array<Float>& casa::CalInterp::fPC (  )  [inline, protected]

Definition at line 164 of file CalInterp.h.

References currSpw(), and fPC_.

Array<Complex>& casa::CalInterp::fCC (  )  [inline, protected]

Definition at line 165 of file CalInterp.h.

References currSpw(), and fCC_.

Cube<Bool>& casa::CalInterp::fOk (  )  [inline, protected]

Definition at line 166 of file CalInterp.h.

References currSpw(), and fOk_.

void casa::CalInterp::rPart ( Array< Complex > &  c,
Array< Float > &  rp 
) [inline, protected]

Definition at line 168 of file CalInterp.h.

References part().

void casa::CalInterp::iPart ( Array< Complex > &  c,
Array< Float > &  ip 
) [inline, protected]

Definition at line 169 of file CalInterp.h.

References part().

void casa::CalInterp::asFloatArr ( const Array< Complex > &  in,
Array< Float > &  out 
) [protected]

void casa::CalInterp::part ( const Array< Complex > &  c,
const Int &  which,
Array< Float > &  f 
) [protected]

Referenced by iPart(), and rPart().

void casa::CalInterp::setSpwOK (  )  [private]

Set spwOK_ according to spwmap.

Referenced by setSpwMap().

LogSink& casa::CalInterp::logSink (  )  [inline, private]

Definition at line 253 of file CalInterp.h.


Member Data Documentation

CalSet<Complex>* casa::CalInterp::cs_ [private]

The CalSet from which we interpolate.

Definition at line 182 of file CalInterp.h.

Referenced by csFreq(), csPar(), csParOK(), csTimes(), nChan(), nElem(), nPar(), nSpw(), and nTime().

String casa::CalInterp::timeType_ [private]

Interpolation modes.

Definition at line 185 of file CalInterp.h.

Referenced by timeType().

String casa::CalInterp::freqType_ [private]

Definition at line 185 of file CalInterp.h.

Referenced by freqType().

Vector<Int> casa::CalInterp::spwMap_ [private]

Spw map.

Definition at line 188 of file CalInterp.h.

Referenced by setSpwMap(), and spwMap().

Vector<Bool> casa::CalInterp::spwOK_ [private]

SpwOK.

Definition at line 191 of file CalInterp.h.

Referenced by spwOK().

Vector<Double> casa::CalInterp::lastTime_ [private]

Prior interp time, per spw.

Definition at line 194 of file CalInterp.h.

Referenced by lastTime().

Vector<Bool> casa::CalInterp::finit_ [private]

Frequency initialization flag (True if init complete).

Definition at line 197 of file CalInterp.h.

Referenced by finit().

Vector<Int> casa::CalInterp::nFreq_ [private]

Number of channels.

Definition at line 200 of file CalInterp.h.

Referenced by nFreq().

PtrBlock<Vector<Double>*> casa::CalInterp::solFreq_ [private]

Freq lists.

Definition at line 203 of file CalInterp.h.

PtrBlock<Vector<Double>*> casa::CalInterp::datFreq_ [private]

Definition at line 204 of file CalInterp.h.

Referenced by datFreq().

Int casa::CalInterp::currSpw_ [private]

Definition at line 206 of file CalInterp.h.

Referenced by ch0(), currSpw(), df(), ef(), fdf(), ip2d(), ip3d(), ip4d(), lastlo(), lastTime(), t0(), and tS().

Vector<Int> casa::CalInterp::currSlot_ [private]

Definition at line 207 of file CalInterp.h.

Referenced by currSlot().

Bool casa::CalInterp::exactTime_ [private]

Exact time match flag.

Definition at line 210 of file CalInterp.h.

Referenced by exactTime().

Cube<Float> casa::CalInterp::a [private]

Definition at line 212 of file CalInterp.h.

Cube<Float> casa::CalInterp::p [private]

Definition at line 212 of file CalInterp.h.

Cube<Complex> casa::CalInterp::c [private]

Definition at line 213 of file CalInterp.h.

Cube<Bool> casa::CalInterp::ok [private]

Definition at line 214 of file CalInterp.h.

Referenced by resultOK().

Cube<Complex> casa::CalInterp::r [private]

Definition at line 216 of file CalInterp.h.

Referenced by result().

Cube<Complex> casa::CalInterp::r_ [private]

Definition at line 216 of file CalInterp.h.

PtrBlock<IPosition*> casa::CalInterp::ip4d_ [private]

Array shapes.

Definition at line 219 of file CalInterp.h.

Referenced by ip4d().

PtrBlock<IPosition*> casa::CalInterp::ip3d_ [private]

Definition at line 220 of file CalInterp.h.

Referenced by ip3d().

PtrBlock<IPosition*> casa::CalInterp::ip2d_ [private]

Definition at line 221 of file CalInterp.h.

Referenced by ip2d().

Vector<Double> casa::CalInterp::t0_ [private]

Time Interpolation ordinate info (per spw).

Definition at line 224 of file CalInterp.h.

Referenced by t0().

Vector<Double> casa::CalInterp::tS_ [private]

Definition at line 225 of file CalInterp.h.

Referenced by tS().

Vector<Int> casa::CalInterp::lastlo_ [private]

Definition at line 226 of file CalInterp.h.

Referenced by lastlo().

PtrBlock<Array<Float>*> casa::CalInterp::tAC_ [private]

Time Interpolation coefficients (per spw).

Definition at line 229 of file CalInterp.h.

Referenced by tAC().

PtrBlock<Array<Float>*> casa::CalInterp::tPC_ [private]

Definition at line 229 of file CalInterp.h.

Referenced by tPC().

PtrBlock<Array<Complex>*> casa::CalInterp::tCC_ [private]

Definition at line 230 of file CalInterp.h.

Referenced by tCC().

PtrBlock<Cube<Bool>*> casa::CalInterp::tOk_ [private]

Definition at line 231 of file CalInterp.h.

Referenced by tOk().

Cube<Float> casa::CalInterp::tA_ [private]

Time Interpolation results (currSpw).

Definition at line 234 of file CalInterp.h.

Cube<Float> casa::CalInterp::tP_ [private]

Definition at line 234 of file CalInterp.h.

Cube<Complex> casa::CalInterp::tC_ [private]

Definition at line 235 of file CalInterp.h.

PtrBlock<Vector<Int>*> casa::CalInterp::ch0_ [private]

Freq Interpolation ordinate info (per spw).

Definition at line 238 of file CalInterp.h.

Referenced by ch0().

PtrBlock<Vector<Bool>*> casa::CalInterp::ef_ [private]

Definition at line 239 of file CalInterp.h.

Referenced by ef().

PtrBlock<Vector<Double>*> casa::CalInterp::df_ [private]

Definition at line 240 of file CalInterp.h.

Referenced by df(), and fdf().

PtrBlock<Vector<Double>*> casa::CalInterp::fdf_ [private]

Definition at line 241 of file CalInterp.h.

PtrBlock<Array<Float>*> casa::CalInterp::fAC_ [private]

Freq Interpolation coefficients (per spw).

Definition at line 244 of file CalInterp.h.

Referenced by fAC().

PtrBlock<Array<Float>*> casa::CalInterp::fPC_ [private]

Definition at line 244 of file CalInterp.h.

Referenced by fPC().

PtrBlock<Array<Complex>*> casa::CalInterp::fCC_ [private]

Definition at line 245 of file CalInterp.h.

Referenced by fCC().

PtrBlock<Cube<Bool>*> casa::CalInterp::fOk_ [private]

Definition at line 246 of file CalInterp.h.

Referenced by fOk().

Cube<Float> casa::CalInterp::fA_ [private]

Freq Interpolation results (currSspw).

Definition at line 249 of file CalInterp.h.

Cube<Float> casa::CalInterp::fP_ [private]

Definition at line 249 of file CalInterp.h.

Cube<Complex> casa::CalInterp::fC_ [private]

Definition at line 250 of file CalInterp.h.

LogSink casa::CalInterp::logSink_p [private]

Definition at line 252 of file CalInterp.h.

Bool casa::CalInterp::verbose_ [private]

Definition at line 253 of file CalInterp.h.


The documentation for this class was generated from the following file:
Generated on Thu Aug 27 21:30:25 2009 for NRAOCASA by  doxygen 1.5.1