casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
casa::VisibilityResamplerBase Class Reference

#include <VisibilityResamplerBase.h>

Inheritance diagram for casa::VisibilityResamplerBase:
casa::MultiThreadedVisibilityResampler casa::VisibilityResampler casa::AWVisResampler

List of all members.

Public Member Functions

 VisibilityResamplerBase ()
 VisibilityResamplerBase (const VisibilityResamplerBase &other)
 VisibilityResamplerBase(const CFStore& cfs): uvwScale_p(), offset_p(), chanMap_p(), polMap_p(), convFuncStore_p(), inc_p(), cfMap_p(), conjCFMap_p() {setConvFunc(cfs);};.
virtual ~VisibilityResamplerBase ()
VisibilityResamplerBaseoperator= (const VisibilityResamplerBase &other)
virtual VisibilityResamplerBaseclone ()=0
virtual void copy (const VisibilityResamplerBase &other)
virtual void setParams (const Vector< Double > &uvwScale, const Vector< Double > &offset, const Vector< Double > &dphase)=0
virtual void setMaps (const Vector< Int > &chanMap, const Vector< Int > &polMap)=0
virtual void setCFMaps (const Vector< Int > &cfMap, const Vector< Int > &conjCFMap)=0
virtual void setFreqMaps (const Matrix< Double > &spwChanFreqs, const Matrix< Double > &spwnChanConjFreqs)=0
virtual void setConvFunc (const CFStore &cfs)=0
virtual void DataToGrid (Array< DComplex > &griddedData, VBStore &vbs, Matrix< Double > &sumwt, const Bool &dopsf, Bool useConjFreqCF=False)=0
 

virtual void DataToGrid (Array< Complex > &griddedData, VBStore &vbs, Matrix< Double > &sumwt, const Bool &dopsf, Bool useConjFreqCF=False)=0
virtual void GridToData (VBStore &vbs, const Array< Complex > &griddedData)=0
 

virtual void ComputeResiduals (VBStore &vbs)=0
 virtual void GridToData(VBStore& vbs, Array<Complex>& griddedData);
virtual void init (const Bool &doublePrecision)=0
 Forward looking genealogical baggage -- required for the MultiThreadedVisibilityResampler.
virtual void GatherGrids (Array< DComplex > &griddedData, Matrix< Double > &sumwt)=0
virtual void GatherGrids (Array< Complex > &griddedData, Matrix< Double > &sumwt)=0
virtual void initializePutBuffers (const Array< DComplex > &griddedData, const Matrix< Double > &sumwt)=0
virtual void initializePutBuffers (const Array< Complex > &griddedData, const Matrix< Double > &sumwt)=0
void finalizeToSky (Array< DComplex > &griddedData, Matrix< Double > &sumwt)
 Aliases for more readable code at the FTMachine layer.
void finalizeToSky (Array< Complex > &griddedData, Matrix< Double > &sumwt)
void initializeToSky (const Array< DComplex > &griddedData, const Matrix< Double > &sumwt)
void initializeToSky (const Array< Complex > &griddedData, const Matrix< Double > &sumwt)
const Vector< IntgetCFMap ()
const Vector< IntgetConjCFMap ()
virtual void releaseBuffers ()=0
VBRow2CFMapTypegetVBRow2CFMap ()
VBRow2CFBMapTypegetVBRow2CFBMap ()
virtual Int makeVBRow2CFMap (CFStore2 &cfs, ConvolutionFunction &cf, const VisBuffer &vb, const Quantity &dPA, const Vector< Int > &dataChan2ImChanMap, const Vector< Int > &dataPol2ImPolMap, const Vector< Double > &pointingOffset)

Public Attributes

Double runTimeG_p
Double runTimeDG_p
Double runTimeG1_p
Double runTimeG2_p
Double runTimeG3_p
Double runTimeG4_p
Double runTimeG5_p
Double runTimeG6_p
Double runTimeG7_p
Timer timer_p

Protected Member Functions

