Simple mixin class to put SynthesisImager into ParallelImagerMixin framework. More...
#include <SynthesisImagerMixin.h>
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< SynthesisImager > | si |
Simple mixin class to put SynthesisImager into ParallelImagerMixin framework.
Definition at line 53 of file SynthesisImagerMixin.h.
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.
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().
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.
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().
bool casa::SynthesisImagerMixin< T >::haveCFCache | ( | const std::string & | dirname | ) | [inline, static, private] |
Definition at line 254 of file SynthesisImagerMixin.h.
Referenced by casa::SynthesisImagerMixin< T >::setup_imager().
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().
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.
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.
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().
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] |
Create a single imager component for every rank in comm.
create new imager instance, scrapping any that already exists
Definition at line 137 of file SynthesisImagerMixin.h.
References casa::SynthesisParamsGrid::aTermOn, casa::SynthesisParamsGrid::cfCache, casa::SynthesisParamsGrid::ftmachine, casa::SynthesisImagerMixin< T >::getCFCacheList(), casa::SynthesisImagerMixin< T >::haveCFCache(), casacore::min(), casa::SynthesisParamsGrid::psTermOn, casa::SynthesisImagerMixin< T >::set_weighting(), casa::SynthesisImagerMixin< T >::si, and casa::SynthesisImagerMixin< T >::teardown_imager().
void casa::SynthesisImagerMixin< T >::teardown_imager | ( | ) | [inline, protected] |
Definition at line 184 of file SynthesisImagerMixin.h.
References casa::SynthesisImagerMixin< T >::si.
Referenced by casa::SynthesisImagerMixin< T >::setup_imager().
std::unique_ptr<SynthesisImager> casa::SynthesisImagerMixin< T >::si [private] |
Definition at line 57 of file SynthesisImagerMixin.h.
Referenced by casa::SynthesisImagerMixin< T >::execute_major_cycle(), casa::SynthesisImagerMixin< T >::make_psf(), casa::SynthesisImagerMixin< T >::predict_model(), casa::SynthesisImagerMixin< T >::set_weighting(), casa::SynthesisImagerMixin< T >::setup_imager(), and casa::SynthesisImagerMixin< T >::teardown_imager().