casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
casa::refim::HetArrayConvFunc Class Reference

#include <HetArrayConvFunc.h>

Inheritance diagram for casa::refim::HetArrayConvFunc:
casa::refim::SimplePBConvFunc

Public Member Functions

 HetArrayConvFunc ()
 
 HetArrayConvFunc (const PBMathInterface::PBClass typeToUse, const casacore::String vpTable="")
 
 HetArrayConvFunc (const casacore::RecordInterface &rec, casacore::Bool calcFluxscale)
 Constructor from record if for prediction only no need to recover fluxscale. More...
 
virtual ~HetArrayConvFunc ()
 
virtual void findConvFunction (const casacore::ImageInterface< casacore::Complex > &iimage, const vi::VisBuffer2 &vb, const casacore::Int &convSampling, const casacore::Vector< casacore::Double > &visFreq, casacore::Array< casacore::Complex > &convFunc, casacore::Array< casacore::Complex > &weightConvFunc, casacore::Vector< casacore::Int > &convsize, casacore::Vector< casacore::Int > &convSupport, casacore::Vector< casacore::Int > &polMap, casacore::Vector< casacore::Int > &chanMap, casacore::Vector< casacore::Int > &rowMap, const casacore::Bool getConjConvFuncs=false, const casacore::MVDirection &extraShift=casacore::MVDirection(0.0), const casacore::Bool useExtraShift=casacore::False)
 Returns the convfunctions in the Arrays...the rowMap maps the vb.row to the plane of the convfunc appropriate...chanMap and polMap similarly. More...
 
virtual
casacore::ImageInterface
< casacore::Float > & 
getFluxScaleImage ()
 
virtual void sliceFluxScale (const casacore::Int npol)
 slice flux scale images More...
 
virtual casacore::Bool toRecord (casacore::RecordInterface &rec)
 Serialization. More...
 
virtual casacore::Bool fromRecord (casacore::String &err, const casacore::RecordInterface &rec, casacore::Bool calcFluxscale=false)
 From record set calcfluxneeded to true if flux scale need to be computed. More...
 
virtual void reset ()
 give possibility to erase history More...
 
virtual casacore::String name ()
 
- Public Member Functions inherited from casa::refim::SimplePBConvFunc
 SimplePBConvFunc ()
 
 SimplePBConvFunc (const PBMathInterface::PBClass typeToUse)
 
 SimplePBConvFunc (const casacore::RecordInterface &rec, casacore::Bool calcFlux_needed)
 
virtual ~SimplePBConvFunc ()
 
virtual void findConvFunction (const casacore::ImageInterface< casacore::Complex > &, const vi::VisBuffer2 &, const casacore::Int &, SkyJones &, casacore::Matrix< casacore::Complex > &, casacore::Matrix< casacore::Complex > &, casacore::Int &, casacore::Int &)
 Inputs are the image, visbuffer, convSampling and skyjones findconv return a cached convvolution function appropriate for this visbuffer and skyjones...this one should be superseded by the one below and call setSkyJones when necessary. More...
 
virtual void setWeightImage (casacore::CountedPtr< casacore::TempImage< casacore::Float > > &wgtimage)
 This is a function to just store the final weight image as FT machines will share this object...they can get share this too. More...
 
virtual void setSkyJones (SkyJones *sj)
 
virtual void setVBUtil (casacore::CountedPtr< VisBufferUtil > vbutil)
 
virtual casacore::CountedPtr
< VisBufferUtil
getVBUtil ()
 
casacore::Bool findSupport (casacore::Array< casacore::Complex > &, casacore::Float &, casacore::Int &, casacore::Int &)
 
virtual casacore::Bool makeAverageResponse (const vi::VisBuffer2 &, const casacore::ImageInterface< casacore::Complex > &, casacore::ImageInterface< casacore::Float > &, casacore::Bool)
 
void setUsePointing (casacore::Bool usepointing)
 

Private Member Functions

