casa
5.7.0-16
|
models with an internal & external representation as an array More...
#include <ArrayModel.h>
Public Member Functions | |
ArrayModel () | |
ArrayModel (const casacore::Array< T > &model) | |
ArrayModel (casacore::Array< T > &model) | |
virtual const casacore::Array < T > & | getModel () const |
Return the current model. More... | |
virtual void | getModel (casacore::Array< T > &model) const |
virtual void | setModel (const casacore::Array< T > &model) |
Set the current model. More... | |
virtual void | setModel (casacore::Array< T > &model) |
Public Member Functions inherited from casa::LinearModel< casacore::Array< T > > | |
virtual | ~LinearModel () |
A virtual destructor is necessary. More... | |
Protected Attributes | |
casacore::Array< T > | theModel |
models with an internal & external representation as an array
Public interface
An ArrayModel is a base class for Models that can be represented by arrays. It is expected that this class will be mainly used as base classes for other classes which will then provide the solve() functions necessary to update the model given an equation.
However this class does not contain any pure virtual functions and hence can be used "as is". An example of this is given below. For an example of how this class can be used by derived classes see the HogbomCleanModel class.
This class makes an internal copy of the casacore::Array supplied to it (either when constructed or when using the setModel function). If this is found to significantly affect performance (execution speed or memory requirements) this may be changed to a reference, perhaps using a smart pointer like the COWPtr
All the different image plane based clean algorithms have a common implementation in that they can use an array to store the current model. This class provides a way to abstract this functionality.
the template arguement for this class can be just about anything, the use of this class with an equation class will significantly restrict the possible templates. I have used this class (or derivations of it) with the following data types. Float StokesVector
class does not explicitly throw exceptions however the objects used by this class may
Definition at line 112 of file ArrayModel.h.
casa::ArrayModel< T >::ArrayModel | ( | ) |
casa::ArrayModel< T >::ArrayModel | ( | const casacore::Array< T > & | model | ) |
casa::ArrayModel< T >::ArrayModel | ( | casacore::Array< T > & | model | ) |
|
virtual |
Return the current model.
Implements casa::LinearModel< casacore::Array< T > >.
|
virtual |
Reimplemented in casa::ClarkCleanModel.
|
virtual |
Set the current model.
Implements casa::LinearModel< casacore::Array< T > >.
Reimplemented in casa::ClarkCleanModel.
|
virtual |
Reimplemented in casa::ClarkCleanModel.
|
protected |
Definition at line 126 of file ArrayModel.h.