casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
casa::SynthesisImagerMixin< T > Class Template Reference

Simple mixin class to put SynthesisImager into ParallelImagerMixin framework. More...

#include <SynthesisImagerMixin.h>

Inheritance diagram for casa::SynthesisImagerMixin< T >:

Public Member Functions

void make_psf ()
 
void execute_major_cycle ()
 
void predict_model ()
 

Protected Member Functions

void setup_imager (MPI_Comm comm, std::vector< SynthesisParamsSelect > &select_pars, std::vector< SynthesisParamsImage > &image_pars, std::vector< SynthesisParamsGrid > &grid_pars, casacore::Record &weight_pars)
 
void teardown_imager ()
 

Private Member Functions

void set_weighting (const casacore::Record &weight_pars, const std::vector< SynthesisParamsImage > &image_pars)
 

Static Private Member Functions

static casacore::Quantity asQuantity (const casacore::Record &rec, const char *field_name)
 TODO: this method is a utility function...move it into another module? More...
 
static casacore::Quantity asQuantity (const casacore::String &field_name)
 TODO: this method is a utility function...move it into another module? More...
 
static bool haveCFCache (const std::string &dirname)
 
static int isCFS (const struct dirent *d)
 
static std::vector< std::string > getCFCacheList (const SynthesisParamsGrid &grid_pars, int size, int rank)
 

Private Attributes

std::unique_ptr< SynthesisImagersi
 

Detailed Description

template<class T>
class casa::SynthesisImagerMixin< T >

Simple mixin class to put SynthesisImager into ParallelImagerMixin framework.

Definition at line 53 of file SynthesisImagerMixin.h.

Member Function Documentation

template<class T >
casacore::Quantity casa::SynthesisImagerMixin< T >::asQuantity ( const casacore::Record rec,
const char *  field_name 
)
staticprivate
template<class T >
casacore::Quantity casa::SynthesisImagerMixin< T >::asQuantity ( const casacore::String field_name)
staticprivate

TODO: this method is a utility function...move it into another module?

Definition at line 244 of file SynthesisImagerMixin.h.

References casacore::QuantumHolder::asQuantity(), casacore::QuantumHolder::fromString(), and casacore::QuantumHolder::isQuantity().

template<class T >
void casa::SynthesisImagerMixin< T >::execute_major_cycle ( )
inline

TODO: verify this is correct for all ranks

Definition at line 200 of file SynthesisImagerMixin.h.

References casacore::RecordInterface::define(), and casa::SynthesisImagerMixin< T >::si.

template<class T >
std::vector< std::string > casa::SynthesisImagerMixin< T >::getCFCacheList ( const SynthesisParamsGrid grid_pars,
int  size,
int  rank 
)
staticprivate

return vector for all ranks, even if it's empty

Note that with size having been redefined as the minimum of the original size value and nCFS, if rank >= size, then no strings are added to the result vector in the following loop.

errno == ENOMEM

Definition at line 273 of file SynthesisImagerMixin.h.

References casacore::String::c_str(), casa::SynthesisParamsGrid::cfCache, free(), casa::SynthesisImagerMixin< T >::isCFS(), min, casa::name(), and casa::vi::size().

Referenced by casa::SynthesisImagerMixin< T >::setup_imager().

template<class T >
bool casa::SynthesisImagerMixin< T >::haveCFCache ( const std::string &  dirname)
staticprivate
template<class T >
int casa::SynthesisImagerMixin< T >::isCFS ( const struct dirent *  d)
staticprivate

Definition at line 266 of file SynthesisImagerMixin.h.

References casa::name().

Referenced by casa::SynthesisImagerMixin< T >::getCFCacheList().

template<class T >
void casa::SynthesisImagerMixin< T >::make_psf ( )
inline

TODO: verify this is correct for all ranks

Definition at line 194 of file SynthesisImagerMixin.h.

References casa::SynthesisImagerMixin< T >::si.

template<class T >
void casa::SynthesisImagerMixin< T >::predict_model ( )
inline

TODO: verify this is correct for all ranks

Definition at line 209 of file SynthesisImagerMixin.h.

References casa::SynthesisImagerMixin< T >::si.

template<class T >
void casa::SynthesisImagerMixin< T >::set_weighting ( const casacore::Record weight_pars,
const std::vector< SynthesisParamsImage > &  image_pars 
)
inlineprivate
template<class T >
void casa::SynthesisImagerMixin< T >::setup_imager ( MPI_Comm  comm,
std::vector< SynthesisParamsSelect > &  select_pars,
std::vector< SynthesisParamsImage > &  image_pars,
std::vector< SynthesisParamsGrid > &  grid_pars,
casacore::Record weight_pars 
)
inlineprotected
template<class T >
void casa::SynthesisImagerMixin< T >::teardown_imager ( )
inlineprotected

Member Data Documentation

template<class T >
std::unique_ptr<SynthesisImager> casa::SynthesisImagerMixin< T >::si
private

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