29 #ifndef SYNTHESIS_MULTITHREADEDVISIBILITYRESAMPLER_H
30 #define SYNTHESIS_MULTITHREADEDVISIBILITYRESAMPLER_H
45 #define DEFAULTNOOFCORES -1
46 #define FTMachineNumThreadsEnvVar "ftmachine_num_threads"
virtual casacore::Int nelements()
virtual void setCFMaps(const casacore::Vector< casacore::Int > &cfMap, const casacore::Vector< casacore::Int > &conjCFMap)
void makeInfrastructureContainers()
casa::utilj::DeltaThreadTimes tSendDataG
casacore::Double allocateDataBuffers()
casacore::Vector< casacore::CountedPtr< casacore::Array< casacore::Complex > > > singleGriddedData_p
virtual ~MultiThreadedVisibilityResampler()
virtual void setConvFunc(const CFStore &cfs)
casa::utilj::DeltaThreadTimes tSetupDG
void GatherGrids(casacore::Array< casacore::DComplex > &griddedData, casacore::Matrix< casacore::Double > &sumwt)
This is the gather operation on griddedData for nelements > 1.
casa::utilj::ThreadTimes t4DG_p
void initializePutBuffers(const casacore::Array< casacore::DComplex > &griddedData, const casacore::Matrix< casacore::Double > &sumwt)
casacore::Int currentVBS_p
void init(const casacore::Bool &doublePrecision)
Forward looking genealogical baggage – required for the MultiThreadedVisibilityResampler.
MultiThreadedVisibilityResampler(const MultiThreadedVisibilityResampler &other)
#define DEFAULTNOOFCORES
-*- C++ -*-
casa::utilj::DeltaThreadTimes tOutsideDG
casa::utilj::DeltaThreadTimes tWaitForWorkG
casacore::Matrix< VBStore > vbsVec_p
casacore::Vector<VBStore> vbsVec_p;
virtual void DataToGrid(casacore::Array< casacore::DComplex > &griddedData, VBStore &vbs, casacore::Matrix< casacore::Double > &sumwt, const casacore::Bool &dopsf, casacore::Bool=false)
Referenced counted pointer for constant data.
void DataToGridImpl_p(casacore::Array< T > &griddedData, VBStore &vb, casacore::Matrix< casacore::Double > &sumwt, const casacore::Bool &dopsf, casacore::Bool useConjFreqCF=false)
-------------------------—Private parts----------------------------------—
virtual void setPATolerance(const double &dPA)
MultiThreadedVisibilityResampler * clone()
This version will make a clone with shared data buffers (the complex grids and the sum-of-weights arr...
void allocateBuffers(casacore::Bool newDataBuffers=true)
template <class t>=""> void GatherGrids_p(const casacore::Array<T>& griddedData, const casacore::Matr...
casa::utilj::ThreadTimes t4G_p
casacore::Bool doublePrecision_p
virtual void setParams(const casacore::Vector< casacore::Double > &uvwScale, const casacore::Vector< casacore::Double > &offset, const casacore::Vector< casacore::Double > &dphase)
bool Bool
Define the standard types used by Casacore.
virtual void GridToData(VBStore &vbs, const casacore::Array< casacore::Complex > &griddedData)
casa::utilj::DeltaThreadTimes tSendDataDG
casacore::Vector< casacore::CountedPtr< casacore::Array< casacore::DComplex > > > doubleGriddedData_p
virtual void DataToGrid(casacore::Array< casacore::Complex > &griddedData, VBStore &vbs, casacore::Matrix< casacore::Double > &sumwt, const casacore::Bool &dopsf, casacore::Bool=false)
virtual void setMaps(const casacore::Vector< casacore::Int > &chanMap, const casacore::Vector< casacore::Int > &polMap)
casacore::Int nelements_p
MultiThreadedVisibilityResampler & operator=(const MultiThreadedVisibilityResampler &other)
casacore::Int whoLoadedVB_p
casacore::Vector< casacore::CountedPtr< ResamplerWorklet > > gridderWorklets_p
casa::utilj::DeltaThreadTimes tSetupG
virtual void setFreqMaps(const casacore::Matrix< casacore::Double > &spwChanFreqs, const casacore::Matrix< casacore::Double > &spwChanConjFreqs)
void initializeDataBuffers(VBStore &)
casacore::Vector< casacore::CountedPtr< casacore::Matrix< casacore::Double > > > sumwt_p
casacore::Bool threadStarted_p
casacore::Vector< casacore::CountedPtr< VisibilityResamplerBase > > resamplers_p
casa::utilj::DeltaThreadTimes tWaitForWorkDG
virtual void ComputeResiduals(VBStore &vbs)
virtual void GridToData(VBStore& vbs, casacore::Array<casacore::Complex>& griddedData); ...
casacore::CountedPtr< VisibilityResamplerBase > visResamplerCtor_p
async::Mutex *mutexForResamplers_p;
#define FTMachineNumThreadsEnvVar
MultiThreadedVisibilityResampler()
enum VBLoader {NOONE=-1, DATATOGRID=0, GRIDTODATA, RESIDUALCALC};
casa::utilj::DeltaThreadTimes tOutsideG
casacore::CountedPtr< ThreadCoordinator< casacore::Int > > threadClerk_p
void scatter(casacore::Matrix< VBStore > &vbsStores, const VBStore &vbs)
void copy(const MultiThreadedVisibilityResampler &other)
T getenv(const char *name, const T defaultVal)