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...
 
T 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...
 
T getIntervalMin () const
 return the minimum value for the currently Chebyshev interval. More...
 
T 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 String & name () 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
 
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 ()
 
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 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. 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 >
T def_p
 Default value if outside interval. More...
 
T minx_p
 Lowest interval bound. More...
 
T 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< 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...
 
- 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 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: