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

More...

`#include <ConstantNDParam.h>`

## Public Member Functions

| ConstantNDParam (uInt m=0)
| Construct a constant in m-dimensional space.
| ConstantNDParam (const ConstantNDParam &other)
| Copy constructor (deep copy).
template<class W>
| ConstantNDParam (const ConstantNDParam< W > &other)
ConstantNDParam< T > & | operator= (const ConstantNDParam< T > &other)
| Copy assignment (deep copy).
virtual | ~ConstantNDParam ()
| Destructor.
Bool | operator== (const ConstantNDParam< T > &other) const
| Comparisons.
Bool | operator!= (const ConstantNDParam< 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.

## Private Attributes

uInt | _ndim

## 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::ConstantNDParam< T >

Parameter handling for a constant function in a space of arbitrary dimensionality.

### Intended use:

Internal

### Review Status

Test programs:
  tConstant

### Prerequisite

- FunctionParam class
- Function class

### Synopsis

This class forms a function of the form f(x0,x1,..,xm-1) = constant in an m-dimensional parameter space where xi are independent arguments.

Since the Constant is a Function, the derivatives can be obtained as well (and in fact are 0 of course).

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 Constant class only.

### Example

form a constant function in 4-D space
Constant<Double> constant(4); // constant in 4-D param space
constant.parameters()[0] = 22;
// Evaluate at x0=5, x3=7
Vector<Double> x(4);
x=0; x[0]=5; x[3]=7;
cout << "constant value: " << constant(x) << endl;
constant value: 22
casacore::Vector
Definition Vector.h:82
casacore::value
NewDelAllocator< T > NewDelAllocator< T >::value
Definition Allocator.h:369

### 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 because HyperPlane does not support a constant offset and modifying that class really required an interface change (ie that the constant offset be at the beginning of the parameter vector and that the parameter vector increase by one) so rather than breaking any code that already used HyperPlane I simply made a trivial Constant class.

### To Do

- Nothing I know of

Definition at line 102 of file ConstantNDParam.h.

## Constructor & Destructor Documentation

## ConstantNDParam() [1/3]

template<class T>

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

explicit

Construct a constant in m-dimensional space.

By default, the constant value is initialized to zero.

Referenced by casacore::ConstantND< T >::ConstantND(), casacore::ConstantND< T >::ConstantND(), casacore::ConstantND< T >::ConstantND(), ConstantNDParam(), ConstantNDParam(), operator!=(), operator=(), and operator==().

## ConstantNDParam() [2/3]

template<class T>

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

Copy constructor (deep copy).

References ConstantNDParam().

## ConstantNDParam() [3/3]

template<class T>
template<class W>

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

inline

Definition at line 116 of file ConstantNDParam.h.

References _ndim, ConstantNDParam(), casacore::Function< T, U >::Function(), and ndim().

## ~ConstantNDParam()

template<class T>

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

virtual

Destructor.

## Member Function Documentation

## name()

template<class T>

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

inline virtual

Give name of function.

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

Definition at line 139 of file ConstantNDParam.h.

## ndim()

template<class T>

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

inline virtual

What is the dimension of the parameter list.

Implements casacore::Function< T, U >.

Definition at line 143 of file ConstantNDParam.h.

References _ndim.

Referenced by ConstantNDParam().

## operator!=()

template<class T>

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

inline

Definition at line 133 of file ConstantNDParam.h.

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

## operator=()

template<class T>

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

Copy assignment (deep copy).

References ConstantNDParam().

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

## operator==()

template<class T>

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

inline

Comparisons.

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

Definition at line 131 of file ConstantNDParam.h.

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

## Member Data Documentation

## _ndim

template<class T>

uInt casacore::ConstantNDParam< T >::_ndim

private

Definition at line 151 of file ConstantNDParam.h.

Referenced by ConstantNDParam(), and ndim().

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

- scimath/Functionals/ConstantNDParam.h