casacore
Public Member Functions | List of all members
casacore::ChebyshevParamModeImpl< T > Class Template Reference

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. More...
 
virtual void getMode (RecordInterface &mode) const
 
virtual Bool hasMode () const
 return True if the implementing function supports a mode. More...
 
- Public Member Functions inherited from casacore::ChebyshevParam< T >
 ChebyshevParam ()
 create a zero-th order Chebyshev polynomial with the first coefficient equal to zero. More...
 
 ChebyshevParam (const uInt n)
 create an n-th order Chebyshev polynomial with the coefficients equal to zero. More...
 
 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. More...
 
 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. More...
 
 ChebyshevParam (uInt order, const RecordInterface &mode)
 create a fully specified Chebyshev polynomial. More...
 
 ChebyshevParam (const Vector< T > &coeffs, const RecordInterface &mode)
 
 ChebyshevParam (const ChebyshevParam &other)
 create a deep copy of another Chebyshev polynomial More...
 
template<class W >
 ChebyshevParam (const ChebyshevParam< W > &other)
 
ChebyshevParam< T > & operator= (const ChebyshevParam< T > &other)
 make a (deep) copy of another Chebyshev polynomial More...
 
virtual ~ChebyshevParam ()
 Destructor. More...
 
void setCoefficients (const Vector< T > &coeffs)
 set the Chebyshev coefficients. More...
 
void setCoefficient (const uInt which, const T &value)
 set a particular Chebyshev coefficient. More...
 
const Vector< T > & getCoefficients () const
 return the current set of coefficients into a given Vector. More...
 
getCoefficient (const uInt which) const
 return a particular coefficient. More...
 
uInt nCoefficients () const
 return the number of coeefficients currently loaded. More...
 
void setInterval (T xmin, T xmax)
 set the Chebyshev interval for this function. More...
 
getIntervalMin () const
 return the minimum value for the currently Chebyshev interval. More...
 
getIntervalMax () const
 return the maximum value for the currently Chebyshev interval. More...
 
void setOutOfIntervalMode (ChebyshevEnums::OutOfIntervalMode mode)
 set the behavior of this function when it is evaluated outside its Chebyshev interval More...
 
ChebyshevEnums::OutOfIntervalMode getOutOfIntervalMode () const
 return the behavior of this function when it is evaluated outside of its Chebyshev interval. More...
 
void setDefault (const T &val)
 set the default value of this function. More...
 
const T & getDefault () const
 return the currently set default value. More...
 
uInt order () const
 return the order of this polynomial. More...
 
virtual const Stringname () const
 Give name of function. More...
 
- Public Member Functions inherited from casacore::Function1D< T, U >
 Function1D ()
 Constructors. More...
 
 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. More...
 
virtual uInt ndim () const
 Returns the number of dimensions of function. More...
 
- Public Member Functions inherited from casacore::Function< T, T >
 Function ()
 Constructors. More...
 
 Function (const uInt n)
 
 Function (const Vector< T > &in)
 
 Function (const FunctionParam< T > &other)
 
 Function (const Function< W, X > &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 xor 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
 
Boolmask (const uInt n)
 Manipulate the mask associated with the nth parameter (e.g. More...
 
const Boolmask (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 ()
 
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
 
- Public Member Functions inherited from casacore::Functional< FunctionTraits< T >::ArgType, T >
virtual ~Functional ()
 Destructor. More...
 
virtual T operator() (const FunctionTraits< T >::ArgType &x) const=0
 Map a Domain x into a Range y value. More...
 
- Public Member Functions inherited from casacore::Functional< Vector< FunctionTraits< T >::ArgType >, T >
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...
 

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 ArgTypeFunctionArg
 
- 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. More...
 
static void chebyshevToPower (Vector< T > &coeffs)
 convert a set of Chebyshev polynomial coefficients to power series coefficients. More...
 
static void powerToChebyshev (Vector< T > &coeffs)
 convert a set of power series coefficients to Chebyshev polynomial coefficients. More...
 
- Protected Attributes inherited from casacore::ChebyshevParam< T >
def_p
 Default value if outside interval. More...
 
minx_p
 Lowest interval bound. More...
 
maxx_p
 Highest inetrval bound. More...
 
ChebyshevEnums::OutOfIntervalMode mode_p
 Out-of-interval handling type. More...
 
- Protected Attributes inherited from casacore::Function< T, T >
FunctionParam< T > param_p
 The parameters and masks. More...
 
Vector< ArgTypearg_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...
 
- Static Protected Attributes inherited from casacore::ChebyshevParam< T >
static Vector< Stringmodes_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 364 of file ChebyshevParam.h.

Constructor & Destructor Documentation

◆ ChebyshevParamModeImpl() [1/7]

template<class T >
casacore::ChebyshevParamModeImpl< T >::ChebyshevParamModeImpl ( )
inline

Definition at line 367 of file ChebyshevParam.h.

◆ ChebyshevParamModeImpl() [2/7]

template<class T >
casacore::ChebyshevParamModeImpl< T >::ChebyshevParamModeImpl ( const uInt  n)
inlineexplicit

Definition at line 369 of file ChebyshevParam.h.

◆ 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 371 of file ChebyshevParam.h.

◆ 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 376 of file ChebyshevParam.h.

◆ ChebyshevParamModeImpl() [5/7]

template<class T >
casacore::ChebyshevParamModeImpl< T >::ChebyshevParamModeImpl ( uInt  order,
const RecordInterface mode 
)
inline

◆ ChebyshevParamModeImpl() [6/7]

template<class T >
casacore::ChebyshevParamModeImpl< T >::ChebyshevParamModeImpl ( const Vector< T > &  coeffs,
const RecordInterface mode 
)
inline

◆ ChebyshevParamModeImpl() [7/7]

template<class T >
casacore::ChebyshevParamModeImpl< T >::ChebyshevParamModeImpl ( const ChebyshevParamModeImpl< T > &  other)
inline

Definition at line 388 of file ChebyshevParam.h.

Member Function Documentation

◆ getMode()

template<class T >
virtual void casacore::ChebyshevParamModeImpl< T >::getMode ( RecordInterface mode) const
virtual

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

◆ 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 >.

◆ 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 >.

Referenced by casacore::ChebyshevParamModeImpl< T >::ChebyshevParamModeImpl().


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