void sgrid (Int &ndim, Double *__restrict__ pos, Int *__restrict__ loc, Int *__restrict__ off, Complex &phasor, const Int &irow, const Double *__restrict__ uvw, const Double &dphase, const Double &freq, const Double *__restrict__ scale, const Double *__restrict__ offset, const Float *__restrict__ sampling)
Bool onGrid (const Int &nx, const Int &ny, const Vector< Int > &__restrict__ loc, const Vector< Int > &__restrict__ support) __restrict__
Bool onGrid (const Int &nx, const Int &ny, const Int &loc0, const Int &loc1, const Int &support) __restrict__
void cacheAxisIncrements (const Int &n0, const Int &n1, const Int &n2, const Int &n3)
 Array assignment operator in CASACore requires lhs.nelements() == 0 or lhs.nelements()=rhs.nelements() template <class t>=""> inline void SETVEC(Vector<T>& lhs, const Vector<T>& rhs) {lhs.resize(rhs.shape()); lhs = rhs;};.
void cacheAxisIncrements (const Vector< Int > &n)
void cacheAxisIncrements (const Vector< Int > &n, Vector< Int > &inc)
void addTo4DArray (DComplex *__restrict__ &store, Int *__restrict__ &iPos, Complex &nvalue, Double &wt) __restrict__
 Version that use internally cached inc_p template <class t>="">
void addTo4DArray (Complex *__restrict__ &store, Int *__restrict__ &iPos, Complex &nvalue, Double &wt) __restrict__
void addTo4DArray (DComplex *__restrict__ &store, Int *__restrict__ &iPos, Int *__restrict__ inc, Complex &nvalue, Double &wt) __restrict__
 Version where inc_p is supplied from outside.
void addTo4DArray (Complex *__restrict__ &store, Int *__restrict__ &iPos, Int *__restrict__ inc, Complex &nvalue, Double &wt) __restrict__
Complex getFrom4DArray (const Complex *__restrict__ &store, const Int *__restrict__ &iPos, const Vector< Int > &inc)
 restrict
Complex getFrom4DArray (const Complex *__restrict__ &store, const Vector< Int > iPos, const Vector< Int > &inc)
 restrict
DComplex getFrom4DArray (const DComplex *__restrict__ &store, const Int *__restrict__ &iPos, const Vector< Int > &inc)
 restrict
DComplex getFrom4DArray (const DComplex *__restrict__ &store, const Vector< Int > iPos, const Vector< Int > &inc)
 restrict
Complex getFrom4DArray (const Complex *__restrict__ &store, const Int *__restrict__ &iPos)
 The following two methods are called in the innermost loop.
DComplex getFrom4DArray (const DComplex *__restrict__ &store, const Int *__restrict__ &iPos)
 restrict

Protected Attributes

Vector< DoubleuvwScale_p
 

----------------------------Private parts-------------------------------------


Vector< Doubleoffset_p
Vector< Doubledphase_p
Vector< IntchanMap_p
Vector< IntpolMap_p
Matrix< DoublespwChanFreq_p
Matrix< DoublespwChanConjFreq_p
CFStore convFuncStore_p
Vector< Intinc_p
 Int inc0_p, inc1_p, inc2_p, inc3_p;.
Int *__restrict__ incPtr_p
Vector< IntcfMap_p
Vector< IntconjCFMap_p
VBRow2CFMapType vbRow2CFMap_p
VBRow2CFBMapType vbRow2CFBMap_p

Detailed Description

Definition at line 48 of file VisibilityResamplerBase.h.


Constructor & Destructor Documentation

Definition at line 51 of file VisibilityResamplerBase.h.

VisibilityResamplerBase(const CFStore& cfs): uvwScale_p(), offset_p(), chanMap_p(), polMap_p(), convFuncStore_p(), inc_p(), cfMap_p(), conjCFMap_p() {setConvFunc(cfs);};.

Definition at line 61 of file VisibilityResamplerBase.h.

References copy().

Definition at line 66 of file VisibilityResamplerBase.h.


Member Function Documentation

void casa::VisibilityResamplerBase::addTo4DArray ( DComplex *__restrict__ &  store,
Int *__restrict__ &  iPos,
Complex &  nvalue,
Double wt 
) [inline, protected]

Version that use internally cached inc_p template <class t>="">

Definition at line 220 of file VisibilityResamplerBase.h.

References addTo4DArray(), and incPtr_p.

Referenced by addTo4DArray().

void casa::VisibilityResamplerBase::addTo4DArray ( Complex *__restrict__ &  store,
Int *__restrict__ &  iPos,
Complex &  nvalue,
Double wt 
) [inline, protected]