void applyGradientToYLine (const casacore::Int iy, casacore::Complex *&convFunctions, casacore::Complex *&convWeights, const casacore::Double pixXdir, const casacore::Double pixYdir, casacore::Int convSize, const casacore::Int ndishpair, const casacore::Int nchan, const casacore::Int nPol)
 
More...
 
void fillConjConvFunc (const casacore::Vector< casacore::Double > &beamFreqs)
 
casacore::Int conjSupport (const casacore::Vector< casacore::Double > &beamFreqs)
 
casacore::Int factorial (casacore::Int n)
 
casacore::Int checkPBOfField (const vi::VisBuffer2 &vb, casacore::Vector< casacore::Int > &rowMap, const casacore::MVDirection &extraShift=casacore::MVDirection(0.0), const casacore::Bool useExtraShift=casacore::False)
 
the return value are -1 or false for not in cache yet but pointing direction 

seems to be inside image 1 if value is cached..we have stopped caching..so it should not return this value 2 pointing is off image...thus valid but not useful More...

 
void findAntennaSizes (const vi::VisBuffer2 &vb)
 
void supportAndNormalize (casacore::Int plane, casacore::Int convSampling)
 
void supportAndNormalizeLatt (casacore::Int plane, casacore::Int convSampling, casacore::TempLattice< casacore::Complex > &convFuncLat, casacore::TempLattice< casacore::Complex > &weightConvFuncLat)
 
void init (const PBMathInterface::PBClass typeToUse)
 
void makerowmap (const vi::VisBuffer2 &vb, casacore::Vector< casacore::Int > &rowMap)
 
casacore::Float interpLanczos (const casacore::Double &x, const casacore::Double &y, const casacore::Double &nx, const casacore::Double &ny, const casacore::Float *data, const casacore::Float a=3)
 
casacore::Float sinc (const casacore::Float x)
 
casacore::Array
< casacore::Complex > 
resample (const casacore::Array< casacore::Complex > &inarray, const casacore::Double factor)
 
casacore::Matrix
< casacore::Complex > 
resample2 (const casacore::Matrix< casacore::Complex > &inarray, const casacore::Double factor)
 

Private Attributes

PBMathInterface::PBClass pbClass_p
 
casacore::Vector< casacore::Int64convFunctionMap_p
 std::map <casacore::String, casacore::Int> convFunctionMap_p; More...
 
casacore::Int64 nDefined_p
 
std::map< casacore::String,
casacore::Int
antDiam2IndexMap_p
 
casacore::Vector< casacore::IntantIndexToDiamIndex_p
 
casacore::Block
< casacore::CountedPtr
< PBMathInterface > > 
antMath_p
 
casacore::Int msId_p
 
casacore::Int actualConvIndex_p
 
casacore::Array
< casacore::Complex > 
convFunc_p
 
casacore::Array
< casacore::Complex > 
weightConvFunc_p
 
casacore::Array
< casacore::Complex > 
convSave_p
 
casacore::Array
< casacore::Complex > 
weightSave_p
 
casacore::Int convSize_p
 
casacore::String vpTable_p
 
casacore::Vector< casacore::IntconvSupport_p
 
casacore::Block
< casacore::CountedPtr
< casacore::Array
< casacore::Complex > > > 
convFunctions_p
 
casacore::Block
< casacore::CountedPtr
< casacore::Array
< casacore::Complex > > > 
convFunctionsConjFreq_p
 
casacore::Block
< casacore::CountedPtr
< casacore::Array
< casacore::Complex > > > 
convWeights_p
 
casacore::Block
< casacore::CountedPtr
< casacore::Vector
< casacore::Int > > > 
convSizes_p
 
casacore::Block
< casacore::CountedPtr
< casacore::Vector
< casacore::Int > > > 
convSupportBlock_p
 

Additional Inherited Members

- Protected Member Functions inherited from casa::refim::SimplePBConvFunc
virtual casacore::Int convIndex (const vi::VisBuffer2 &vb)
 
