casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Static Public Member Functions | Static Private Member Functions | List of all members
casa::ParallelImagerFactory Class Reference

Factory class for ParallelImager instances. More...

#include <ParallelImagerFactory.h>

Static Public Member Functions

static ParallelImagermake (MPI_Comm task_comm, casacore::Record clean_params, casacore::Record selection_params, casacore::Record image_params, casacore::Record grid_params, casacore::Record weight_params, casacore::Record normalization_params, casacore::Record deconvolution_params, casacore::Record iteration_params)
 Make a ParallelImager for the given set of parameters. More...
 

Static Private Member Functions

static MPI_Comm normalization_comm (MPI_Comm comm, int niter)
 Convenience method for creating communicator for normalization components. More...
 
static MPI_Comm dup_valid_comm (MPI_Comm comm)
 Convenience method for duplicating communicators (incl. More...
 

Detailed Description

Factory class for ParallelImager instances.

Instances of this class are used to create the appropriate ParallelImager instance for a set of given parameters.

Definition at line 41 of file ParallelImagerFactory.h.

Member Function Documentation

static MPI_Comm casa::ParallelImagerFactory::dup_valid_comm ( MPI_Comm  comm)
inlinestaticprivate

Convenience method for duplicating communicators (incl.

MPI_COMM_NULL)

Definition at line 81 of file ParallelImagerFactory.h.

References MPI_Comm_dup, and MPI_COMM_NULL.

static ParallelImager* casa::ParallelImagerFactory::make ( MPI_Comm  task_comm,
casacore::Record  clean_params,
casacore::Record  selection_params,
casacore::Record  image_params,
casacore::Record  grid_params,
casacore::Record  weight_params,
casacore::Record  normalization_params,
casacore::Record  deconvolution_params,
casacore::Record  iteration_params 
)
static

Make a ParallelImager for the given set of parameters.

Decide whether to instantiate a parallel continuum, parallel cube or serial imager, and create an appropriate instance of that type. This method does not spawn any processes, it just creates the imager instance for the current process given the communicator 'task_comm' and the values provided by the other parameters. The method works in a serial CASA environment through the definitions provided by MPIGlue.h. The various imaging component communicators required by ParallelImagerMixin are created by this method; they are expected to be freed by the returned instance at an appropriate time. No reference to 'task_comm' is maintained by the returned instance, allowing the caller to use 'task_comm' freely after this method returns.

static MPI_Comm casa::ParallelImagerFactory::normalization_comm ( MPI_Comm  comm,
int  niter 
)
inlinestaticprivate

Convenience method for creating communicator for normalization components.

Significantly, return the null communicator when 'niter' value is less than 1, which provides the indication to SynthesisNormalizerMixin that the normalization component is not required.

Definition at line 73 of file ParallelImagerFactory.h.

References MPI_Comm_dup, and MPI_COMM_NULL.


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