casa
5.7.0-16
|
defines a relationship between Domain and Range objects More...
#include <LinearEquation.h>
Public Member Functions | |
virtual | ~LinearEquation () |
A virtual destructor may be necessary for use in derived classes. More... | |
virtual casacore::Bool | evaluate (Range &result, const LinearModel< Domain > &model)=0 |
This function evaluates the Equation for the specified model. More... | |
virtual casacore::Bool | residual (Domain &answer, const LinearModel< Domain > &model)=0 |
evaluate residual More... | |
virtual casacore::Bool | residual (Domain &answer, casacore::Float &chisq, const LinearModel< Domain > &model)=0 |
Same as above, but also calculates Chi^2. More... | |
virtual casacore::Bool | residual (Domain &answer, casacore::Float &chisq, Domain &mask, const LinearModel< Domain > &model)=0 |
Same as above, but also calculates Chi^2 considering a mask. More... | |
Public Member Functions inherited from casa::ResidualEquation< Domain > | |
virtual | ~ResidualEquation () |
A virtual destructor may be necessary for use in derived classes. More... | |
defines a relationship between Domain and Range objects
Public interface
class should be read in conjunction with: LinearModel ResidualEquation
LinearEquation was originally conceived for implementing linear equations (like Ax=b) but was in hindsight found to be more general.
This abstract class defines the basic functions used for forward modelling of measured data of "Range" data type. It defines the functions used to transform a model, of "Domain" data type to predicted data. It can also compare the predicted data with the measured data and return residuals to classes derived from LinearModel which can then be used to update the model.
I'll pass this class into a subroutine as an actual instance of an abstract class cannot be constructed.
This class was originally conceived to be used in implementing deconvolution algorithms. I would not be surprised if it found wider applicability.
do not see any restrictions on the Domain class. Its up to the derived class to handle the the appropriate Domain.
order to calculate residuals it will probably be necessary for subtraction to be defined on the Range class, as well as some way for data in the Range data type to be converted back into the Domain data type. However it is left up to the derived classes to implement this.
is an interface class and does not contain any implementation (and hence does not throw exceptions)
Definition at line 106 of file LinearEquation.h.
|
virtual |
A virtual destructor may be necessary for use in derived classes.
|
pure virtual |
This function evaluates the Equation for the specified model.
It returns false if the result could not be computed.
Implemented in casa::ConvolutionEquation, and casa::LatConvEquation.
|
pure virtual |
evaluate residual
Implements casa::ResidualEquation< Domain >.
Implemented in casa::ConvolutionEquation, casa::LatConvEquation, and casa::IPLatConvEquation.
|
pure virtual |
Same as above, but also calculates Chi^2.
Implements casa::ResidualEquation< Domain >.
Implemented in casa::ConvolutionEquation, casa::LatConvEquation, and casa::IPLatConvEquation.
|
pure virtual |
Same as above, but also calculates Chi^2 considering a mask.
Implements casa::ResidualEquation< Domain >.
Implemented in casa::ConvolutionEquation, and casa::LatConvEquation.