Loading...
Searching...
No Matches
casacore::HyperPlaneParam< T > Class Template Reference
Functionals_module_internal_classes

More...

`#include <HyperPlaneParam.h>`

## Public Member Functions

| HyperPlaneParam (uInt m=0)
| Construct an m-dimensional hyper plane which has m parameters.
| HyperPlaneParam (const HyperPlaneParam &other)
| Copy constructor (deep copy).
template<class W>
| HyperPlaneParam (const HyperPlaneParam< W > &other)
HyperPlaneParam< T > & | operator= (const HyperPlaneParam< T > &other)
| Copy assignment (deep copy).
virtual | ~HyperPlaneParam ()
| Destructor.
Bool | operator== (const HyperPlaneParam< T > &other) const
| Comparisons.
Bool | operator!= (const HyperPlaneParam< T > &other) const
virtual const String & | name () const
| Give name of function.
virtual uInt | ndim () const
| What is the dimension of the parameter list.
Public Member Functions inherited from casacore::Function< T, U >
| Function ()
| Constructors.
| Function (const uInt n)
| Function (const Vector< T > &in)
| Function (const FunctionParam< T > &other)
template<class W, class X>
| Function (const Function< W, X > &other)
virtual | ~Function ()
| Destructor.
uInt | nparameters () const
| Returns the number of parameters.
virtual U | eval (FunctionArg x) const =0
| Evaluate the function object.
T & | operator[] (const uInt n)
| Manipulate the nth parameter (0-based) with no index check.
const T & | operator[] (const uInt n) const
virtual U | operator() () const
| Evaluate this function object at xor at x, y.
virtual U | operator() (const ArgType &x) const
virtual U | operator() (const Vector< ArgType > &x) const
virtual U | operator() (FunctionArg x) const
virtual U | operator() (const ArgType &x, const ArgType &y) const
virtual U | 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.
const Bool & | mask (const uInt n) const
const FunctionParam< T > & | parameters () const
| Return the parameter interface.
FunctionParam< T > & | parameters ()
const Vector< ArgType > & | argp () const
| Get arg_p and parset_p.
Bool | parsetp () const
void | lockParam ()
| Compiler cannot always find the correct 'const' version of parameter access.
void | unlockParam ()
virtual void | setMode (const RecordInterface &mode)
| get/set the function mode.
virtual void | getMode (RecordInterface &mode) const
virtual Bool | hasMode () const
| return True if the implementing function supports a mode.
ostream & | print (ostream &os) const
| Print the function (i.e.
virtual Function< T, U > * | clone () const =0
| Return a copy of this object from the heap.
virtual Function< typename FunctionTraits< T >::DiffType > * | cloneAD () const
virtual Function< typename FunctionTraits< T >::BaseType > * | cloneNonAD () const
Public Member Functions inherited from casacore::Functional< FunctionTraits< T >::ArgType, T >
virtual | ~Functional ()
| Destructor.
virtual T | operator() (const FunctionTraits< T >::ArgType &x) const=0
| Map a Domain x into a Range y value.
Public Member Functions inherited from casacore::Functional< Vector< FunctionTraits< T >::ArgType >, T >
virtual | ~Functional ()
| Destructor.
virtual T | operator() (const Vector< FunctionTraits< T >::ArgType > &x) const=0
| Map a Domain x into a Range y value.

## Additional Inherited Members

Public Types inherited from casacore::Function< T, U >
typedef FunctionTraits< T >::ArgType | ArgType
typedef const ArgType * | FunctionArg
Protected Attributes inherited from casacore::Function< T, U >
FunctionParam< T > | param_p
| The parameters and masks.
Vector< ArgType > | arg_p
| Aid for non-contiguous argument storage.
Bool | parset_p
| Indicate parameter written.
Bool | locked_p
| Indicate that parameters are expected to be locked from changing.

## Detailed Description

template<class T>
class casacore::HyperPlaneParam< T >

Parameter handling for a hyper plane function.

### Intended use:

Internal

### Review Status

Reviewed By:
  wbrouw
Date Reviewed:
  2004/05/25
Test programs:
  tHyperPlane

### Prerequisite

- FunctionParam class
- Function class

### Synopsis

This class forms a function of the form f(x0,x1,..,xm-1) = p0*x0 + p1*x1 +...

- pm-1*xm-1, where pi are coefficients (parameters) and xi are independent arguments.

f(x0,x1,..,xm-1) represents a hyper plane of dimension m.

Since the HyperPlane is a Function, the derivatives can be obtained as well.

The parameter interface (see FunctionParam class), is used to provide an interface to the Fitting classes.

This class is in general used implicitly by the HyperPlane class only.

### Example

// form the hyper plane function of this form:
// 6*x0 + 2*x3
HyperPlane<Double> hyper(4); // 4-dim hyperplane
hyper.parameters()[0] = 6;
hyper.parameters()[3] = 2;
// Evaluate at x0=5, x3=7
Vector<Double> x(4);
x=0; x[0]=5; x[3]=7;
cout << "Hypervalue: " << hyper(x) << endl;
Hypervalue: 44
casacore::HyperPlane
Definition HyperPlane.h:107
casacore::Vector
Definition Vector.h:82

### Template Type Argument Requirements (T)

- T should have standard numerical operators and exp() function. Current implementation only tested for real types (and their AutoDiffs).

### Thrown Exceptions

- Assertion in debug mode if attempt is made to set a negative width
- AipsError if incorrect parameter number specified.

### Motivation

This class was created to facilitate linear constraint functions for the use of least-squares fits.

### To Do

- Nothing I know of

Definition at line 105 of file HyperPlaneParam.h.

## Constructor & Destructor Documentation

## HyperPlaneParam() [1/3]

template<class T>

casacore::HyperPlaneParam< T >::HyperPlaneParam | ( | uInt | m = 0 | ) |

explicit

Construct an m-dimensional hyper plane which has m parameters.

By default, the coefficients are initialized to zero. The default plane has m=0

Referenced by casacore::HyperPlane< T >::HyperPlane(), casacore::HyperPlane< T >::HyperPlane(), casacore::HyperPlane< T >::HyperPlane(), HyperPlaneParam(), HyperPlaneParam(), operator!=(), operator=(), and operator==().

## HyperPlaneParam() [2/3]

template<class T>

casacore::HyperPlaneParam< T >::HyperPlaneParam | ( | const HyperPlaneParam< T > & | other | ) |

Copy constructor (deep copy).

References HyperPlaneParam().

## HyperPlaneParam() [3/3]

template<class T>
template<class W>

casacore::HyperPlaneParam< T >::HyperPlaneParam | ( | const HyperPlaneParam< W > & | other | ) |

inline

Definition at line 120 of file HyperPlaneParam.h.

References casacore::Function< T, U >::Function(), and HyperPlaneParam().

## ~HyperPlaneParam()

template<class T>

virtual casacore::HyperPlaneParam< T >::~HyperPlaneParam | ( |  | ) |

virtual

Destructor.

## Member Function Documentation

## name()

template<class T>

virtual const String & casacore::HyperPlaneParam< T >::name | ( |  | ) | const

inline virtual

Give name of function.

Reimplemented from casacore::Function< T, U >.

Definition at line 143 of file HyperPlaneParam.h.

## ndim()

template<class T>

virtual uInt casacore::HyperPlaneParam< T >::ndim | ( |  | ) | const

inline virtual

What is the dimension of the parameter list.

Implements casacore::Function< T, U >.

Definition at line 147 of file HyperPlaneParam.h.

References casacore::Function< T, U >::param_p.

## operator!=()

template<class T>

Bool casacore::HyperPlaneParam< T >::operator!= | ( | const HyperPlaneParam< T > & | other | ) | const

inline

Definition at line 137 of file HyperPlaneParam.h.

References HyperPlaneParam(), and casacore::Function< T, U >::param_p.

## operator=()

template<class T>

HyperPlaneParam< T > & casacore::HyperPlaneParam< T >::operator= | ( | const HyperPlaneParam< T > & | other | ) |

Copy assignment (deep copy).

References HyperPlaneParam().

Referenced by casacore::HyperPlane< T >::operator=().

## operator==()

template<class T>

Bool casacore::HyperPlaneParam< T >::operator== | ( | const HyperPlaneParam< T > & | other | ) | const

inline

Comparisons.

HyperPlanes are equal if they are of the same order and have the same parameters

Definition at line 135 of file HyperPlaneParam.h.

References HyperPlaneParam(), and casacore::Function< T, U >::param_p.

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

- scimath/Functionals/HyperPlaneParam.h