casacore
Loading...
Searching...
No Matches
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.
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]

◆ ChebyshevParamModeImpl() [2/7]

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

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

◆ 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

◆ 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

Member Function Documentation

◆ getMode()

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

◆ hasMode()

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