casacore::PowerLogarithmicPolynomial< T > Class Template Reference

A one dimensional power logarithmic polynomial class of form y = c_0 * x**( c_1 + c_2*ln(x) + c_3*ln(x)**2 + ... c_n*ln(x)**(n-1)). More...

#include <PowerLogarithmicPolynomial.h>

Inheritance diagram for casacore::PowerLogarithmicPolynomial< T >:
casacore::PowerLogarithmicPolynomialParam< T > casacore::Function1D< T > casacore::Function< T, U > casacore::Functional< FunctionTraits< T >::ArgType, U > casacore::Functional< Vector< FunctionTraits< T >::ArgType >, U >

List of all members.

Public Member Functions

 PowerLogarithmicPolynomial ()
 Constructs an empty PowerLogarithmicPolynomial.
 PowerLogarithmicPolynomial (uInt n)
 Makes a power logaritmic polynomial with the specified number of coefficients, all set to zero.
 PowerLogarithmicPolynomial (const vector< T > &parms)
 Make a function with the specified params.
 PowerLogarithmicPolynomial (const PowerLogarithmicPolynomial< T > &other)
 Copy constructor/assignment (deep copy).
template<class W >
 PowerLogarithmicPolynomial (const PowerLogarithmicPolynomial< W > &other)
PowerLogarithmicPolynomial< T > & operator= (const PowerLogarithmicPolynomial< T > &other)
virtual ~PowerLogarithmicPolynomial ()
 Destructor.
virtual T eval (typename Function1D< T >::FunctionArg x) const
 Evaluate the polynomial at x.
virtual Function< T > * clone () const
 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

Detailed Description

template<class T>
class casacore::PowerLogarithmicPolynomial< T >

A one dimensional power logarithmic polynomial class of form y = c_0 * x**( c_1 + c_2*ln(x) + c_3*ln(x)**2 + ... c_n*ln(x)**(n-1)).

Review Status

Test programs:
tPowerLogarithmicPolynomial

Prerequisite

Synopsis

A Power Logarithmic Polynomial<T> contains a set of coefficients; its fundamental operations is evaluating itself at some "x".


Tip: The present implementation merely stores the coefficients in a Block; In the unlikely case that we need to deal with polynomials with many zero coefficients, a more efficient representation would be possible;

Example

Template Type Argument Requirements (T)

Thrown Exceptions

Definition at line 80 of file PowerLogarithmicPolynomial.h.


Constructor & Destructor Documentation

template<class T>
casacore::PowerLogarithmicPolynomial< T >::PowerLogarithmicPolynomial (  )  [inline]

Constructs an empty PowerLogarithmicPolynomial.

Definition at line 84 of file PowerLogarithmicPolynomial.h.

template<class T>
casacore::PowerLogarithmicPolynomial< T >::PowerLogarithmicPolynomial ( uInt  n  )  [inline, explicit]

Makes a power logaritmic polynomial with the specified number of coefficients, all set to zero.

Definition at line 88 of file PowerLogarithmicPolynomial.h.

template<class T>
casacore::PowerLogarithmicPolynomial< T >::PowerLogarithmicPolynomial ( const vector< T > &  parms  )  [inline]

Make a function with the specified params.

Definition at line 91 of file PowerLogarithmicPolynomial.h.

template<class T>
casacore::PowerLogarithmicPolynomial< T >::PowerLogarithmicPolynomial ( const PowerLogarithmicPolynomial< T > &  other  )  [inline]

Copy constructor/assignment (deep copy).

Definition at line 95 of file PowerLogarithmicPolynomial.h.

template<class T>
template<class W >
casacore::PowerLogarithmicPolynomial< T >::PowerLogarithmicPolynomial ( const PowerLogarithmicPolynomial< W > &  other  )  [inline]

Definition at line 97 of file PowerLogarithmicPolynomial.h.

template<class T>
virtual casacore::PowerLogarithmicPolynomial< T >::~PowerLogarithmicPolynomial (  )  [inline, virtual]

Destructor.

Definition at line 103 of file PowerLogarithmicPolynomial.h.


Member Function Documentation

template<class T>
virtual Function<T>* casacore::PowerLogarithmicPolynomial< T >::clone (  )  const [inline, virtual]

Return a copy of this object from the heap.

The caller is responsible for deleting the pointer.

Implements casacore::Function< T, U >.

Definition at line 113 of file PowerLogarithmicPolynomial.h.

template<class T>
virtual Function<typename FunctionTraits<T>::DiffType>* casacore::PowerLogarithmicPolynomial< T >::cloneAD (  )  const [inline, virtual]

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

Definition at line 114 of file PowerLogarithmicPolynomial.h.

template<class T>
virtual Function<typename FunctionTraits<T>::BaseType>* casacore::PowerLogarithmicPolynomial< T >::cloneNonAD (  )  const [inline, virtual]

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

Definition at line 116 of file PowerLogarithmicPolynomial.h.

template<class T>
virtual T casacore::PowerLogarithmicPolynomial< T >::eval ( typename Function1D< T >::FunctionArg  x  )  const [virtual]

Evaluate the polynomial at x.

template<class T>
PowerLogarithmicPolynomial<T>& casacore::PowerLogarithmicPolynomial< T >::operator= ( const PowerLogarithmicPolynomial< T > &  other  )  [inline]

Reimplemented from casacore::PowerLogarithmicPolynomialParam< T >.

Definition at line 98 of file PowerLogarithmicPolynomial.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1