Definition at line 224 of file VisibilityResamplerBase.h.

References addTo4DArray(), and incPtr_p.

Referenced by addTo4DArray().

void casa::VisibilityResamplerBase::addTo4DArray ( DComplex *__restrict__ &  store,
Int *__restrict__ &  iPos,
Int *__restrict__  inc,
Complex &  nvalue,
Double wt 
) [inline, protected]

Version where inc_p is supplied from outside.

Definition at line 230 of file VisibilityResamplerBase.h.

void casa::VisibilityResamplerBase::addTo4DArray ( Complex *__restrict__ &  store,
Int *__restrict__ &  iPos,
Int *__restrict__  inc,
Complex &  nvalue,
Double wt 
) [inline, protected]

Definition at line 234 of file VisibilityResamplerBase.h.

void casa::VisibilityResamplerBase::cacheAxisIncrements ( const Int n0,
const Int n1,
const Int n2,
const Int n3 
) [inline, protected]

Array assignment operator in CASACore requires lhs.nelements() == 0 or lhs.nelements()=rhs.nelements() template <class t>=""> inline void SETVEC(Vector<T>& lhs, const Vector<T>& rhs) {lhs.resize(rhs.shape()); lhs = rhs;};.

   ===============================================================================

CASACORE-LEVEL MATERIAL

Internal methods to address a 4D array. These should ulimately moved to a Array4D class in CASACore

This is called less frequently. Currently once per VisBuffer

inc0_p=1, inc1_p=inc0_p*n0, inc2_p=inc1_p*n1, inc3_p=inc2_p*n2;(void)n3;

Definition at line 204 of file VisibilityResamplerBase.h.

References casa::Array< T >::getStorage(), inc_p, incPtr_p, and casa::Vector< T >::resize().

void casa::VisibilityResamplerBase::cacheAxisIncrements ( const Vector< Int > &  n) [inline, protected]

Definition at line 212 of file VisibilityResamplerBase.h.

References cacheAxisIncrements().

Referenced by cacheAxisIncrements().

void casa::VisibilityResamplerBase::cacheAxisIncrements ( const Vector< Int > &  n,
Vector< Int > &  inc 
) [inline, protected]

Definition at line 215 of file VisibilityResamplerBase.h.

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

virtual void casa::VisibilityResamplerBase::ComputeResiduals ( VBStore vbs) [pure virtual]

virtual void GridToData(VBStore& vbs, Array<Complex>& griddedData);

Implemented in casa::MultiThreadedVisibilityResampler, and casa::VisibilityResampler.

virtual void casa::VisibilityResamplerBase::copy ( const VisibilityResamplerBase other) [virtual]
virtual void casa::VisibilityResamplerBase::DataToGrid ( Array< DComplex > &  griddedData,
VBStore vbs,
Matrix< Double > &  sumwt,
const Bool dopsf,
Bool  useConjFreqCF = False 
) [pure virtual]


Re-sample the griddedData on the VisBuffer (a.k.a gridding).

In this class, these just call the private templated version. The first variant grids onto a double precision grid while the second one does it on a single precision grid.

Implemented in casa::MultiThreadedVisibilityResampler, casa::AWVisResampler, and casa::VisibilityResampler.

virtual void casa::VisibilityResamplerBase::DataToGrid ( Array< Complex > &  griddedData,
VBStore vbs,
Matrix< Double > &  sumwt,
const Bool dopsf,
Bool  useConjFreqCF = False 
) [pure virtual]
void casa::VisibilityResamplerBase::finalizeToSky ( Array< DComplex > &  griddedData,
Matrix< Double > &  sumwt 
) [inline]

Aliases for more readable code at the FTMachine layer.

Definition at line 120 of file VisibilityResamplerBase.h.

References GatherGrids().

void casa::VisibilityResamplerBase::finalizeToSky ( Array< Complex > &  griddedData,
Matrix< Double > &  sumwt 
) [inline]

Definition at line 122 of file VisibilityResamplerBase.h.

References GatherGrids().

