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

#include <CTPatchedInterp.h>

List of all members.

Public Member Functions

 CTPatchedInterp (NewCalTable &ct, VisCalEnum::MatrixType mtype, Int nPar, const String &timetype, const String &freqtype, const String &fieldtype, Vector< Int > spwmap=Vector< Int >())
 From NewCalTable only.
 CTPatchedInterp (NewCalTable &ct, VisCalEnum::MatrixType mtype, Int nPar, const String &timetype, const String &freqtype, const String &fieldtype, const MeasurementSet &ms, Vector< Int > spwmap=Vector< Int >())
 From NewCalTable and MS.
 CTPatchedInterp (NewCalTable &ct, VisCalEnum::MatrixType mtype, Int nPar, const String &timetype, const String &freqtype, const String &fieldtype, const ROMSColumns &mscol, Vector< Int > spwmap=Vector< Int >())
 From NewCalTable and MSColumns.
virtual ~CTPatchedInterp ()
 Destructor.
Bool interpolate (Int obs, Int fld, Int spw, Double time, Double freq=-1.0)
 Interpolate, given input field, spw, timestamp, & (optionally) freq list returns T if new result (anywhere)
Bool interpolate (Int obs, Int fld, Int spw, Double time, const Vector< Double > &freq)
Array< Float > & resultF (Int obs, Int fld, Int spw)
 Access to the result.
Array< Complex > resultC (Int obs, Int fld, Int spw)
Array< Bool > & rflag (Int obs, Int fld, Int spw)
Array< Float > & tresultF (Int obs, Int fld, Int spw)
 Temporary public function for testing.
Array< Bool > & tresultFlag (Int obs, Int fld, Int spw)
Bool spwOK (Int spw) const
 spwOK info for users
Bool spwInOK (Int spw) const
void state ()
 Const access to various state TBD.

Private Member Functions

 CTPatchedInterp ()
 Null ctor does nothing.
void sliceTable ()
 Setup methods.
void makeInterpolators ()
Int thisobs (Int obs)
void setDefFldMap ()
 Methods to set up 1:1 patch-panel maps Private for now as not yet ready to control from outside Field default: all 0 (no field-dep yet)
void setFldMap (const MSField &msfld)
void setFldMap (const ROMSFieldColumns &fcol)
void setDefSpwMap ()
 void setFldMap(Vector<Int>& field); // via ordered index list void setFldMap(Vector<String>& field); // via name matching void setFldMap(uInt to, uInt from); // via single to/from
void setSpwMap (Vector< Int > &spwmap)
void setDefAntMap ()
 void setSpwMap(Vector<Double>& refFreqs); // via refFreq matching void setSpwMap(uInt to, uInt from); // via single to/from
void setElemMap ()
 void setAntMap(Vector<Int>& ant); // via ordered index list void setAntMap(Vector<String>& ant); // via name/station matching void setAntMap(uInt to, uInt from); // via single to/from
void resampleInFreq (Matrix< Float > &fres, Matrix< Bool > &fflg, const Vector< Double > &fout, Matrix< Float > &tres, Matrix< Bool > &tflg, const Vector< Double > &fin)
 Resample in frequency.
Int blnidx (const Int &a1, const Int &a2, const Int &nAnt)
 Baseline index from antenna indices: (assumes a1<=a2 !!)
InterpolateArray1D< Double,
Float >::InterpolationMethod 
ftype (String &strtype)
 Translate freq axis interpolation string.

Private Attributes

NewCalTable ct_
 PRIVATE DATA:
VisCalEnum::MatrixType mtype_
 Matrix type.
Bool isCmplx_
 Are parameters fundamentally complex?
Int nPar_
 The number of (Float) parameters (per-chan, per-element)
Int nFPar_
String timeType_
 Interpolation modes.
String freqType_
InterpolateArray1D< Double,
Float >::InterpolationMethod 
ia1dmethod_
Bool byObs_
 Are we slicing caltable by field?
Bool byField_
Vector< IntnChanIn_
 CalTable freq axis info.
Vector< Vector< Double > > freqIn_
Int nMSObs_
 Obs, Field, Spw, Ant output (MS) sizes calibration required for up to this many.
Int nMSFld_
Int nMSSpw_
Int nMSAnt_
Int nMSElem_
Vector< IntaltFld_
 Alternate field indices.
Int nCTObs_
 Obs, Field, Spw, Ant input (CalTable) sizes patch panels should not violate these (point to larger indices)
Int nCTFld_
Int nCTSpw_
Int nCTAnt_
Int nCTElem_
Vector< BoolspwInOK_
 OK flag.
Vector< IntfldMap_
 The patch panels Each has length from MS, values refer to CT.
Vector< IntspwMap_
Vector< IntantMap_
Vector< IntelemMap_
Vector< BoolconjTab_
 Control conjugation of baseline-based solutions when mapping requires.
