The base class to represent the Aperture-Term of the Measurement Equation. More...
#include <ATerm.h>
Public Member Functions | |
ATerm () | |
virtual | ~ATerm () |
virtual String | name ()=0 |
virtual void | makeFullJones (ImageInterface< Complex > &pbImage, const VisBuffer &vb, Bool doSquint, Int &bandID, Double freqVal)=0 |
virtual void | applySky (ImageInterface< Float > &outputImages, const VisBuffer &vb, const Bool doSquint=True, const Int &cfKey=0, const Int &muellerTerm=0, const Double freqVal=-1.0)=0 |
virtual void | applySky (ImageInterface< Complex > &outputImages, const VisBuffer &vb, const Bool doSquint=True, const Int &cfKey=0, const Int &muellerTerm=0, const Double freqVal=-1.0)=0 |
virtual void | applySky (ImageInterface< Complex > &outImages, const Double &pa, const Bool doSquint, const Int &cfKey, const Int &muellerTerm, const Double freqVal)=0 |
virtual Int | makePBPolnCoords (const VisBuffer &vb, const Int &convSize, const Int &convSampling, const CoordinateSystem &skyCoord, const Int &skyNx, const Int &skyNy, CoordinateSystem &feedCoord) |
Not sure if the following method is requried. | |
virtual Int | makePBPolnCoords (const Vector< Int > &vbCorrTypes, const Int &convSize, const Int &convSampling, const CoordinateSystem &skyCoord, const Int &skyNx, const Int &skyNy, CoordinateSystem &feedCoord) |
virtual Vector< Int > | vbRow2CFKeyMap (const VisBuffer &vb, Int &nUnique) |
Not sure if the following method is requried. | |
virtual void | getPolMap (Vector< Int > &polMap) |
virtual Vector< Int > | getAntTypeList () |
virtual Int | getConvSize () |
virtual Int | getOversampling () |
{ Int defaultConvSize=CONVSIZE; defaultConvSize= SynthesisUtils::getenv("CONVSIZE",CONVSIZE); if (envStr != "") { sscanf(envStr.c_str,"%d",&defaultConvSize); cerr << "ConvFuncSize set to " << defaultConvSize << endl; } return defaultConvSize; }; | |
virtual Float | getConvWeightSizeFactor () |
{ Int defaultOverSampling=OVERSAMPLING; char *envStr; if ((envStr = getenv("OVERSAMPLING")) != NULL) { sscanf(envStr,"%d",&defaultOverSampling); cerr << "Oversampling set to " << defaultOverSampling << endl; } return defaultOverSampling; } | |
virtual Float | getSupportThreshold () |
virtual void | normalizeImage (Lattice< Complex > &skyImage, const Matrix< Float > &weights) |
virtual Vector<Int> vbRow2CFKeyMap(const VisBuffer& vb, Int& nUnique) = 0; virtual Int getConvSize() = 0; virtual Int getOversampling() = 0; virtual Float getConvWeightSizeFactor() = 0; virtual Float getSupportThreshold() = 0; | |
virtual void | cacheVBInfo (const VisBuffer &vb)=0 |
virtual void | cacheVBInfo (const String &telescopeName, const Float &diameter)=0 |
virtual Int | getBandID (const Double &freq, const String &telescopeName)=0 |
virtual int | getVisParams (const VisBuffer &vb, const CoordinateSystem &skyCoord=CoordinateSystem())=0 |
virtual void | setPolMap (const Vector< Int > &polMap) |
The mapping from VisBuffer polarizations map to the Image plane polarization. | |
virtual void | rotate (const VisBuffer &vb, CFCell &cfc, const Double &rotAngleIncrement=5.0)=0 |
virtual void rotate(const VisBuffer& vb, CFStore2& cfs)=0; | |
virtual void | rotate2 (const VisBuffer &vb, CFCell &baseCFS, CFCell &cfc, const Double &rotAngleIncrement=5.0)=0 |
virtual Int | mapAntIDToAntType (const Int &) |
String | getTelescopeName () |
virtual Bool | rotationallySymmetric () |
Protected Member Functions | |
LogIO & | logIO () |
Protected Attributes | |
LogIO | logIO_p |
Vector< Int > | polMap_p_base |
Int | cachedOverSampling_p |
Int | cachedConvSize_p |
Float | Diameter_p |
Float | Nant_p |
Float | HPBW |
Float | sigma |
String | telescopeName_p |
The base class to represent the Aperture-Term of the Measurement Equation.
Public interface
A-Term to account for the effects of the antenna primary beam(s).
Definition at line 63 of file ATerm.h.
casa::ATerm::ATerm | ( | ) |
virtual void casa::ATerm::applySky | ( | ImageInterface< Complex > & | outImages, | |
const Double & | pa, | |||
const Bool | doSquint, | |||
const Int & | cfKey, | |||
const Int & | muellerTerm, | |||
const Double | freqVal | |||
) | [pure virtual] |
Implemented in casa::EVLAAperture, and casa::NoOpATerm.
virtual void casa::ATerm::applySky | ( | ImageInterface< Complex > & | outputImages, | |
const VisBuffer & | vb, | |||
const Bool | doSquint = True , |
|||
const Int & | cfKey = 0 , |
|||
const Int & | muellerTerm = 0 , |
|||
const Double | freqVal = -1.0 | |||
) | [pure virtual] |
Implements casa::CFTerms.
Implemented in casa::EVLAAperture, and casa::NoOpATerm.
virtual void casa::ATerm::applySky | ( | ImageInterface< Float > & | outputImages, | |
const VisBuffer & | vb, | |||
const Bool | doSquint = True , |
|||
const Int & | cfKey = 0 , |
|||
const Int & | muellerTerm = 0 , |
|||
const Double | freqVal = -1.0 | |||
) | [pure virtual] |
Implements casa::CFTerms.
Implemented in casa::EVLAAperture, and casa::NoOpATerm.
virtual void casa::ATerm::cacheVBInfo | ( | const String & | telescopeName, | |
const Float & | diameter | |||
) | [pure virtual] |
Implemented in casa::ALMAAperture, casa::EVLAAperture, and casa::NoOpATerm.
virtual void casa::ATerm::cacheVBInfo | ( | const VisBuffer & | vb | ) | [pure virtual] |
Implemented in casa::ALMAAperture, casa::EVLAAperture, and casa::NoOpATerm.
virtual Vector<Int> casa::ATerm::getAntTypeList | ( | ) | [inline, virtual] |
Reimplemented in casa::NoOpATerm.
virtual Int casa::ATerm::getBandID | ( | const Double & | freq, | |
const String & | telescopeName | |||
) | [pure virtual] |
Implemented in casa::ALMAAperture, casa::EVLAAperture, and casa::NoOpATerm.
virtual Int casa::ATerm::getConvSize | ( | ) | [virtual] |
Implements casa::CFTerms.
virtual Float casa::ATerm::getConvWeightSizeFactor | ( | ) | [inline, virtual] |
{ Int defaultOverSampling=OVERSAMPLING; char *envStr; if ((envStr = getenv("OVERSAMPLING")) != NULL) { sscanf(envStr,"%d",&defaultOverSampling); cerr << "Oversampling set to " << defaultOverSampling << endl; } return defaultOverSampling; }
Implements casa::CFTerms.
Definition at line 162 of file ATerm.h.
References CONVWTSIZEFACTOR.
virtual Int casa::ATerm::getOversampling | ( | ) | [virtual] |
{ Int defaultConvSize=CONVSIZE; defaultConvSize= SynthesisUtils::getenv("CONVSIZE",CONVSIZE); if (envStr != "") { sscanf(envStr.c_str,"%d",&defaultConvSize); cerr << "ConvFuncSize set to " << defaultConvSize << endl; } return defaultConvSize; };
Implements casa::CFTerms.
virtual void casa::ATerm::getPolMap | ( | Vector< Int > & | polMap | ) | [inline, virtual] |
Reimplemented from casa::CFTerms.
Reimplemented in casa::ALMAAperture, casa::EVLAAperture, and casa::NoOpATerm.
Definition at line 137 of file ATerm.h.
References polMap_p_base.
virtual Float casa::ATerm::getSupportThreshold | ( | ) | [inline, virtual] |
Implements casa::CFTerms.
Reimplemented in casa::NoOpATerm.
Definition at line 163 of file ATerm.h.
References THRESHOLD.
String casa::ATerm::getTelescopeName | ( | ) | [inline] |
Definition at line 195 of file ATerm.h.
References telescopeName_p.
virtual int casa::ATerm::getVisParams | ( | const VisBuffer & | vb, | |
const CoordinateSystem & | skyCoord = CoordinateSystem() | |||
) | [pure virtual] |
Implements casa::CFTerms.
Implemented in casa::ALMAAperture, casa::EVLAAperture, and casa::NoOpATerm.
LogIO& casa::ATerm::logIO | ( | ) | [inline, protected] |
virtual void casa::ATerm::makeFullJones | ( | ImageInterface< Complex > & | pbImage, | |
const VisBuffer & | vb, | |||
Bool | doSquint, | |||
Int & | bandID, | |||
Double | freqVal | |||
) | [pure virtual] |
Implemented in casa::ALMAAperture, casa::EVLAAperture, and casa::NoOpATerm.
virtual Int casa::ATerm::makePBPolnCoords | ( | const Vector< Int > & | vbCorrTypes, | |
const Int & | convSize, | |||
const Int & | convSampling, | |||
const CoordinateSystem & | skyCoord, | |||
const Int & | skyNx, | |||
const Int & | skyNy, | |||
CoordinateSystem & | feedCoord | |||
) | [virtual] |
virtual Int casa::ATerm::makePBPolnCoords | ( | const VisBuffer & | vb, | |
const Int & | convSize, | |||
const Int & | convSampling, | |||
const CoordinateSystem & | skyCoord, | |||
const Int & | skyNx, | |||
const Int & | skyNy, | |||
CoordinateSystem & | feedCoord | |||
) | [inline, virtual] |
Not sure if the following method is requried.
Leaving it in the code for now with an implementation that does nothing.
virtual void applySky(Matrix<Complex>& screen, const Int wPixel, const Vector<Double>& sampling, const Int wConvSize, const Double wScale, const Int inner) {(void)screen; (void)wPixel; (void)sampling; (void)wConvSize; (void)wScale; (void)inner;};
Returns a vector of integers that map each row in the given VisBuffer to an index that is used to pick the appropriate convolution function plane. It also returns the number of unique baselines in the nUnique parameter (unique baselines are defined as the number of baselines each requiring a unique convolution function).
This is required for Heterogeneous antenna arrays (like ALMA) and for all arrays where not all antenna aperture illuminations can be treated as identical.
Implements casa::CFTerms.
Reimplemented in casa::ALMAAperture, and casa::EVLAAperture.
Definition at line 116 of file ATerm.h.
References casa::VisBuffer::corrType().
virtual Int casa::ATerm::mapAntIDToAntType | ( | const Int & | ) | [inline, virtual] |
virtual String casa::ATerm::name | ( | ) | [pure virtual] |
Implements casa::CFTerms.
Implemented in casa::ALMAAperture, casa::EVLAAperture, and casa::NoOpATerm.
virtual void casa::ATerm::normalizeImage | ( | Lattice< Complex > & | skyImage, | |
const Matrix< Float > & | weights | |||
) | [inline, virtual] |
virtual Vector<Int> vbRow2CFKeyMap(const VisBuffer& vb, Int& nUnique) = 0; virtual Int getConvSize() = 0; virtual Int getOversampling() = 0; virtual Float getConvWeightSizeFactor() = 0; virtual Float getSupportThreshold() = 0;
Implements casa::CFTerms.
Reimplemented in casa::NoOpATerm.
virtual void casa::ATerm::rotate | ( | const VisBuffer & | vb, | |
CFCell & | cfc, | |||
const Double & | rotAngleIncrement = 5.0 | |||
) | [pure virtual] |
virtual void rotate(const VisBuffer& vb, CFStore2& cfs)=0;
Implemented in casa::AzElAperture, and casa::NoOpATerm.
virtual void casa::ATerm::rotate2 | ( | const VisBuffer & | vb, | |
CFCell & | baseCFS, | |||
CFCell & | cfc, | |||
const Double & | rotAngleIncrement = 5.0 | |||
) | [pure virtual] |
Implemented in casa::AzElAperture, and casa::NoOpATerm.
virtual Bool casa::ATerm::rotationallySymmetric | ( | ) | [inline, virtual] |
Implements casa::CFTerms.
Reimplemented in casa::NoOpATerm.
Definition at line 196 of file ATerm.h.
References casacore::True.
virtual void casa::ATerm::setPolMap | ( | const Vector< Int > & | polMap | ) | [inline, virtual] |
The mapping from VisBuffer polarizations map to the Image plane polarization.
The latter is determined by the user input, which is passed to the FTMachine in Imager.cc
The map is available in the FTMachine which uses this method to set the map for the ATerm object.
Reimplemented from casa::CFTerms.
Reimplemented in casa::ALMAAperture, and casa::NoOpATerm.
Definition at line 190 of file ATerm.h.
References polMap_p_base.
virtual Vector<Int> casa::ATerm::vbRow2CFKeyMap | ( | const VisBuffer & | vb, | |
Int & | nUnique | |||
) | [inline, virtual] |
Not sure if the following method is requried.
Leaving it in the code for now with an implementation that does nothing.
virtual void applySky(Matrix<Complex>& screen, const Int wPixel, const Vector<Double>& sampling, const Int wConvSize, const Double wScale, const Int inner) {(void)screen; (void)wPixel; (void)sampling; (void)wConvSize; (void)wScale; (void)inner;};
Returns a vector of integers that map each row in the given VisBuffer to an index that is used to pick the appropriate convolution function plane. It also returns the number of unique baselines in the nUnique parameter (unique baselines are defined as the number of baselines each requiring a unique convolution function).
This is required for Heterogeneous antenna arrays (like ALMA) and for all arrays where not all antenna aperture illuminations can be treated as identical.
Implements casa::CFTerms.
Reimplemented in casa::ALMAAperture, and casa::EVLAAperture.
Definition at line 134 of file ATerm.h.
References casa::VisBuffer::nRow().
Int casa::ATerm::cachedConvSize_p [protected] |
Int casa::ATerm::cachedOverSampling_p [protected] |
Float casa::ATerm::Diameter_p [protected] |
Float casa::ATerm::HPBW [protected] |
LogIO casa::ATerm::logIO_p [protected] |
Float casa::ATerm::Nant_p [protected] |
Vector<Int> casa::ATerm::polMap_p_base [protected] |
Reimplemented from casa::CFTerms.
Definition at line 201 of file ATerm.h.
Referenced by getPolMap(), and setPolMap().
Float casa::ATerm::sigma [protected] |
String casa::ATerm::telescopeName_p [protected] |
Definition at line 205 of file ATerm.h.
Referenced by getTelescopeName().