virtual void casa::VisibilityResamplerBase::GatherGrids ( Array< DComplex > &  griddedData,
Matrix< Double > &  sumwt 
) [pure virtual]
virtual void casa::VisibilityResamplerBase::GatherGrids ( Array< Complex > &  griddedData,
Matrix< Double > &  sumwt 
) [pure virtual]

Definition at line 128 of file VisibilityResamplerBase.h.

References cfMap_p.

Definition at line 129 of file VisibilityResamplerBase.h.

References conjCFMap_p.

Complex casa::VisibilityResamplerBase::getFrom4DArray ( const Complex *__restrict__ &  store,
const Int *__restrict__ &  iPos,
const Vector< Int > &  inc 
) [inline, protected]

restrict

Definition at line 239 of file VisibilityResamplerBase.h.

Complex casa::VisibilityResamplerBase::getFrom4DArray ( const Complex *__restrict__ &  store,
const Vector< Int iPos,
const Vector< Int > &  inc 
) [inline, protected]

restrict

Definition at line 245 of file VisibilityResamplerBase.h.

DComplex casa::VisibilityResamplerBase::getFrom4DArray ( const DComplex *__restrict__ &  store,
const Int *__restrict__ &  iPos,
const Vector< Int > &  inc 
) [inline, protected]

restrict

Definition at line 250 of file VisibilityResamplerBase.h.

DComplex casa::VisibilityResamplerBase::getFrom4DArray ( const DComplex *__restrict__ &  store,
const Vector< Int iPos,
const Vector< Int > &  inc 
) [inline, protected]

restrict

Definition at line 256 of file VisibilityResamplerBase.h.

Complex casa::VisibilityResamplerBase::getFrom4DArray ( const Complex *__restrict__ &  store,
const Int *__restrict__ &  iPos 
) [inline, protected]

The following two methods are called in the innermost loop.

restrict

Definition at line 263 of file VisibilityResamplerBase.h.

References getFrom4DArray(), and inc_p.

Referenced by getFrom4DArray().

DComplex casa::VisibilityResamplerBase::getFrom4DArray ( const DComplex *__restrict__ &  store,
const Int *__restrict__ &  iPos 
) [inline, protected]

restrict

Definition at line 267 of file VisibilityResamplerBase.h.

References getFrom4DArray(), and inc_p.

Referenced by getFrom4DArray().

Definition at line 134 of file VisibilityResamplerBase.h.

References vbRow2CFBMap_p.

Definition at line 133 of file VisibilityResamplerBase.h.

References vbRow2CFMap_p.

virtual void casa::VisibilityResamplerBase::GridToData ( VBStore vbs,
const Array< Complex > &  griddedData 
) [pure virtual]


Re-sample VisBuffer to a regular grid (griddedData) (a.k.a. de-gridding)

Implemented in casa::MultiThreadedVisibilityResampler, casa::AWVisResampler, and casa::VisibilityResampler.

virtual void casa::VisibilityResamplerBase::init ( const Bool doublePrecision) [pure virtual]

Forward looking genealogical baggage -- required for the MultiThreadedVisibilityResampler.

Implemented in casa::VisibilityResampler, and casa::MultiThreadedVisibilityResampler.

virtual void casa::VisibilityResamplerBase::initializePutBuffers ( const Array< DComplex > &  griddedData,
const Matrix< Double > &  sumwt 
) [pure virtual]
virtual void casa::VisibilityResamplerBase::initializePutBuffers ( const Array< Complex > &  griddedData,
const Matrix< Double > &  sumwt 
) [pure virtual]
void casa::VisibilityResamplerBase::initializeToSky ( const Array< DComplex > &  griddedData,
const Matrix< Double > &  sumwt 
) [inline]

Definition at line 124 of file VisibilityResamplerBase.h.

References initializePutBuffers().

void casa::VisibilityResamplerBase::initializeToSky ( const Array< Complex > &  griddedData,
const Matrix< Double > &  sumwt 
) [inline]

Definition at line 126 of file VisibilityResamplerBase.h.

References initializePutBuffers().

virtual Int casa::VisibilityResamplerBase::makeVBRow2CFMap ( CFStore2 cfs,
ConvolutionFunction cf,
const VisBuffer vb,
const Quantity dPA,
const Vector< Int > &  dataChan2ImChanMap,
const Vector< Int > &  dataPol2ImPolMap,
const Vector< Double > &  pointingOffset 
) [virtual]
Bool casa::VisibilityResamplerBase::onGrid ( const Int nx,
const Int ny,
const Vector< Int > &__restrict__  loc,
const Vector< Int > &__restrict__  support 
) [inline, protected]

