casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
casa::ATerm Class Referenceabstract

The base class to represent the Aperture-Term of the Measurement Equation. More...

#include <ATerm.h>

Inheritance diagram for casa::ATerm:
casa::CFTerms casa::AzElAperture casa::NoOpATerm casa::ALMAAperture casa::EVLAAperture

Public Member Functions

 ATerm ()
 
virtual ~ATerm ()
 
virtual casacore::String name ()=0
 
virtual void makeFullJones (casacore::ImageInterface< casacore::Complex > &pbImage, const VisBuffer &vb, casacore::Bool doSquint, casacore::Int &bandID, casacore::Double freqVal)=0
 
virtual void applySky (casacore::ImageInterface< casacore::Float > &outputImages, const VisBuffer &vb, const casacore::Bool doSquint=true, const casacore::Int &cfKey=0, const casacore::Int &muellerTerm=0, const casacore::Double freqVal=-1.0)=0
 
virtual void applySky (casacore::ImageInterface< casacore::Complex > &outputImages, const VisBuffer &vb, const casacore::Bool doSquint=true, const casacore::Int &cfKey=0, const casacore::Int &muellerTerm=0, const casacore::Double freqVal=-1.0)=0
 
virtual void applySky (casacore::ImageInterface< casacore::Complex > &outImages, const casacore::Double &pa, const casacore::Bool doSquint, const casacore::Int &cfKey, const casacore::Int &muellerTerm, const casacore::Double freqVal)=0
 
virtual casacore::Int makePBPolnCoords (const VisBuffer &vb, const casacore::Int &convSize, const casacore::Int &convSampling, const casacore::CoordinateSystem &skyCoord, const casacore::Int &skyNx, const casacore::Int &skyNy, casacore::CoordinateSystem &feedCoord)
 Not sure if the following method is requried. More...
 
virtual casacore::Int makePBPolnCoords (const casacore::Vector< casacore::Int > &vbCorrTypes, const casacore::Int &convSize, const casacore::Int &convSampling, const casacore::CoordinateSystem &skyCoord, const casacore::Int &skyNx, const casacore::Int &skyNy, casacore::CoordinateSystem &feedCoord)
 
virtual casacore::Vector
< casacore::Int
vbRow2CFKeyMap (const VisBuffer &vb, casacore::Int &nUnique)
 Not sure if the following method is requried. More...
 
virtual void getPolMap (casacore::Vector< casacore::Int > &polMap)
 
virtual casacore::Vector
< casacore::Int
getAntTypeList ()
 
virtual casacore::Int getConvSize ()
 
virtual casacore::Int getOversampling ()
 
{

casacore::Int defaultConvSize=CONVSIZE; defaultConvSize= SynthesisUtils::getenv("CONVSIZE",CONVSIZE); if (envStr != "") { sscanf(envStr.c_str,"%d",&defaultConvSize); cerr << "ConvFuncSize set to " << defaultConvSize << endl; } return defaultConvSize; }; More...

 
virtual casacore::Float getConvWeightSizeFactor ()
 { casacore::Int defaultOverSampling=OVERSAMPLING; char *envStr; if ((envStr = getenv("OVERSAMPLING")) != NULL) { sscanf(envStr,"%d",&defaultOverSampling); cerr << "Oversampling set to " << defaultOverSampling << endl; } return defaultOverSampling; } More...
 
virtual casacore::Float getSupportThreshold ()
 
virtual void normalizeImage (casacore::Lattice< casacore::Complex > &skyImage, const casacore::Matrix< casacore::Float > &weights)
 virtual casacore::Vector<casacore::Int> vbRow2CFKeyMap(const VisBuffer& vb, casacore::Int& nUnique) = 0; virtual casacore::Int getConvSize() = 0; virtual casacore::Int getOversampling() = 0; virtual casacore::Float getConvWeightSizeFactor() = 0; virtual casacore::Float getSupportThreshold() = 0; More...
 
virtual void cacheVBInfo (const VisBuffer &vb)=0
 
virtual void cacheVBInfo (const casacore::String &telescopeName, const casacore::Float &diameter)=0
 
virtual casacore::Int getBandID (const casacore::Double &freq, const casacore::String &telescopeName, const casacore::String &bandName)=0
 
virtual int getVisParams (const VisBuffer &vb, const casacore::CoordinateSystem &skyCoord=casacore::CoordinateSystem())=0
 
virtual void setPolMap (const casacore::Vector< casacore::Int > &polMap)
 The mapping from VisBuffer polarizations map to the Image plane polarization. More...
 
virtual void rotate (const VisBuffer &vb, CFCell &cfc, const casacore::Double &rotAngleIncrement=5.0)=0
 virtual void rotate(const VisBuffer& vb, CFStore2& cfs)=0; More...
 
virtual void rotate2 (const VisBuffer &vb, CFCell &baseCFS, CFCell &cfc, const casacore::Double &rotAngleIncrement=5.0)=0
 
