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

More...

#include <UnaryFunction.h>

Public Member Functions

 UnaryFunction ()
 Constructs the UnaryFunction, Defaults: height=1, center=0, width=1. More...
 
 UnaryFunction (const T &height)
 
 UnaryFunction (const T &height, const T &center)
 
 UnaryFunction (const T &height, const T &center, const T &width)
 
 UnaryFunction (const UnaryFunction< T > &other)
 Copy constructor (deep copy) More...
 
template<class W >
 UnaryFunction (const UnaryFunction< W > &other)
 
UnaryFunction< T > & operator= (const UnaryFunction< T > &other)
 Copy assignment (deep copy) More...
 
virtual ~UnaryFunction ()
 Destructor. More...
 
virtual T eval (typename Function< T >::FunctionArg x) const
 Evaluate the Unary at x. More...
 
virtual Function< T > * clone () const
 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::UnaryParam< T >
 UnaryParam ()
 Constructs the Unary, Defaults: height=1, center=0, width=1. More...
 
 UnaryParam (const T &height)
 
 UnaryParam (const T &height, const T &center)
 
 UnaryParam (const T &height, const T &center, const T &width)
 
 UnaryParam (const UnaryParam< T > &other)
 Copy constructor (deep copy) More...
 
template<class W >
 UnaryParam (const UnaryParam< W > &other)
 
UnaryParam< T > & operator= (const UnaryParam< T > &other)
 Copy assignment (deep copy) More...
 
virtual ~UnaryParam ()
 Destructor. More...
 
virtual uInt ndim () const
 Returns the number of dimensions of function. More...
 
virtual const Stringname () const
 Give name of function. More...
 
- Public Member Functions inherited from casacore::Function< T, U >
 Function ()
 Constructors. More...
 
 Function (const uInt n)
 
 Function (const Vector< T > &in)
 
 Function (const FunctionParam< T > &other)
 
template<class W , class X >
 Function (const Function< W, X > &other)
 
virtual ~Function ()
 Destructor. More...
 
uInt nparameters () const
 Returns the number of parameters. More...
 
virtual U 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 U operator() () const
 Evaluate this function object at xor at x, y. More...
 
virtual U operator() (const ArgType &x) const
 
virtual U operator() (const Vector< ArgType > &x) const
 
virtual U operator() (FunctionArg x) const
 
virtual U operator() (const ArgType &x, const ArgType &y) const
 
virtual U 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 ()
 
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...
 
ostream & print (ostream &os) const
 Print the function (i.e. More...
 
- 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::UnaryParam< T >
enum  {
  HEIGHT ,
  CENTER ,
  WIDTH
}
 Parameter numbers. More...
 
- Public Types inherited from casacore::Function< T, U >
typedef FunctionTraits< T >::ArgType ArgType
 
typedef const ArgTypeFunctionArg
 
- Protected Attributes inherited from casacore::Function< T, U >
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...
 

Detailed Description

template<class T>
class casacore::UnaryFunction< T >

A one dimensional unary function

Intended use:

Public interface

Review Status

Test programs:
tFunctionHolder

Prerequisite

Etymology

A 1-dimensional unary hat.

Synopsis

A Unary is described by a height, a center and a width (halfwidth). The value is:

height (|x-center| < width)
0.5height (|x-center| == width)
0 (|x-center| > width)

The parameters are enumerated by HEIGHT, CENTER and WIDTH. They have default values of (1, 0, 1).

Example

UnaryFunction<Double> sf(5.0, 25.0, 7);
sf(25); // = 5.0

Template Type Argument Requirements (T)

Thrown Exceptions

Definition at line 86 of file UnaryFunction.h.

Constructor & Destructor Documentation

◆ UnaryFunction() [1/6]

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

Constructs the UnaryFunction, Defaults: height=1, center=0, width=1.


Warning: Could not use default arguments that worked both with gcc and IRIX

Definition at line 95 of file UnaryFunction.h.

◆ UnaryFunction() [2/6]

template<class T >
casacore::UnaryFunction< T >::UnaryFunction ( const T &  height)
inlineexplicit

Definition at line 96 of file UnaryFunction.h.

◆ UnaryFunction() [3/6]

template<class T >
casacore::UnaryFunction< T >::UnaryFunction ( const T &  height,
const T &  center 
)
inline

Definition at line 98 of file UnaryFunction.h.

◆ UnaryFunction() [4/6]

template<class T >
casacore::UnaryFunction< T >::UnaryFunction ( const T &  height,
const T &  center,
const T &  width 
)
inline

Definition at line 100 of file UnaryFunction.h.

◆ UnaryFunction() [5/6]

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

Copy constructor (deep copy)

Definition at line 106 of file UnaryFunction.h.

◆ UnaryFunction() [6/6]

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

Definition at line 108 of file UnaryFunction.h.

◆ ~UnaryFunction()

template<class T >
virtual casacore::UnaryFunction< T >::~UnaryFunction ( )
inlinevirtual

Destructor.

Definition at line 115 of file UnaryFunction.h.

Member Function Documentation

◆ clone()

template<class T >
virtual Function<T>* casacore::UnaryFunction< T >::clone ( ) const
inlinevirtual

Return a copy of this object from the heap.

The caller is responsible for deleting this pointer.

Implements casacore::Function< T, U >.

Definition at line 128 of file UnaryFunction.h.

◆ cloneAD()

template<class T >
virtual Function<typename FunctionTraits<T>::DiffType>* casacore::UnaryFunction< T >::cloneAD ( ) const
inlinevirtual

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

Definition at line 129 of file UnaryFunction.h.

◆ cloneNonAD()

template<class T >
virtual Function<typename FunctionTraits<T>::BaseType>* casacore::UnaryFunction< T >::cloneNonAD ( ) const
inlinevirtual

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

Definition at line 131 of file UnaryFunction.h.

◆ eval()

template<class T >
virtual T casacore::UnaryFunction< T >::eval ( typename Function< T >::FunctionArg  x) const
virtual

Evaluate the Unary at x.

If a vector is used as the argument only its first element is used.

◆ operator=()

template<class T >
UnaryFunction<T>& casacore::UnaryFunction< T >::operator= ( const UnaryFunction< T > &  other)
inline

Copy assignment (deep copy)

Definition at line 111 of file UnaryFunction.h.

References casacore::UnaryParam< T >::operator=().


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