casacore
|
Parameters for a linear combination of function objects. More...
#include <CombiParam.h>
Public Member Functions | |
CombiParam () | |
The default constructor – no functions, no parameters, nothing, the function operator returns a 0. More... | |
CombiParam (const CombiParam< T > &other) | |
Make this object a (deep) copy of other. More... | |
CombiParam (const CombiParam< T > &other, Bool) | |
template<class W > | |
CombiParam (const CombiParam< W > &other) | |
template<class W > | |
CombiParam (const CombiParam< W > &other, Bool) | |
CombiParam< T > & | operator= (const CombiParam< T > &other) |
Make this object a (deep) copy of other. More... | |
virtual | ~CombiParam () |
Destructor. More... | |
virtual const String & | name () const |
Give name of function. More... | |
uInt | addFunction (const Function< T > &newFunction) |
Add a function. More... | |
uInt | nFunctions () const |
Return the total number of functions. More... | |
const Function< T > & | function (uInt which) const |
Return a reference to a specific Function in the combination. More... | |
const Function< T > & | function (uInt which) |
virtual uInt | ndim () const |
Returns the dimension of functions in the linear combination. More... | |
![]() | |
Function () | |
Constructors. More... | |
Function (const uInt n) | |
Function (const Vector< T > &in) | |
Function (const FunctionParam< T > &other) | |
Function (const Function< W, X > &other) | |
Function (const Function< T, T > &other) | |
virtual | ~Function () |
Destructor. More... | |
uInt | nparameters () const |
Returns the number of parameters. More... | |
virtual T | eval (FunctionArg x) const =0 |
Evaluate the function object. More... | |
T & | operator[] (const uInt n) |
Manipulate the nth parameter (0-based) with no index check. More... | |
const T & | operator[] (const uInt n) const |
virtual T | operator() () const |
Evaluate this function object at x or at x, y . More... | |
virtual T | operator() (const ArgType &x) const |
virtual T | operator() (const Vector< ArgType > &x) const |
virtual T | operator() (FunctionArg x) const |
virtual T | operator() (const ArgType &x, const ArgType &y) const |
virtual T | operator() (const ArgType &x, const ArgType &y, const ArgType &z) const |
Bool & | mask (const uInt n) |
Manipulate the mask associated with the nth parameter (e.g. More... | |
const Bool & | mask (const uInt n) const |
const FunctionParam< T > & | parameters () const |
Return the parameter interface. More... | |
FunctionParam< T > & | parameters () |
const Vector< ArgType > & | argp () const |
Get arg_p and parset_p . More... | |
Bool | parsetp () const |
void | lockParam () |
Compiler cannot always find the correct 'const' version of parameter access. More... | |
void | unlockParam () |
virtual void | setMode (const RecordInterface &mode) |
get/set the function mode. More... | |
virtual void | getMode (RecordInterface &mode) const |
virtual Bool | hasMode () const |
return True if the implementing function supports a mode. More... | |
ostream & | print (ostream &os) const |
Print the function (i.e. More... | |
virtual Function< T, T > * | clone () const =0 |
Return a copy of this object from the heap. More... | |
virtual Function< typename FunctionTraits< T >::DiffType > * | cloneAD () const |
virtual Function< typename FunctionTraits< T >::BaseType > * | cloneNonAD () const |
![]() | |
virtual | ~Functional () |
Destructor. More... | |
virtual T | operator() (const FunctionTraits< T >::ArgType &x) const =0 |
Map a Domain x into a Range y value. More... | |
![]() | |
virtual | ~Functional () |
Destructor. More... | |
virtual T | operator() (const Vector< FunctionTraits< T >::ArgType > &x) const =0 |
Map a Domain x into a Range y value. More... | |
Protected Attributes | |
uInt | ndim_p |
Number of dimensions of underlying functions. More... | |
PtrBlock< Function< T > * > | functionPtr_p |
Pointer to each added function. More... | |
![]() | |
FunctionParam< T > | param_p |
The parameters and masks. More... | |
Vector< ArgType > | arg_p |
Aid for non-contiguous argument storage. More... | |
Bool | parset_p |
Indicate parameter written. More... | |
Bool | locked_p |
Indicate that parameters are expected to be locked from changing. More... | |
Additional Inherited Members | |
![]() | |
typedef FunctionTraits< T >::ArgType | ArgType |
typedef const ArgType * | FunctionArg |
Parameters for a linear combination of function objects.
Internal
Given N function objects, the class describes a linear combination of the form:
where a = {a(n)} are parameters. If the combi function is used in a functional fitting process (see LinearFit ) these parameters canm be solved for. In all aspects they behave as FunctionParam values.
Member functions are added with the addFunction()
method.
In the following example a second order polynomial is built from 3 separate polynomials.
This class was created to allow specialization of the evaluation in a simple way.
Definition at line 111 of file CombiParam.h.
casacore::CombiParam< T >::CombiParam | ( | ) |
The default constructor – no functions, no parameters, nothing, the function operator returns a 0.
casacore::CombiParam< T >::CombiParam | ( | const CombiParam< T > & | other | ) |
Make this object a (deep) copy of other.
|
inline |
Definition at line 121 of file CombiParam.h.
|
inline |
Definition at line 129 of file CombiParam.h.
|
inline |
Definition at line 137 of file CombiParam.h.
|
virtual |
Destructor.
Referenced by casacore::CombiParam< AutoDiff< T > >::CombiParam().
uInt casacore::CombiParam< T >::addFunction | ( | const Function< T > & | newFunction | ) |
Add a function.
All functions must have the same ndim()
as the first one. Returns the (zero relative) number (i
) of the function just added. The default initial parameter value (a(i)
) is initialized to 1. The parameter mask is set True
.
Referenced by casacore::CombiParam< AutoDiff< T > >::name().
|
inline |
Return a reference to a specific Function in the combination.
Definition at line 170 of file CombiParam.h.
Referenced by casacore::CombiParam< AutoDiff< T > >::CombiParam().
|
inline |
Definition at line 173 of file CombiParam.h.
|
inlinevirtual |
Give name of function.
Reimplemented from casacore::Function< T >.
Definition at line 154 of file CombiParam.h.
|
inlinevirtual |
Returns the dimension of functions in the linear combination.
Implements casacore::Function< T >.
Definition at line 179 of file CombiParam.h.
|
inline |
Return the total number of functions.
The number is equal to the number of functions that have been added.
Definition at line 166 of file CombiParam.h.
Referenced by casacore::CombiParam< AutoDiff< T > >::CombiParam(), and casacore::CombiParam< AutoDiff< T > >::function().
CombiParam<T>& casacore::CombiParam< T >::operator= | ( | const CombiParam< T > & | other | ) |
Make this object a (deep) copy of other.
Referenced by casacore::CombiParam< AutoDiff< T > >::CombiParam(), and casacore::CombiFunction< T >::operator=().
|
protected |
Pointer to each added function.
Definition at line 187 of file CombiParam.h.
Referenced by casacore::CombiParam< AutoDiff< T > >::CombiParam(), and casacore::CombiParam< AutoDiff< T > >::function().
|
protected |
Number of dimensions of underlying functions.
Definition at line 184 of file CombiParam.h.
Referenced by casacore::CombiParam< AutoDiff< T > >::ndim().