const casacore::MDirectionpointingDirAnt1 (const vi::VisBuffer2 &vb)
 
virtual void storeImageParams (const casacore::ImageInterface< casacore::Complex > &iimage, const vi::VisBuffer2 &vb)
 
virtual void findUsefulChannels (casacore::Vector< casacore::Int > &chanMap, casacore::Vector< casacore::Double > &chanFreqs, const vi::VisBuffer2 &vb, const casacore::Vector< casacore::Double > &visFreq)
 
virtual void toPix (const vi::VisBuffer2 &vb, const casacore::MVDirection &extraShift=casacore::MVDirection(0.0), const casacore::Bool useExtraShift=casacore::False)
 return the direction pixel corresponding to a direction More...
 
- Protected Attributes inherited from casa::refim::SimplePBConvFunc
SkyJonessj_p
 
casacore::TempImage
< casacore::Float
fluxScale_p
 
casacore::Int nx_p
 
casacore::Int ny_p
 
casacore::Int nchan_p
 
casacore::Int npol_p
 
casacore::CoordinateSystem csys_p
 
casacore::DirectionCoordinate dc_p
 
casacore::MDirection::Convert pointToPix_p
 
casacore::MeasFrame pointFrame_p
 
casacore::MEpoch::Types timeMType_p
 
casacore::Unit timeUnit_p
 
casacore::Int directionIndex_p
 
casacore::MDirection direction1_p
 
casacore::MDirection direction2_p
 
casacore::Vector
< casacore::Double
thePix_p
 
casacore::Bool filledFluxScale_p
 
casacore::Vector< casacore::BooldoneMainConv_p
 
casacore::Bool calcFluxScale_p
 
std::map< casacore::String,
casacore::Int
vbConvIndex_p
 
std::map< casacore::String,
casacore::Int
ant1PointVal_p
 
casacore::Vector
< casacore::MDirection
ant1PointingCache_p
 
FFT2D ft_p
 
casacore::CountedPtr
< casacore::TempImage
< casacore::Float > > 
convWeightImage_p
 
casacore::String bandName_p
 
casacore::CountedPtr
< VisBufferUtil
vbutil_p
 
casacore::Bool usePointingTable_p
 

Detailed Description

Definition at line 62 of file HetArrayConvFunc.h.

Constructor & Destructor Documentation

casa::refim::HetArrayConvFunc::HetArrayConvFunc ( )
casa::refim::HetArrayConvFunc::HetArrayConvFunc ( const PBMathInterface::PBClass  typeToUse,
const casacore::String  vpTable = "" 
)
casa::refim::HetArrayConvFunc::HetArrayConvFunc ( const casacore::RecordInterface rec,
casacore::Bool  calcFluxscale 
)

Constructor from record if for prediction only no need to recover fluxscale.

virtual casa::refim::HetArrayConvFunc::~HetArrayConvFunc ( )
virtual

Member Function Documentation

void casa::refim::HetArrayConvFunc::applyGradientToYLine ( const casacore::Int  iy,
casacore::Complex *&  convFunctions,
casacore::Complex *&  convWeights,
const casacore::Double  pixXdir,
const casacore::Double  pixYdir,
casacore::Int  convSize,
const casacore::Int  ndishpair,
const casacore::Int  nchan,
const casacore::Int  nPol 
)
private


casacore::Int casa::refim::HetArrayConvFunc::checkPBOfField ( const vi::VisBuffer2 vb,
casacore::Vector< casacore::Int > &  rowMap,
const casacore::MVDirection extraShift = casacore::MVDirection(0.0),
const casacore::Bool  useExtraShift = casacore::False 
)
private

the return value are -1 or false for not in cache yet but pointing direction 

seems to be inside image 1 if value is cached..we have stopped caching..so it should not return this value 2 pointing is off image...thus valid but not useful

