Loading...
Searching...
No Matches
casacore::ChebyshevParamModeImpl< T > Class Template Reference
scimath package (libcasa_scimath) » Functionals_module

A ChebyshevParam with the get/setMode implementation. More...

`#include <ChebyshevParam.h>`

## Public Member Functions

| ChebyshevParamModeImpl ()
| ChebyshevParamModeImpl (const uInt n)
| ChebyshevParamModeImpl (const T &min, const T &max, typename ChebyshevEnums::OutOfIntervalMode mode=ChebyshevEnums::CONSTANT, const T &defval=T(0))
| ChebyshevParamModeImpl (const Vector< T > &coeffs, const T &min, const T &max, typename ChebyshevEnums::OutOfIntervalMode mode=ChebyshevEnums::CONSTANT, const T &defval=T(0))
| ChebyshevParamModeImpl (uInt order, const RecordInterface &mode)
| ChebyshevParamModeImpl (const Vector< T > &coeffs, const RecordInterface &mode)
| ChebyshevParamModeImpl (const ChebyshevParamModeImpl &other)
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.
Public Member Functions inherited from casacore::ChebyshevParam< T >
| ChebyshevParam ()
| create a zero-th order Chebyshev polynomial with the first coefficient equal to zero.
| ChebyshevParam (const uInt n)
| create an n-th order Chebyshev polynomial with the coefficients equal to zero.
| ChebyshevParam (const T &min, const T &max, ChebyshevEnums::OutOfIntervalMode mode=ChebyshevEnums::CONSTANT, const T &defval=T(0))
| create a zero-th order Chebyshev polynomical with the first coefficient equal to one.
| ChebyshevParam (const Vector< T > &coeffs, const T &min, const T &max, ChebyshevEnums::OutOfIntervalMode mode=ChebyshevEnums::CONSTANT, const T &defval=T(0))
| create a fully specified Chebyshev polynomial.
| ChebyshevParam (uInt order, const RecordInterface &mode)
| create a fully specified Chebyshev polynomial.
| ChebyshevParam (const Vector< T > &coeffs, const RecordInterface &mode)
| ChebyshevParam (const ChebyshevParam &other)
| create a deep copy of another Chebyshev polynomial
template<class W>
| ChebyshevParam (const ChebyshevParam< W > &other)
ChebyshevParam< T > & | operator= (const ChebyshevParam< T > &other)
| make a (deep) copy of another Chebyshev polynomial
virtual | ~ChebyshevParam ()
| Destructor.
void | setCoefficients (const Vector< T > &coeffs)
| set the Chebyshev coefficients.
void | setCoefficient (const uInt which, const T &value)
| set a particular Chebyshev coefficient.
const Vector< T > & | getCoefficients () const
| return the current set of coefficients into a given Vector.
T | getCoefficient (const uInt which) const
| return a particular coefficient.
uInt | nCoefficients () const
| return the number of coeefficients currently loaded.
void | setInterval (T xmin, T xmax)
| set the Chebyshev interval for this function.
T | getIntervalMin () const
| return the minimum value for the currently Chebyshev interval.
T | getIntervalMax () const
| return the maximum value for the currently Chebyshev interval.
void | setOutOfIntervalMode (ChebyshevEnums::OutOfIntervalMode mode)
| set the behavior of this function when it is evaluated outside its Chebyshev interval
ChebyshevEnums::OutOfIntervalMode | getOutOfIntervalMode () const
| return the behavior of this function when it is evaluated outside of its Chebyshev interval.
void | setDefault (const T &val)
| set the default value of this function.
const T & | getDefault () const
| return the currently set default value.
uInt | order () const
| return the order of this polynomial.
virtual const String & | name () const
| Give name of function.
Public Member Functions inherited from casacore::Function1D< T, U >
| Function1D ()
| Constructors.
| Function1D (const uInt n)
| Function1D (const Vector< T > &in)
| Function1D (const FunctionParam< T > &other)
template<class W, class X>
| Function1D (const Function1D< W, X > &other)
virtual | ~Function1D ()
| Destructor.
virtual uInt | ndim () const
| Returns the number of dimensions of function.
Public Member Functions inherited from casacore::Function< T, T >
| Function ()
| Constructors.
virtual | ~Function ()
| Destructor.
uInt | nparameters () const
| Returns the number of parameters.
virtual T | eval (FunctionArg x) const=0
| Evaluate the function object.
T & | operator[] (const uInt n)
| Manipulate the nth parameter (0-based) with no index check.
virtual T | operator() () const
| Evaluate this function object at xor at x, y.
Bool & | mask (const uInt n)
| Manipulate the mask associated with the nth parameter (e.g.
const FunctionParam< T > & | parameters () const
| Return the parameter interface.
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 ()
ostream & | print (ostream &os) const
| Print the function (i.e.
virtual Function< T, T > * | 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::Function1D< T, U >
typedef const T * | FunctionArg
Public Types inherited from casacore::Function< T, T >
typedef FunctionTraits< T >::ArgType | ArgType
typedef const ArgType * | FunctionArg
Static Public Member Functions inherited from casacore::ChebyshevParam< T >
static void | derivativeCoeffs (Vector< T > &coeffs, const T &xmin=T(-1), const T &xmax=T(1))
| transform a set of Chebyshev polynomial coefficients into a set representing the series' derivative.
static void | chebyshevToPower (Vector< T > &coeffs)
| convert a set of Chebyshev polynomial coefficients to power series coefficients.
static void | powerToChebyshev (Vector< T > &coeffs)
| convert a set of power series coefficients to Chebyshev polynomial coefficients.
Protected Attributes inherited from casacore::ChebyshevParam< T >
T | def_p
| Default value if outside interval.
T | minx_p
| Lowest interval bound.
T | maxx_p
| Highest inetrval bound.
ChebyshevEnums::OutOfIntervalMode | mode_p
| Out-of-interval handling type.
Protected Attributes inherited from casacore::Function< T, T >
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.
Static Protected Attributes inherited from casacore::ChebyshevParam< T >
static Vector< String > | modes_s

## Detailed Description

template<class T>
class casacore::ChebyshevParamModeImpl< T >

A ChebyshevParam with the get/setMode implementation.

### Synopsis

The get/setMode() implementation is separated from ChebyshevParam to enable simple specialization for AutoDiff. See ChebyshevParam for documentation

Definition at line 363 of file ChebyshevParam.h.

## Constructor & Destructor Documentation

## ChebyshevParamModeImpl() [1/7]

template<class T>

casacore::ChebyshevParamModeImpl< T >::ChebyshevParamModeImpl | ( |  | ) |

inline

Definition at line 366 of file ChebyshevParam.h.

References casacore::ChebyshevParam< T >::ChebyshevParam().

Referenced by casacore::Chebyshev< T >::Chebyshev(), casacore::Chebyshev< T >::Chebyshev(), casacore::Chebyshev< T >::Chebyshev(), casacore::Chebyshev< T >::Chebyshev(), casacore::Chebyshev< T >::Chebyshev(), casacore::Chebyshev< T >::Chebyshev(), casacore::Chebyshev< T >::Chebyshev(), and ChebyshevParamModeImpl().

## ChebyshevParamModeImpl() [2/7]

template<class T>

casacore::ChebyshevParamModeImpl< T >::ChebyshevParamModeImpl | ( | const uInt | n | ) |

inline explicit

Definition at line 368 of file ChebyshevParam.h.

References casacore::ChebyshevParam< T >::ChebyshevParam().

## ChebyshevParamModeImpl() [3/7]

template<class T>

casacore::ChebyshevParamModeImpl< T >::ChebyshevParamModeImpl | ( | const T & | min,
|  | const T & | max,
|  | typename ChebyshevEnums::OutOfIntervalMode | mode = ChebyshevEnums::CONSTANT,
|  | const T & | defval = T(0) )

inline

Definition at line 370 of file ChebyshevParam.h.

References casacore::ChebyshevParam< T >::ChebyshevParam(), casacore::ChebyshevEnums::CONSTANT, casacore::max(), and casacore::min().

## ChebyshevParamModeImpl() [4/7]

template<class T>

casacore::ChebyshevParamModeImpl< T >::ChebyshevParamModeImpl | ( | const Vector< T > & | coeffs,
|  | const T & | min,
|  | const T & | max,
|  | typename ChebyshevEnums::OutOfIntervalMode | mode = ChebyshevEnums::CONSTANT,
|  | const T & | defval = T(0) )

inline

Definition at line 375 of file ChebyshevParam.h.

References casacore::ChebyshevParam< T >::ChebyshevParam(), casacore::ChebyshevEnums::CONSTANT, casacore::max(), and casacore::min().

## ChebyshevParamModeImpl() [5/7]

template<class T>

casacore::ChebyshevParamModeImpl< T >::ChebyshevParamModeImpl | ( | uInt | order,
|  | const RecordInterface & | mode )

inline

Definition at line 381 of file ChebyshevParam.h.

References casacore::ChebyshevParam< T >::ChebyshevParam(), casacore::ChebyshevParam< T >::order(), casacore::RecordInterface(), and setMode().

## ChebyshevParamModeImpl() [6/7]

template<class T>

casacore::ChebyshevParamModeImpl< T >::ChebyshevParamModeImpl | ( | const Vector< T > & | coeffs,
|  | const RecordInterface & | mode )

inline

Definition at line 383 of file ChebyshevParam.h.

References casacore::ChebyshevParam< T >::ChebyshevParam(), casacore::RecordInterface(), and setMode().

## ChebyshevParamModeImpl() [7/7]

template<class T>

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

inline

Definition at line 387 of file ChebyshevParam.h.

References casacore::ChebyshevParam< T >::ChebyshevParam(), and ChebyshevParamModeImpl().

## Member Function Documentation

## getMode()

template<class T>

virtual void casacore::ChebyshevParamModeImpl< T >::getMode | ( | RecordInterface & | mode | ) | const

virtual

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

References casacore::RecordInterface().

## hasMode()

template<class T>

virtual Bool casacore::ChebyshevParamModeImpl< T >::hasMode | ( |  | ) | const

virtual

return True if the implementing function supports a mode.

This implementation always returns True.

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

References casacore::ChebyshevParam< T >::ChebyshevParam(), casacore::ChebyshevParam< T >::getDefault(), casacore::ChebyshevParam< T >::getIntervalMax(), casacore::ChebyshevParam< T >::getIntervalMin(), casacore::ChebyshevParam< T >::getOutOfIntervalMode(), casacore::ChebyshevParam< T >::modes_s, and casacore::ChebyshevParam< T >::setOutOfIntervalMode().

## setMode()

template<class T>

virtual void casacore::ChebyshevParamModeImpl< T >::setMode | ( | const RecordInterface & | mode | ) |

virtual

get/set the function mode.

This is an alternate way to get/set the non-coefficient data for this function. The supported record fields are as follows:

    Field Name     Type            Role
    -------------------------------------------------------------------
    min            template type   the minimum value of the Chebyshev
    interval of interest
    max            template type   the maximum value of the Chebyshev
    interval of interest
    intervalMode   TpString        the out-of-interval mode; recognized
    values are "constant", "zeroth",
    "extrapolate", "cyclic", and "edge".
    setMode() recognizes a
    case-insensitive, minimum match.
    default        template type   the out-of-range value that is returned
    when the out-of-interval mode is
    "constant".

An exception is thrown if interval mode is unrecognized.

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

References casacore::RecordInterface().

Referenced by ChebyshevParamModeImpl(), and ChebyshevParamModeImpl().

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

- scimath/Functionals/ChebyshevParam.h