#include <CTPatchedInterp.h>
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 >(), Vector< Int > fldmap=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 | setFldMap (Vector< Int > &fldmap) |
void | calcAltFld () |
void setFldMap(Vector<String>& field); // via name matching void setFldMap(uInt to, uInt from); // via single to/from | |
void | setDefSpwMap () |
Spw default: indgen (index identity). | |
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. | |
void | resampleFlagsInFreq (Vector< Bool > &flgout, const Vector< Double > &fout, Vector< Bool > &flgin, const Vector< Double > &fin) |
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< Int > | nChanIn_ |
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< Int > | altFld_ |
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< Bool > | spwInOK_ |
OK flag. | |
Vector< Int > | fldMap_ |
The patch panels Each has length from MS, values refer to CT. | |
Vector< Int > | spwMap_ |
Vector< Int > | antMap_ |
Vector< Int > | elemMap_ |
Vector< Bool > | conjTab_ |
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< NewCalTable * > | ctSlices_ |
The CalTable slices. | |
Array< CTTimeInterp1 * > | tI_ |
The pre-patched Time interpolation engines These are populated by the available caltables slices. | |
Array< Bool > | tIdel_ |
Vector< Int > | lastFld_ |
Vector< Int > | lastObs_ |
Definition at line 52 of file CTPatchedInterp.h.
casa::CTPatchedInterp::CTPatchedInterp | ( | NewCalTable & | ct, | |
VisCalEnum::MatrixType | mtype, | |||
Int | nPar, | |||
const String & | timetype, | |||
const String & | freqtype, | |||
const String & | fieldtype, | |||
Vector< Int > | spwmap = Vector< Int >() , |
|||
Vector< Int > | fldmap = Vector< Int >() | |||
) |
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 = Vector< Int >() | |||
) |
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 = Vector< Int >() | |||
) |
From NewCalTable and MSColumns.
virtual casa::CTPatchedInterp::~CTPatchedInterp | ( | ) | [virtual] |
Destructor.
casa::CTPatchedInterp::CTPatchedInterp | ( | ) | [inline, private] |
Null ctor does nothing.
Definition at line 117 of file CTPatchedInterp.h.
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 163 of file CTPatchedInterp.h.
void casa::CTPatchedInterp::calcAltFld | ( | ) | [private] |
void setFldMap(Vector<String>& field); // via name matching void setFldMap(uInt to, uInt from); // via single to/from
Calculate fldmap redundancy, enabling reuse
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, | |||
const Vector< Double > & | freq | |||
) |
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).
void casa::CTPatchedInterp::makeInterpolators | ( | ) | [private] |
void casa::CTPatchedInterp::resampleFlagsInFreq | ( | Vector< Bool > & | flgout, | |
const Vector< Double > & | fout, | |||
Vector< Bool > & | flgin, | |||
const Vector< Double > & | fin | |||
) | [private] |
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 97 of file CTPatchedInterp.h.
Array<Float>& casa::CTPatchedInterp::resultF | ( | Int | obs, | |
Int | fld, | |||
Int | spw | |||
) | [inline] |
Access to the result.
Definition at line 96 of file CTPatchedInterp.h.
Array<Bool>& casa::CTPatchedInterp::rflag | ( | Int | obs, | |
Int | fld, | |||
Int | spw | |||
) | [inline] |
Definition at line 98 of file CTPatchedInterp.h.
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 148 of file CTPatchedInterp.h.
References antMap_, casacore::indgen(), and nMSAnt_.
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 129 of file CTPatchedInterp.h.
void casa::CTPatchedInterp::setDefSpwMap | ( | ) | [inline, private] |
Spw default: indgen (index identity).
Definition at line 141 of file CTPatchedInterp.h.
References casacore::indgen(), nMSSpw_, and spwMap_.
void casa::CTPatchedInterp::setElemMap | ( | ) | [private] |
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 | ( | Vector< Int > & | fldmap | ) | [private] |
void casa::CTPatchedInterp::setFldMap | ( | const ROMSFieldColumns & | fcol | ) | [private] |
void casa::CTPatchedInterp::setFldMap | ( | const MSField & | msfld | ) | [private] |
void casa::CTPatchedInterp::setSpwMap | ( | Vector< Int > & | spwmap | ) | [private] |
void casa::CTPatchedInterp::sliceTable | ( | ) | [private] |
Setup methods.
Bool casa::CTPatchedInterp::spwInOK | ( | Int | spw | ) | const |
Bool casa::CTPatchedInterp::spwOK | ( | Int | spw | ) | const |
spwOK info for users
void casa::CTPatchedInterp::state | ( | ) |
Const access to various state TBD.
Report state
Int casa::CTPatchedInterp::thisobs | ( | Int | obs | ) | [inline, private] |
Definition at line 123 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 101 of file CTPatchedInterp.h.
References thisobs(), and timeResult_.
Array<Bool>& casa::CTPatchedInterp::tresultFlag | ( | Int | obs, | |
Int | fld, | |||
Int | spw | |||
) | [inline] |
Definition at line 102 of file CTPatchedInterp.h.
References thisobs(), and timeResFlag_.
Vector<Int> casa::CTPatchedInterp::altFld_ [private] |
Alternate field indices.
Definition at line 201 of file CTPatchedInterp.h.
Vector<Int> casa::CTPatchedInterp::antMap_ [private] |
Definition at line 212 of file CTPatchedInterp.h.
Referenced by setDefAntMap().
Bool casa::CTPatchedInterp::byField_ [private] |
Definition at line 189 of file CTPatchedInterp.h.
Bool casa::CTPatchedInterp::byObs_ [private] |
Are we slicing caltable by field?
Definition at line 189 of file CTPatchedInterp.h.
Referenced by thisobs().
Vector<Bool> casa::CTPatchedInterp::conjTab_ [private] |
Control conjugation of baseline-based solutions when mapping requires.
Definition at line 215 of file CTPatchedInterp.h.
NewCalTable casa::CTPatchedInterp::ct_ [private] |
Array<NewCalTable*> casa::CTPatchedInterp::ctSlices_ [private] |
The CalTable slices.
Definition at line 228 of file CTPatchedInterp.h.
Vector<Int> casa::CTPatchedInterp::elemMap_ [private] |
Definition at line 212 of file CTPatchedInterp.h.
Vector<Int> casa::CTPatchedInterp::fldMap_ [private] |
The patch panels Each has length from MS, values refer to CT.
Definition at line 212 of file CTPatchedInterp.h.
Referenced by setDefFldMap().
Vector<Vector<Double> > casa::CTPatchedInterp::freqIn_ [private] |
Definition at line 193 of file CTPatchedInterp.h.
Cube<Cube<Bool> > casa::CTPatchedInterp::freqResFlag_ [private] |
Definition at line 219 of file CTPatchedInterp.h.
Cube<Cube<Float> > casa::CTPatchedInterp::freqResult_ [private] |
Definition at line 218 of file CTPatchedInterp.h.
String casa::CTPatchedInterp::freqType_ [private] |
Definition at line 184 of file CTPatchedInterp.h.
InterpolateArray1D<Double,Float>::InterpolationMethod casa::CTPatchedInterp::ia1dmethod_ [private] |
Definition at line 186 of file CTPatchedInterp.h.
Bool casa::CTPatchedInterp::isCmplx_ [private] |
Are parameters fundamentally complex?
Definition at line 178 of file CTPatchedInterp.h.
Vector<Int> casa::CTPatchedInterp::lastFld_ [private] |
Definition at line 235 of file CTPatchedInterp.h.
Vector<Int> casa::CTPatchedInterp::lastObs_ [private] |
Definition at line 235 of file CTPatchedInterp.h.
Matrix type.
Definition at line 175 of file CTPatchedInterp.h.
Vector<Int> casa::CTPatchedInterp::nChanIn_ [private] |
CalTable freq axis info.
Definition at line 192 of file CTPatchedInterp.h.
Int casa::CTPatchedInterp::nCTAnt_ [private] |
Definition at line 205 of file CTPatchedInterp.h.
Int casa::CTPatchedInterp::nCTElem_ [private] |
Definition at line 205 of file CTPatchedInterp.h.
Int casa::CTPatchedInterp::nCTFld_ [private] |
Definition at line 205 of file CTPatchedInterp.h.
Int casa::CTPatchedInterp::nCTObs_ [private] |
Obs, Field, Spw, Ant _input_ (CalTable) sizes patch panels should not violate these (point to larger indices).
Definition at line 205 of file CTPatchedInterp.h.
Int casa::CTPatchedInterp::nCTSpw_ [private] |
Definition at line 205 of file CTPatchedInterp.h.
Int casa::CTPatchedInterp::nFPar_ [private] |
Definition at line 181 of file CTPatchedInterp.h.
Int casa::CTPatchedInterp::nMSAnt_ [private] |
Definition at line 198 of file CTPatchedInterp.h.
Referenced by setDefAntMap().
Int casa::CTPatchedInterp::nMSElem_ [private] |
Definition at line 198 of file CTPatchedInterp.h.
Int casa::CTPatchedInterp::nMSFld_ [private] |
Definition at line 198 of file CTPatchedInterp.h.
Referenced by setDefFldMap().
Int casa::CTPatchedInterp::nMSObs_ [private] |
Obs, Field, Spw, Ant _output_ (MS) sizes calibration required for up to this many.
Definition at line 198 of file CTPatchedInterp.h.
Int casa::CTPatchedInterp::nMSSpw_ [private] |
Definition at line 198 of file CTPatchedInterp.h.
Referenced by setDefSpwMap().
Int casa::CTPatchedInterp::nPar_ [private] |
The number of (Float) parameters (per-chan, per-element).
Definition at line 181 of file CTPatchedInterp.h.
Cube<Cube<Bool> > casa::CTPatchedInterp::resFlag_ [private] |
Definition at line 225 of file CTPatchedInterp.h.
Referenced by rflag().
Cube<Cube<Float> > casa::CTPatchedInterp::result_ [private] |
Current interpolation result Arrays These will reference time or freq result, depending on context, and may be referenced by external code.
Definition at line 224 of file CTPatchedInterp.h.
Vector<Bool> casa::CTPatchedInterp::spwInOK_ [private] |
OK flag.
Definition at line 208 of file CTPatchedInterp.h.
Vector<Int> casa::CTPatchedInterp::spwMap_ [private] |
Definition at line 212 of file CTPatchedInterp.h.
Referenced by setDefSpwMap().
Array<CTTimeInterp1*> casa::CTPatchedInterp::tI_ [private] |
The pre-patched Time interpolation engines These are populated by the available caltables slices.
Definition at line 232 of file CTPatchedInterp.h.
Array<Bool> casa::CTPatchedInterp::tIdel_ [private] |
Definition at line 233 of file CTPatchedInterp.h.
Cube<Cube<Bool> > casa::CTPatchedInterp::timeResFlag_ [private] |
Definition at line 219 of file CTPatchedInterp.h.
Referenced by tresultFlag().
Cube<Cube<Float> > casa::CTPatchedInterp::timeResult_ [private] |
String casa::CTPatchedInterp::timeType_ [private] |
Interpolation modes.
Definition at line 184 of file CTPatchedInterp.h.