virtual casacore::Int mapAntIDToAntType (const casacore::Int &)
 
casacore::String getTelescopeName ()
 
virtual casacore::Bool rotationallySymmetric ()
 
- Public Member Functions inherited from casa::CFTerms
 CFTerms ()
 
virtual ~CFTerms ()
 
virtual void setOpCode (OpCodes code)
 
virtual casacore::Bool isNoOp ()
 

Protected Member Functions

casacore::LogIOlogIO ()
 
- Protected Member Functions inherited from casa::CFTerms
casacore::LogIOlogIO ()
 

Protected Attributes

casacore::LogIO logIO_p
 
casacore::Vector< casacore::IntpolMap_p_base
 
casacore::Int cachedOverSampling_p
 
casacore::Int cachedConvSize_p
 
casacore::Float Diameter_p
 
casacore::Float Nant_p
 
casacore::Float HPBW
 
casacore::Float sigma
 
casacore::String telescopeName_p
 
- Protected Attributes inherited from casa::CFTerms
casacore::LogIO logIO_p
 
casacore::Vector< casacore::IntpolMap_p_base
 
OpCodes opCode_p
 

Additional Inherited Members

- Public Types inherited from casa::CFTerms
enum  OpCodes {
  NOOP,
  NORMAL
}
 

Detailed Description

The base class to represent the Aperture-Term of the Measurement Equation.

Intended use:

Public interface

Etymology

A-Term to account for the effects of the antenna primary beam(s).

Synopsis

Definition at line 63 of file ATerm.h.

Constructor & Destructor Documentation

casa::ATerm::ATerm ( )
virtual casa::ATerm::~ATerm ( )
inlinevirtual

Definition at line 67 of file ATerm.h.

Member Function Documentation

virtual void casa::ATerm::applySky ( casacore::ImageInterface< casacore::Float > &  outputImages,
const VisBuffer vb,
const casacore::Bool  doSquint = true,
const casacore::Int cfKey = 0,
const casacore::Int muellerTerm = 0,
const casacore::Double  freqVal = -1.0 
)
pure virtual

Implements casa::CFTerms.

Implemented in casa::NoOpATerm, and casa::EVLAAperture.

virtual void casa::ATerm::applySky ( casacore::ImageInterface< casacore::Complex > &  outputImages,
const VisBuffer vb,
const casacore::Bool  doSquint = true,
const casacore::Int cfKey = 0,
const casacore::Int muellerTerm = 0,
const casacore::Double  freqVal = -1.0 
)
pure virtual

Implements casa::CFTerms.

Implemented in casa::NoOpATerm, and casa::EVLAAperture.

virtual void casa::ATerm::applySky ( casacore::ImageInterface< casacore::Complex > &  outImages,
const casacore::Double pa,
const casacore::Bool  doSquint,
const casacore::Int cfKey,
const casacore::Int muellerTerm,
const casacore::Double  freqVal 
)
pure virtual

Implemented in casa::NoOpATerm, and casa::EVLAAperture.

virtual void casa::ATerm::cacheVBInfo ( const VisBuffer vb)
pure virtual
virtual void casa::ATerm::cacheVBInfo ( const casacore::String telescopeName,
const casacore::Float diameter 
)
pure virtual
virtual casacore::Vector<casacore::Int> casa::ATerm::getAntTypeList ( )
inlinevirtual

Reimplemented in casa::NoOpATerm.

Definition at line 138 of file ATerm.h.

virtual casacore::Int casa::ATerm::getBandID ( const casacore::Double freq,
const casacore::String telescopeName,
const casacore::String bandName 
)
pure virtual

Implemented in casa::NoOpATerm, and casa::EVLAAperture.

virtual casacore::Int casa::ATerm::getConvSize ( )
virtual

Implements casa::CFTerms.

virtual casacore::Float casa::ATerm::getConvWeightSizeFactor ( )
inlinevirtual