Definition at line 174 of file VisibilityResamplerBase.h.

Bool casa::VisibilityResamplerBase::onGrid ( const Int nx,
const Int ny,
const Int loc0,
const Int loc1,
const Int support 
) [inline, protected]

Definition at line 181 of file VisibilityResamplerBase.h.

VisibilityResamplerBase& casa::VisibilityResamplerBase::operator= ( const VisibilityResamplerBase other)
virtual void casa::VisibilityResamplerBase::releaseBuffers ( ) [pure virtual]
virtual void casa::VisibilityResamplerBase::setCFMaps ( const Vector< Int > &  cfMap,
const Vector< Int > &  conjCFMap 
) [pure virtual]
virtual void casa::VisibilityResamplerBase::setConvFunc ( const CFStore cfs) [pure virtual]
virtual void casa::VisibilityResamplerBase::setFreqMaps ( const Matrix< Double > &  spwChanFreqs,
const Matrix< Double > &  spwnChanConjFreqs 
) [pure virtual]
virtual void casa::VisibilityResamplerBase::setMaps ( const Vector< Int > &  chanMap,
const Vector< Int > &  polMap 
) [pure virtual]
virtual void casa::VisibilityResamplerBase::setParams ( const Vector< Double > &  uvwScale,
const Vector< Double > &  offset,
const Vector< Double > &  dphase 
) [pure virtual]
void casa::VisibilityResamplerBase::sgrid ( Int ndim,
Double *__restrict__  pos,
Int *__restrict__  loc,
Int *__restrict__  off,
Complex &  phasor,
const Int irow,
const Double *__restrict__  uvw,
const Double dphase,
const Double freq,
const Double *__restrict__  scale,
const Double *__restrict__  offset,
const Float *__restrict__  sampling 
) [protected]

Member Data Documentation

Definition at line 152 of file VisibilityResamplerBase.h.

Referenced by casa::VisibilityResampler::setMaps().

Definition at line 154 of file VisibilityResamplerBase.h.

Referenced by casa::VisibilityResampler::setConvFunc().

Int inc0_p, inc1_p, inc2_p, inc3_p;.

Definition at line 156 of file VisibilityResamplerBase.h.

Referenced by cacheAxisIncrements(), and getFrom4DArray().

Int* __restrict__ casa::VisibilityResamplerBase::incPtr_p [protected]

Definition at line 157 of file VisibilityResamplerBase.h.

Referenced by addTo4DArray(), and cacheAxisIncrements().

Definition at line 152 of file VisibilityResamplerBase.h.

Referenced by casa::VisibilityResampler::setMaps().

Definition at line 142 of file VisibilityResamplerBase.h.

Referenced by casa::AWVisResampler::AWVisResampler().

Definition at line 142 of file VisibilityResamplerBase.h.

Definition at line 142 of file VisibilityResamplerBase.h.

Definition at line 142 of file VisibilityResamplerBase.h.

Definition at line 142 of file VisibilityResamplerBase.h.

Definition at line 142 of file VisibilityResamplerBase.h.

Definition at line 142 of file VisibilityResamplerBase.h.

Definition at line 142 of file VisibilityResamplerBase.h.

Definition at line 142 of file VisibilityResamplerBase.h.

Referenced by casa::AWVisResampler::AWVisResampler().

Definition at line 153 of file VisibilityResamplerBase.h.

Referenced by casa::VisibilityResampler::setFreqMaps().

Definition at line 153 of file VisibilityResamplerBase.h.

Referenced by casa::VisibilityResampler::setFreqMaps().

Definition at line 143 of file VisibilityResamplerBase.h.


----------------------------Private parts-------------------------------------

private:

Definition at line 151 of file VisibilityResamplerBase.h.

Referenced by casa::VisibilityResampler::getParams(), and casa::VisibilityResampler::setParams().

Definition at line 160 of file VisibilityResamplerBase.h.

Referenced by getVBRow2CFBMap().

Definition at line 159 of file VisibilityResamplerBase.h.

Referenced by getVBRow2CFMap().


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