Cube< Cube< Float > > timeResult_
 Internal result Arrays.
Cube< Cube< Float > > freqResult_
Cube< Cube< Bool > > timeResFlag_
Cube< Cube< Bool > > freqResFlag_
Cube< Cube< Float > > result_
 Current interpolation result Arrays These will reference time or freq result, depending on context, and may be referenced by external code.
Cube< Cube< Bool > > resFlag_
Array< NewCalTablectSlices_
 The CalTable slices.
Array< CTTimeInterp1 * > tI_
 The pre-patched Time interpolation engines These are populated by the available caltables slices.
Array< BooltIdel_

Detailed Description

Definition at line 52 of file CTPatchedInterp.h.


Constructor & Destructor Documentation

casa::CTPatchedInterp::CTPatchedInterp ( NewCalTable ct,
VisCalEnum::MatrixType  mtype,
Int  nPar,
const String timetype,
const String freqtype,
const String fieldtype,
Vector< Int spwmap = VectorInt >() 
)

From NewCalTable only.

casa::CTPatchedInterp::CTPatchedInterp ( NewCalTable ct,
VisCalEnum::MatrixType  mtype,
Int  nPar,
const String timetype,
const String freqtype,
const String fieldtype,
const MeasurementSet ms,
Vector< Int spwmap = VectorInt >() 
)

From NewCalTable and MS.

casa::CTPatchedInterp::CTPatchedInterp ( NewCalTable ct,
VisCalEnum::MatrixType  mtype,
Int  nPar,
const String timetype,
const String freqtype,
const String fieldtype,
const ROMSColumns mscol,
Vector< Int spwmap = VectorInt >() 
)

Destructor.

Null ctor does nothing.

Definition at line 116 of file CTPatchedInterp.h.


Member Function Documentation

Int casa::CTPatchedInterp::blnidx ( const Int a1,
const Int a2,
const Int nAnt 
) [inline, private]

Baseline index from antenna indices: (assumes a1<=a2 !!)

Definition at line 157 of file CTPatchedInterp.h.

InterpolateArray1D<Double,Float>::InterpolationMethod casa::CTPatchedInterp::ftype ( String strtype) [private]

Translate freq axis interpolation string.

Bool casa::CTPatchedInterp::interpolate ( Int  obs,
Int  fld,
Int  spw,
Double  time,
Double  freq = -1.0 
)

Interpolate, given input field, spw, timestamp, & (optionally) freq list returns T if new result (anywhere)

Bool casa::CTPatchedInterp::interpolate ( Int  obs,
Int  fld,
Int  spw,
Double  time,
const Vector< Double > &  freq 
)
void casa::CTPatchedInterp::resampleInFreq ( Matrix< Float > &  fres,
Matrix< Bool > &  fflg,
const Vector< Double > &  fout,
Matrix< Float > &  tres,
Matrix< Bool > &  tflg,
const Vector< Double > &  fin 
) [private]

Resample in frequency.

Array<Complex> casa::CTPatchedInterp::resultC ( Int  obs,
Int  fld,
Int  spw 
) [inline]

Definition at line 96 of file CTPatchedInterp.h.

References casa::RIorAPArray::c(), result_, and thisobs().

Array<Float>& casa::CTPatchedInterp::resultF ( Int  obs,
Int  fld,
Int  spw 
) [inline]

Access to the result.

Definition at line 95 of file CTPatchedInterp.h.

References result_, and thisobs().

Array<Bool>& casa::CTPatchedInterp::rflag ( Int  obs,
Int  fld,
Int  spw 
) [inline]

Definition at line 97 of file CTPatchedInterp.h.

References resFlag_, and thisobs().

void casa::CTPatchedInterp::setDefAntMap ( ) [inline, private]

void setSpwMap(Vector<Double>& refFreqs); // via refFreq matching void setSpwMap(uInt to, uInt from); // via single to/from

Antenna default: indgen (index identity)

Definition at line 144 of file CTPatchedInterp.h.

References antMap_, casa::indgen(), nMSAnt_, and casa::Vector< T >::resize().

void casa::CTPatchedInterp::setDefFldMap ( ) [inline, private]

Methods to set up 1:1 patch-panel maps Private for now as not yet ready to control from outside Field default: all 0 (no field-dep yet)

Definition at line 128 of file CTPatchedInterp.h.

References fldMap_, nMSFld_, casa::Vector< T >::resize(), and casa::Array< T >::set().

void casa::CTPatchedInterp::setDefSpwMap ( ) [inline, private]

void setFldMap(Vector<Int>& field); // via ordered index list void setFldMap(Vector<String>& field); // via name matching void setFldMap(uInt to, uInt from); // via single to/from

Spw default: indgen (index identity)

Definition at line 137 of file CTPatchedInterp.h.