casacore::Int casa::refim::HetArrayConvFunc::conjSupport ( const casacore::Vector< casacore::Double > &  beamFreqs)
private
casacore::Int casa::refim::HetArrayConvFunc::factorial ( casacore::Int  n)
private
void casa::refim::HetArrayConvFunc::fillConjConvFunc ( const casacore::Vector< casacore::Double > &  beamFreqs)
private
void casa::refim::HetArrayConvFunc::findAntennaSizes ( const vi::VisBuffer2 vb)
private
virtual void casa::refim::HetArrayConvFunc::findConvFunction ( const casacore::ImageInterface< casacore::Complex > &  iimage,
const vi::VisBuffer2 vb,
const casacore::Int convSampling,
const casacore::Vector< casacore::Double > &  visFreq,
casacore::Array< casacore::Complex > &  convFunc,
casacore::Array< casacore::Complex > &  weightConvFunc,
casacore::Vector< casacore::Int > &  convsize,
casacore::Vector< casacore::Int > &  convSupport,
casacore::Vector< casacore::Int > &  polMap,
casacore::Vector< casacore::Int > &  chanMap,
casacore::Vector< casacore::Int > &  rowMap,
const casacore::Bool  getConjConvFuncs = false,
const casacore::MVDirection extraShift = casacore::MVDirection(0.0),
const casacore::Bool  useExtraShift = casacore::False 
)
virtual

Returns the convfunctions in the Arrays...the rowMap maps the vb.row to the plane of the convfunc appropriate...chanMap and polMap similarly.

Reimplemented from casa::refim::SimplePBConvFunc.

virtual casacore::Bool casa::refim::HetArrayConvFunc::fromRecord ( casacore::String err,
const casacore::RecordInterface rec,
casacore::Bool  calcFluxneeded = false 
)
virtual

From record set calcfluxneeded to true if flux scale need to be computed.

Reimplemented from casa::refim::SimplePBConvFunc.

virtual casacore::ImageInterface<casacore::Float>& casa::refim::HetArrayConvFunc::getFluxScaleImage ( )
virtual

Reimplemented from casa::refim::SimplePBConvFunc.

void casa::refim::HetArrayConvFunc::init ( const PBMathInterface::PBClass  typeToUse)
private
casacore::Float casa::refim::HetArrayConvFunc::interpLanczos ( const casacore::Double x,
const casacore::Double y,
const casacore::Double nx,
const casacore::Double ny,
const casacore::Float data,
const casacore::Float  a = 3 
)
private
void casa::refim::HetArrayConvFunc::makerowmap ( const vi::VisBuffer2 vb,
casacore::Vector< casacore::Int > &  rowMap 
)
private
virtual casacore::String casa::refim::HetArrayConvFunc::name ( )
inlinevirtual

Reimplemented from casa::refim::SimplePBConvFunc.

Definition at line 97 of file HetArrayConvFunc.h.

casacore::Array<casacore::Complex> casa::refim::HetArrayConvFunc::resample ( const casacore::Array< casacore::Complex > &  inarray,
const casacore::Double  factor 
)
private
casacore::Matrix<casacore::Complex> casa::refim::HetArrayConvFunc::resample2 ( const casacore::Matrix< casacore::Complex > &  inarray,
const casacore::Double  factor 
)
private
virtual void casa::refim::HetArrayConvFunc::reset ( )
virtual

give possibility to erase history

Reimplemented from casa::refim::SimplePBConvFunc.

casacore::Float casa::refim::HetArrayConvFunc::sinc ( const casacore::Float  x)
private
virtual void casa::refim::HetArrayConvFunc::sliceFluxScale ( const casacore::Int  npol)
virtual

slice flux scale images

Reimplemented from casa::refim::SimplePBConvFunc.

void casa::refim::HetArrayConvFunc::supportAndNormalize ( casacore::Int  plane,
casacore::Int  convSampling 
)
private
void casa::refim::HetArrayConvFunc::supportAndNormalizeLatt ( casacore::Int  plane,
casacore::Int  convSampling,
casacore::TempLattice< casacore::Complex > &  convFuncLat,
casacore::TempLattice< casacore::Complex > &  weightConvFuncLat 
)
private
virtual casacore::Bool casa::refim::HetArrayConvFunc::toRecord ( casacore::RecordInterface rec)
virtual

