casa::SynthesisImagerMixin< T > Class Template Reference

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

#include <SynthesisImagerMixin.h>

List of all members.

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, Record &weight_pars)
void teardown_imager ()

Private Member Functions

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

Static Private Member Functions

static Quantity asQuantity (const Record &rec, const char *field_name)
 TODO: this method is a utility function...move it into another module?
static Quantity asQuantity (const String &field_name)
 TODO: this method is a utility function...move it into another module?
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 >
Quantity casa::SynthesisImagerMixin< T >::asQuantity ( const String &  field_name  )  [inline, static, private]

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

Definition at line 240 of file SynthesisImagerMixin.h.

References String.

template<class T >
Quantity casa::SynthesisImagerMixin< T >::asQuantity ( const Record &  rec,
const char *  field_name 
) [inline, static, private]

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

Definition at line 214 of file SynthesisImagerMixin.h.

References String.

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

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

TODO: verify this is correct for all ranks

Definition at line 196 of file SynthesisImagerMixin.h.

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

template<class T >
std::vector< std::string > casa::SynthesisImagerMixin< T >::getCFCacheList ( const SynthesisParamsGrid grid_pars,
int  size,
int  rank 
) [inline, static, private]

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 269 of file SynthesisImagerMixin.h.

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

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

template<class T >
bool casa::SynthesisImagerMixin< T >::haveCFCache ( const std::string &  dirname  )  [inline, static, private]
template<class T >
int casa::SynthesisImagerMixin< T >::isCFS ( const struct dirent *  d  )  [inline, static, private]

Definition at line 262 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 190 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 205 of file SynthesisImagerMixin.h.

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

template<class T >
void casa::SynthesisImagerMixin< T >::set_weighting ( const Record &  weight_pars,
const std::vector< SynthesisParamsImage > &  image_pars 
) [inline, private]

TODO: the following is the logic for setting 'filter_type' in synthesisimager_cmpt.cc...verify that the check on uv_taper_pars[0] length is not required here

if (uv_taper_pars.nelements() > 0 && uv_taper_pars[0].length() > 0) filter_type = String("gaussian");

Definition at line 71 of file SynthesisImagerMixin.h.

References casa::SynthesisImagerMixin< T >::asQuantity(), casa::SynthesisImagerMixin< T >::si, String, and type().

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

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,
Record &  weight_pars 
) [inline, protected]
template<class T >
void casa::SynthesisImagerMixin< T >::teardown_imager (  )  [inline, protected]

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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1