{ casacore::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 casacore::Int casa::ATerm::getOversampling ( )
virtual

{

casacore::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 ( casacore::Vector< casacore::Int > &  polMap)
inlinevirtual

Reimplemented from casa::CFTerms.

Reimplemented in casa::NoOpATerm, casa::ALMAAperture, and casa::EVLAAperture.

Definition at line 137 of file ATerm.h.

References polMap_p_base, and casacore::Vector< T >::resize().

virtual casacore::Float casa::ATerm::getSupportThreshold ( )
inlinevirtual

Implements casa::CFTerms.

Reimplemented in casa::NoOpATerm.

Definition at line 163 of file ATerm.h.

References THRESHOLD.

casacore::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 casacore::CoordinateSystem skyCoord = casacore::CoordinateSystem() 
)
pure virtual
casacore::LogIO& casa::ATerm::logIO ( )
inlineprotected

Definition at line 199 of file ATerm.h.

References logIO_p.

virtual void casa::ATerm::makeFullJones ( casacore::ImageInterface< casacore::Complex > &  pbImage,
const VisBuffer vb,
casacore::Bool  doSquint,
casacore::Int bandID,
casacore::Double  freqVal 
)
pure virtual
virtual casacore::Int casa::ATerm::makePBPolnCoords ( const VisBuffer vb,
const casacore::Int convSize,
const casacore::Int convSampling,
const casacore::CoordinateSystem skyCoord,
const casacore::Int skyNx,
const casacore::Int skyNy,
casacore::CoordinateSystem feedCoord 
)
inlinevirtual

Not sure if the following method is requried.

Leaving it in the code for now with an implementation that does nothing.

virtual void applySky(casacore::Matrix<casacore::Complex>& screen, const casacore::Int wPixel, const casacore::Vector<casacore::Double>& sampling, const casacore::Int wConvSize, const casacore::Double wScale, const casacore::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 casacore::Int casa::ATerm::makePBPolnCoords ( const casacore::Vector< casacore::Int > &  vbCorrTypes,
const casacore::Int convSize,
const casacore::Int convSampling,
const casacore::CoordinateSystem skyCoord,
const casacore::Int skyNx,
const casacore::Int skyNy,
casacore::CoordinateSystem feedCoord 
)
virtual
virtual casacore::Int casa::ATerm::mapAntIDToAntType ( const casacore::Int )
inlinevirtual

Definition at line 194 of file ATerm.h.

virtual casacore::String casa::ATerm::name ( )
pure virtual
virtual void casa::ATerm::normalizeImage ( casacore::Lattice< casacore::Complex > &  skyImage,
const casacore::Matrix< casacore::Float > &  weights 
)
inlinevirtual

virtual casacore::Vector<casacore::Int> vbRow2CFKeyMap(const VisBuffer& vb, casacore::Int& nUnique) = 0; virtual casacore::Int getConvSize() = 0; virtual casacore::Int getOversampling() = 0; virtual casacore::Float getConvWeightSizeFactor() = 0; virtual casacore::Float getSupportThreshold() = 0;

Implements casa::CFTerms.

Reimplemented in casa::NoOpATerm.

Definition at line 171 of file ATerm.h.

virtual void casa::ATerm::rotate ( const VisBuffer vb,
CFCell cfc,
const casacore::Double rotAngleIncrement = 5.0 
)
pure virtual

virtual void rotate(const VisBuffer& vb, CFStore2& cfs)=0;

Implemented in casa::NoOpATerm, and casa::AzElAperture.

virtual void casa::ATerm::rotate2 ( const VisBuffer vb,
CFCell baseCFS,
CFCell cfc,
const casacore::Double rotAngleIncrement = 5.0 
)
pure virtual

Implemented in casa::NoOpATerm, and casa::AzElAperture.

virtual casacore::Bool casa::ATerm::rotationallySymmetric ( )
inlinevirtual

Implements casa::CFTerms.

Reimplemented in casa::NoOpATerm.

Definition at line 196 of file ATerm.h.

virtual void casa::ATerm::setPolMap ( const casacore::Vector< casacore::Int > &  polMap)
inlinevirtual

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::NoOpATerm, and casa::ALMAAperture.

Definition at line 190 of file ATerm.h.

References polMap_p_base, and casacore::Vector< T >::resize().

virtual casacore::Vector<casacore::Int> casa::ATerm::vbRow2CFKeyMap ( const VisBuffer vb,
casacore::Int nUnique 
)
inlinevirtual

Not sure if the following method is requried.

Leaving it in the code for now with an implementation that does nothing.

virtual void applySky(casacore::Matrix<casacore::Complex>& screen, const casacore::Int wPixel, const casacore::Vector<casacore::Double>& sampling, const casacore::Int wConvSize, const casacore::Double wScale, const casacore::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(), and casacore::Vector< T >::resize().

Member Data Documentation

casacore::Int casa::ATerm::cachedConvSize_p
protected

Definition at line 202 of file ATerm.h.

casacore::Int casa::ATerm::cachedOverSampling_p
protected

Definition at line 202 of file ATerm.h.

casacore::Float casa::ATerm::Diameter_p
protected

Definition at line 204 of file ATerm.h.

casacore::Float casa::ATerm::HPBW
protected

Definition at line 204 of file ATerm.h.

casacore::LogIO casa::ATerm::logIO_p
protected

Definition at line 200 of file ATerm.h.

Referenced by logIO().

casacore::Float casa::ATerm::Nant_p
protected

Definition at line 204 of file ATerm.h.

casacore::Vector<casacore::Int> casa::ATerm::polMap_p_base
protected

Definition at line 201 of file ATerm.h.

Referenced by getPolMap(), and setPolMap().

casacore::Float casa::ATerm::sigma
protected

Definition at line 204 of file ATerm.h.

casacore::String casa::ATerm::telescopeName_p
protected

Definition at line 205 of file ATerm.h.

Referenced by getTelescopeName().


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