References casa::indgen(), nMSSpw_, casa::Vector< T >::resize(), and spwMap_.

void setAntMap(Vector<Int>& ant); // via ordered index list void setAntMap(Vector<String>& ant); // via name/station matching void setAntMap(uInt to, uInt from); // via single to/from

Set generic antenna/baseline map

void casa::CTPatchedInterp::setFldMap ( const MSField msfld) [private]
void casa::CTPatchedInterp::setFldMap ( const ROMSFieldColumns fcol) [private]
void casa::CTPatchedInterp::setSpwMap ( Vector< Int > &  spwmap) [private]

Setup methods.

spwOK info for users

Const access to various state TBD.

Report state

Int casa::CTPatchedInterp::thisobs ( Int  obs) [inline, private]

Definition at line 122 of file CTPatchedInterp.h.

References byObs_.

Referenced by resultC(), resultF(), rflag(), tresultF(), and tresultFlag().

Array<Float>& casa::CTPatchedInterp::tresultF ( Int  obs,
Int  fld,
Int  spw 
) [inline]

Temporary public function for testing.

Definition at line 100 of file CTPatchedInterp.h.

References thisobs(), and timeResult_.

Array<Bool>& casa::CTPatchedInterp::tresultFlag ( Int  obs,
Int  fld,
Int  spw 
) [inline]

Definition at line 101 of file CTPatchedInterp.h.

References thisobs(), and timeResFlag_.


Member Data Documentation

Alternate field indices.

Definition at line 195 of file CTPatchedInterp.h.

Definition at line 206 of file CTPatchedInterp.h.

Referenced by setDefAntMap().

Definition at line 183 of file CTPatchedInterp.h.

Are we slicing caltable by field?

Definition at line 183 of file CTPatchedInterp.h.

Referenced by thisobs().

Control conjugation of baseline-based solutions when mapping requires.

Definition at line 209 of file CTPatchedInterp.h.

PRIVATE DATA:

The Caltable

Definition at line 166 of file CTPatchedInterp.h.

The CalTable slices.

Definition at line 222 of file CTPatchedInterp.h.

Definition at line 206 of file CTPatchedInterp.h.

The patch panels Each has length from MS, values refer to CT.

Definition at line 206 of file CTPatchedInterp.h.

Referenced by setDefFldMap().

Definition at line 187 of file CTPatchedInterp.h.

Definition at line 213 of file CTPatchedInterp.h.

Definition at line 212 of file CTPatchedInterp.h.

Definition at line 178 of file CTPatchedInterp.h.

Definition at line 180 of file CTPatchedInterp.h.

Are parameters fundamentally complex?

Definition at line 172 of file CTPatchedInterp.h.

Matrix type.

Definition at line 169 of file CTPatchedInterp.h.

CalTable freq axis info.

Definition at line 186 of file CTPatchedInterp.h.

Definition at line 199 of file CTPatchedInterp.h.

Definition at line 199 of file CTPatchedInterp.h.

Definition at line 199 of file CTPatchedInterp.h.

Obs, Field, Spw, Ant input (CalTable) sizes patch panels should not violate these (point to larger indices)

Definition at line 199 of file CTPatchedInterp.h.

Definition at line 199 of file CTPatchedInterp.h.

Definition at line 175 of file CTPatchedInterp.h.

Definition at line 192 of file CTPatchedInterp.h.

Referenced by setDefAntMap().

Definition at line 192 of file CTPatchedInterp.h.

Definition at line 192 of file CTPatchedInterp.h.

Referenced by setDefFldMap().

Obs, Field, Spw, Ant output (MS) sizes calibration required for up to this many.

Definition at line 192 of file CTPatchedInterp.h.

Definition at line 192 of file CTPatchedInterp.h.

Referenced by setDefSpwMap().

The number of (Float) parameters (per-chan, per-element)

Definition at line 175 of file CTPatchedInterp.h.

Definition at line 219 of file CTPatchedInterp.h.

Referenced by rflag().

Current interpolation result Arrays These will reference time or freq result, depending on context, and may be referenced by external code.

Definition at line 218 of file CTPatchedInterp.h.

Referenced by resultC(), and resultF().

OK flag.

Definition at line 202 of file CTPatchedInterp.h.

Definition at line 206 of file CTPatchedInterp.h.

Referenced by setDefSpwMap().

The pre-patched Time interpolation engines These are populated by the available caltables slices.

Definition at line 226 of file CTPatchedInterp.h.

Definition at line 227 of file CTPatchedInterp.h.

Definition at line 213 of file CTPatchedInterp.h.

Referenced by tresultFlag().

Internal result Arrays.

Definition at line 212 of file CTPatchedInterp.h.

Referenced by tresultF().

Interpolation modes.

Definition at line 178 of file CTPatchedInterp.h.


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