Serialization.

Reimplemented from casa::refim::SimplePBConvFunc.

Member Data Documentation

casacore::Int casa::refim::HetArrayConvFunc::actualConvIndex_p
private

Definition at line 130 of file HetArrayConvFunc.h.

std::map<casacore::String, casacore::Int> casa::refim::HetArrayConvFunc::antDiam2IndexMap_p
private

Definition at line 126 of file HetArrayConvFunc.h.

casacore::Vector<casacore::Int> casa::refim::HetArrayConvFunc::antIndexToDiamIndex_p
private

Definition at line 127 of file HetArrayConvFunc.h.

casacore::Block<casacore::CountedPtr<PBMathInterface> > casa::refim::HetArrayConvFunc::antMath_p
private

Definition at line 128 of file HetArrayConvFunc.h.

casacore::Array<casacore::Complex> casa::refim::HetArrayConvFunc::convFunc_p
private

Definition at line 131 of file HetArrayConvFunc.h.

casacore::Vector<casacore::Int64> casa::refim::HetArrayConvFunc::convFunctionMap_p
private

std::map <casacore::String, casacore::Int> convFunctionMap_p;

Definition at line 124 of file HetArrayConvFunc.h.

casacore::Block<casacore::CountedPtr<casacore::Array<casacore::Complex> > > casa::refim::HetArrayConvFunc::convFunctions_p
private

Definition at line 138 of file HetArrayConvFunc.h.

casacore::Block< casacore::CountedPtr<casacore::Array<casacore::Complex> > > casa::refim::HetArrayConvFunc::convFunctionsConjFreq_p
private

Definition at line 139 of file HetArrayConvFunc.h.

casacore::Array<casacore::Complex> casa::refim::HetArrayConvFunc::convSave_p
private

Definition at line 133 of file HetArrayConvFunc.h.

casacore::Int casa::refim::HetArrayConvFunc::convSize_p
private

Definition at line 135 of file HetArrayConvFunc.h.

casacore::Block<casacore::CountedPtr<casacore::Vector<casacore::Int> > > casa::refim::HetArrayConvFunc::convSizes_p
private

Definition at line 141 of file HetArrayConvFunc.h.

casacore::Vector<casacore::Int> casa::refim::HetArrayConvFunc::convSupport_p
private

Definition at line 137 of file HetArrayConvFunc.h.

casacore::Block<casacore::CountedPtr<casacore::Vector<casacore::Int> > > casa::refim::HetArrayConvFunc::convSupportBlock_p
private

Definition at line 142 of file HetArrayConvFunc.h.

casacore::Block<casacore::CountedPtr<casacore::Array<casacore::Complex> > > casa::refim::HetArrayConvFunc::convWeights_p
private

Definition at line 140 of file HetArrayConvFunc.h.

casacore::Int casa::refim::HetArrayConvFunc::msId_p
private

Definition at line 129 of file HetArrayConvFunc.h.

casacore::Int64 casa::refim::HetArrayConvFunc::nDefined_p
private

Definition at line 125 of file HetArrayConvFunc.h.

PBMathInterface::PBClass casa::refim::HetArrayConvFunc::pbClass_p
private

Definition at line 122 of file HetArrayConvFunc.h.

casacore::String casa::refim::HetArrayConvFunc::vpTable_p
private

Definition at line 136 of file HetArrayConvFunc.h.

casacore::Array<casacore::Complex> casa::refim::HetArrayConvFunc::weightConvFunc_p
private

Definition at line 132 of file HetArrayConvFunc.h.

casacore::Array<casacore::Complex> casa::refim::HetArrayConvFunc::weightSave_p
private

Definition at line 134 of file HetArrayConvFunc.h.


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