29 #ifndef SYNTHESIS_AWVISRESAMPLER_H
30 #define SYNTHESIS_AWVISRESAMPLER_H
50 cached_PointingOffset_p()
51 {cached_PointingOffset_p.resize(2);cached_PointingOffset_p=-1000.0;runTimeG_p=runTimeDG_p=0.0;};
118 {DataToGridImpl_p(griddedData, vbs, sumwt,dopsf,useConjFreqCF);}
122 {DataToGridImpl_p(griddedData, vbs, sumwt,dopsf,useConjFreqCF);}
135 (void)uvw; (void)irow;
return convFunc(pixel[0],pixel[1],pixel[2]);
163 T* __restrict__ gridStore,
169 void accumulateFromGrid(T& nvalue,
const T* __restrict__& grid,
214 return (((loc(0)-support[0]) >= 0 ) && ((loc(0)+support[0]) < nx) &&
215 ((loc(1)-support[1]) >= 0 ) && ((loc(1)+support[1]) < ny) &&
216 (loc(2) >= 0) && (loc(2) <= nw));
242 return *(store+(iPos[0] + iPos[1]*inc[1] + iPos[2]*inc[2] +iPos[3]*inc[3]));
250 return *(store+(iPos[0] + iPos[1]*inc[1] + iPos[2]*inc[2] +iPos[3]*inc[3]));
256 return *(store+(iPos[0] + iPos[1]*inc[1] + iPos[2]*inc[2] +iPos[3]*inc[3]));
267 store[iPos[0] + iPos[1]*inc[1] + iPos[2]*inc[2] +iPos[3]*inc[3]] += (nvalue*wt);
virtual void DataToGrid(casacore::Array< casacore::DComplex > &griddedData, VBStore &vbs, casacore::Matrix< casacore::Double > &sumwt, const casacore::Bool &dopsf, casacore::Bool useConjFreqCF=false)
virtual void setConvFunc(const CFStore& cfs) {convFuncStore_p = cfs;};
casacore::Vector< casacore::Int > cfMap_p
void copy(const VisibilityResamplerBase &other)
VisibilityResampler& operator=(const VisibilityResampler& other);.
StatsData< AccumType > copy(const StatsData< AccumType > &stats)
std::complex< Float > Complex
casacore::Complex getFrom4DArray(const casacore::Complex *__restrict__ &store, const casacore::Int *iPos, const casacore::Int *inc)
Internal methods to address a 4D array.
void SETVEC(casacore::Vector< T > &lhs, const casacore::Vector< T > &rhs)
AWVisResampler & operator=(const AWVisResampler &other)
virtual void DataToGrid(casacore::Array< casacore::Complex > &griddedData, VBStore &vbs, casacore::Matrix< casacore::Double > &sumwt, const casacore::Bool &dopsf, casacore::Bool useConjFreqCF=false)
casacore::Vector< casacore::Int > conjCFMap_p
T norm(const casacore::Vector< T > &x)
The magnitude/norm of a vector.
casacore::Bool onGrid(const casacore::Int &nx, const casacore::Int &ny, const casacore::Int &nw, const casacore::Vector< casacore::Int > &loc, const casacore::Vector< casacore::Int > &support)
casacore::Vector< casacore::Double > cached_PointingOffset_p
virtual ~AWVisResampler()
AWVisResampler(const CFStore& cfs): VisibilityResampler(cfs) {}.
std::complex< Double > DComplex
const IPosition & shape() const
The length of the Vector.
void SETVEC(casacore::Vector< T > &lhs, const casacore::Vector< T > &rhs)
casacore::Array assignment operator in CASACore requires lhs.nelements() == 0 or lhs.nelements()=rhs.nelements()
casacore::Complex getFrom4DArray(const casacore::Complex *__restrict__ &store, const casacore::Vector< casacore::Int > &iPos, const casacore::Vector< casacore::Int > &inc)
The following two methods are called in the innermost loop.
bool Bool
Define the standard types used by Casacore.
Origin
casacore::Data for raster plots, which can be thought of as three-dimensional.
virtual casacore::Complex getConvFuncVal(const casacore::Cube< casacore::Double > &convFunc, const casacore::Matrix< casacore::Double > &uvw, const casacore::Int &irow, const casacore::Vector< casacore::Int > &pixel)
virtual void GridToData(VBStore& vbs, casacore::Array<casacore::Complex>& griddedData); ...
virtual void copy(const AWVisResampler &other)
casacore::DComplex getFrom4DArray(const casacore::DComplex *__restrict__ &store, const casacore::Vector< casacore::Int > &iPos, const casacore::Vector< casacore::Int > &inc)
virtual void copy(const VisibilityResamplerBase &other)
VisibilityResampler& operator=(const VisibilityResampler& other);.
virtual void setCFMaps(const casacore::Vector< casacore::Int > &cfMap, const casacore::Vector< casacore::Int > &conjCFMap)
casacore::Vector< casacore::Int > gridInc_p
----------------------——Private parts-------------------------------——
void addTo4DArray(T *__restrict__ &store, const casacore::Int *__restrict__ &iPos, const casacore::Vector< casacore::Int > &inc, casacore::Complex &nvalue, casacore::Complex &wt) __restrict__
casacore::Matrix< casacore::Complex > cached_phaseGrad_p
void resize(size_t len, Bool copyValues=False)
virtual VisibilityResamplerBase * clone()
virtual void copyMaps(const AWVisResampler &other)
AWVisResampler(const AWVisResampler& other): VisibilityResampler(other),cfMap_p(), conjCFMap_p() {copy(other);}.
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.