casa
5.7.0-16
|
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, 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< SynthesisImager > | si |
Simple mixin class to put SynthesisImager into ParallelImagerMixin framework.
Definition at line 53 of file SynthesisImagerMixin.h.
|
staticprivate |
TODO: this method is a utility function...move it into another module?
Definition at line 218 of file SynthesisImagerMixin.h.
References casacore::QuantumHolder::asQuantity(), casacore::RecordInterface::asString(), casacore::RecordInterface::dataType(), casacore::QuantumHolder::fromRecord(), casacore::QuantumHolder::fromString(), casacore::QuantumHolder::isQuantity(), and casacore::Record::subRecord().
Referenced by casa::SynthesisImagerMixin< T >::set_weighting().
|
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().
|
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.
|
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().
|
staticprivate |
Definition at line 258 of file SynthesisImagerMixin.h.
Referenced by casa::SynthesisImagerMixin< T >::setup_imager().
|
staticprivate |
Definition at line 266 of file SynthesisImagerMixin.h.
References casa::name().
Referenced by casa::SynthesisImagerMixin< T >::getCFCacheList().
|
inline |
TODO: verify this is correct for all ranks
Definition at line 194 of file SynthesisImagerMixin.h.
References casa::SynthesisImagerMixin< T >::si.
|
inline |
TODO: verify this is correct for all ranks
Definition at line 209 of file SynthesisImagerMixin.h.
References casa::SynthesisImagerMixin< T >::si.
|
inlineprivate |
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 = casacore::String("gaussian");
Definition at line 71 of file SynthesisImagerMixin.h.
References casacore::RecordInterface::asArrayString(), casacore::RecordInterface::asBool(), casacore::RecordInterface::asDouble(), casacore::RecordInterface::asInt(), casa::SynthesisImagerMixin< T >::asQuantity(), casacore::RecordInterface::asString(), casacore::Record::fieldNumber(), casacore::ArrayBase::nelements(), casa::SynthesisImagerMixin< T >::si, and casa::type().
Referenced by casa::SynthesisImagerMixin< T >::setup_imager().
|
inlineprotected |
Create a single imager component for every rank in comm.
create new imager instance, scrapping any that already exists
Definition at line 141 of file SynthesisImagerMixin.h.
References casa::SynthesisParamsGrid::aTermOn, casa::SynthesisParamsGrid::cfCache, casa::SynthesisParamsGrid::conjBeams, casa::vi::empty(), casa::SynthesisParamsGrid::ftmachine, casa::SynthesisImagerMixin< T >::getCFCacheList(), casa::SynthesisImagerMixin< T >::haveCFCache(), min, casa::SynthesisParamsGrid::psTermOn, casa::SynthesisImagerMixin< T >::set_weighting(), casa::SynthesisImagerMixin< T >::si, and casa::SynthesisImagerMixin< T >::teardown_imager().
|
inlineprotected |
Definition at line 188 of file SynthesisImagerMixin.h.
References casa::SynthesisImagerMixin< T >::si.
Referenced by casa::SynthesisImagerMixin< T >::setup_imager().
|
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().