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::refim::ATerm Class Referenceabstract

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

#include <ATerm.h>

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

Public Member Functions

 ATerm ()
 
virtual ~ATerm ()
 
virtual casacore::String name ()=0
 
virtual void makeFullJones (casacore::ImageInterface< casacore::Complex > &pbImage, const VisBuffer2 &vb, casacore::Bool doSquint, casacore::Int &bandID, casacore::Double freqVal)=0
 
virtual void applySky (casacore::ImageInterface< casacore::Float > &outputImages, const VisBuffer2 &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 VisBuffer2 &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 VisBuffer2 &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 VisBuffer2 &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 void setConvSize (const casacore::Int convSize)
 
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 VisBuffer2& 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 VisBuffer2 &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 VisBuffer2 &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 VisBuffer2 &vb, CFCell &cfc, const casacore::Double &rotAngleIncrement=5.0)=0
 virtual void rotate(const VisBuffer2& vb, CFStore2& cfs)=0; More...
 
virtual void rotate2 (const VisBuffer2 &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::refim::CFTerms
 CFTerms ()
 
virtual ~CFTerms ()
 
virtual void setOpCode (OpCodes code)
 
virtual casacore::Bool isNoOp ()
 
void setBandName (const casacore::String &bandName)
 
casacore::StringgetBandName ()
 

Protected Member Functions

casacore::LogIOlogIO ()
 
- Protected Member Functions inherited from casa::refim::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
 
- Protected Attributes inherited from casa::refim::CFTerms
casacore::LogIO logIO_p
 
casacore::Vector< casacore::IntpolMap_p_base
 
OpCodes opCode_p
 
casacore::String telescopeName_p
 
casacore::String bandName_p
 

Additional Inherited Members

- Public Types inherited from casa::refim::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 65 of file ATerm.h.

Constructor & Destructor Documentation

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

Definition at line 69 of file ATerm.h.

Member Function Documentation

virtual void casa::refim::ATerm::applySky ( casacore::ImageInterface< casacore::Float > &  outputImages,
const VisBuffer2 vb,
const casacore::Bool  doSquint = true,
const casacore::Int cfKey = 0,
const casacore::Int muellerTerm = 0,
const casacore::Double  freqVal = -1.0 
)
pure virtual
virtual void casa::refim::ATerm::applySky ( casacore::ImageInterface< casacore::Complex > &  outputImages,
const VisBuffer2 vb,
const casacore::Bool  doSquint = true,
const casacore::Int cfKey = 0,
const casacore::Int muellerTerm = 0,
const casacore::Double  freqVal = -1.0 
)
pure virtual
virtual void casa::refim::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
virtual void casa::refim::ATerm::cacheVBInfo ( const VisBuffer2 vb)
pure virtual
virtual void casa::refim::ATerm::cacheVBInfo ( const casacore::String telescopeName,
const casacore::Float diameter 
)
pure virtual
virtual casacore::Vector<casacore::Int> casa::refim::ATerm::getAntTypeList ( )
inlinevirtual

Reimplemented in casa::refim::NoOpATerm.

Definition at line 141 of file ATerm.h.

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

Implements casa::refim::CFTerms.

Definition at line 144 of file ATerm.h.

virtual casacore::Float casa::refim::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::refim::CFTerms.

Definition at line 167 of file ATerm.h.

References CONVWTSIZEFACTOR.

virtual casacore::Int casa::refim::ATerm::getOversampling ( )
inlinevirtual

{

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::refim::CFTerms.

Definition at line 156 of file ATerm.h.

virtual void casa::refim::ATerm::getPolMap ( casacore::Vector< casacore::Int > &  polMap)
inlinevirtual

Reimplemented from casa::refim::CFTerms.

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

Definition at line 140 of file ATerm.h.

References casacore::Vector< T >::resize().

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

Implements casa::refim::CFTerms.

Reimplemented in casa::refim::NoOpATerm.

Definition at line 168 of file ATerm.h.

References THRESHOLD.

casacore::String casa::refim::ATerm::getTelescopeName ( )
inline

Definition at line 200 of file ATerm.h.

virtual int casa::refim::ATerm::getVisParams ( const VisBuffer2 vb,
const casacore::CoordinateSystem skyCoord = casacore::CoordinateSystem() 
)
pure virtual
casacore::LogIO& casa::refim::ATerm::logIO ( )
inlineprotected

Definition at line 204 of file ATerm.h.

virtual void casa::refim::ATerm::makeFullJones ( casacore::ImageInterface< casacore::Complex > &  pbImage,
const VisBuffer2 vb,
casacore::Bool  doSquint,
casacore::Int bandID,
casacore::Double  freqVal 
)
pure virtual
virtual casacore::Int casa::refim::ATerm::makePBPolnCoords ( const VisBuffer2 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.

return makePBPolnCoords(vb.corrType(), convSize, convSampling, skyCoord,

Implements casa::refim::CFTerms.

Reimplemented in casa::refim::EVLAAperture.

Definition at line 118 of file ATerm.h.

References casa::vi::VisBuffer2::correlationTypes().

virtual casacore::Int casa::refim::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::refim::ATerm::mapAntIDToAntType ( const casacore::Int )
inlinevirtual

Definition at line 199 of file ATerm.h.

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

virtual casacore::Vector<casacore::Int> vbRow2CFKeyMap(const VisBuffer2& 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::refim::CFTerms.

Reimplemented in casa::refim::NoOpATerm.

Definition at line 176 of file ATerm.h.

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

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

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

virtual void casa::refim::ATerm::rotate2 ( const VisBuffer2 vb,
CFCell baseCFS,
CFCell cfc,
const casacore::Double rotAngleIncrement = 5.0 
)
pure virtual
virtual casacore::Bool casa::refim::ATerm::rotationallySymmetric ( )
inlinevirtual

Implements casa::refim::CFTerms.

Reimplemented in casa::refim::NoOpATerm.

Definition at line 201 of file ATerm.h.

virtual void casa::refim::ATerm::setConvSize ( const casacore::Int  convSize)
inlinevirtual

Implements casa::refim::CFTerms.

Definition at line 143 of file ATerm.h.

virtual void casa::refim::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::refim::CFTerms.

Reimplemented in casa::refim::NoOpATerm.

Definition at line 195 of file ATerm.h.

virtual casacore::Vector<casacore::Int> casa::refim::ATerm::vbRow2CFKeyMap ( const VisBuffer2 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::refim::CFTerms.

Reimplemented in casa::refim::EVLAAperture.

Definition at line 137 of file ATerm.h.

References casa::vi::VisBuffer2::nRows(), and casacore::Vector< T >::resize().

Member Data Documentation

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

Definition at line 207 of file ATerm.h.

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

Definition at line 207 of file ATerm.h.

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

Definition at line 209 of file ATerm.h.

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

Definition at line 209 of file ATerm.h.

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

Definition at line 205 of file ATerm.h.

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

Definition at line 209 of file ATerm.h.

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

Definition at line 206 of file ATerm.h.

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

Definition at line 209 of file ATerm.h.


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