Loading...
Searching...
No Matches
casacore::MathFunc< T > Class Template Reference
scimath package (libcasa_scimath) » Mathematics_module

A class to generate values of mathematical functions. More...

`#include <MathFunc.h>`

## Public Member Functions

| MathFunc (FUNCTYPE)
| constructors
| MathFunc (FUNCTYPE, T cutoff, T arg1=1.0e+30, T arg2=1.0e+30, T arg3=1.0e+30)
| accept up to 4 arguments, the first being the support radius
| MathFunc (String &, Vector< double > &)
| MathFunc (const MathFunc< T > &)
| MathFunc (MathFunc< T > *)
virtual | ~MathFunc ()
| Destructor.
MathFunc< T > & | operator= (const MathFunc< T > &)
| Assignment operator - Note: this function works only for envelops.
virtual T | sup_value () const
| return value of support width
virtual T | value (const T &a) const
| compute and return a value of the math function
virtual FuncId | id () const
| return a FuncId structure for Table storage/retrieval.

## Static Public Member Functions

static MathFunc< T > * | newMathFunc (const MathFunc< T > &)
| create a new math function
static T | defcutoff ()
| These functions return the static constants used as default parameters for the various derived functions.
static T | defwidth ()
| The default width for Gaussian_Conv.
static T | defKBwidth ()
| The default width for KB_Conv and Mod_KB_Conv.
static T | defKBparm ()
| A default parameter for KB_Conv and Mod_KB_Conv.
static T | defmodKBparm ()
| A default parameter for Mod_KB_Conv.
static T | defSphcutoff ()
| The default support radius for Sinc_Conv and Sph_Conv.
static T | defSincparm ()
| The default Sinc parameter for Sinc_Conv and Exp_Sinc_Conv.
static T | defSphparm ()
| The default parameter for Sph_Conv.
static T | defExpPower ()
| The default exponential power for Exp_Sinc_Conv.
static T | defExpScale ()
| The default exponential scale length for Exp_Sinc_Conv.

## Protected Member Functions

virtual MathFunc< T > * | clone () const
| for every derived class, return new of that class with its own parameters
| MathFunc ()
| Default constructor (Null).

## Protected Attributes

MathFunc< T > * | object
| pointer to letter class

## Static Private Attributes

static T | defcutoff_p
static T | defwidth_p
static T | defKBparm_p
static T | defKBwidth_p
static T | defmodKBparm_p
static T | defSphcutoff_p
static T | defSphparm_p
static T | defSincparm_p
static T | defExpPower_p
static T | defExpScale_p

## Detailed Description

template<class T>
class casacore::MathFunc< T >

A class to generate values of mathematical functions.

### Synopsis

This class is the abstract base class for 1-dimensional math functions.

Actual math functions are then an inherited class from the base class. This approach allows one to define actual function values for each derived class. Then, one can pass a generic MathFunc pointer to other objects, but the other objects will still get function values from the actual inherited function.

By defining each math function as an object, we can place parameters which will not change from one call to the function value to another in the class definition and they only have to be initialized once.

MathFunc is the base class for 1-dimensional math functions

Definition at line 151 of file MathFunc.h.

## Constructor & Destructor Documentation

## MathFunc() [1/6]

template<class T>

casacore::MathFunc< T >::MathFunc | ( | FUNCTYPE |  | ) |

constructors

Referenced by casacore::ExpSincConv< T >::clone(), casacore::GaussianConv< T >::clone(), casacore::KB_Conv< T >::clone(), clone(), casacore::Mod_KB_Conv< T >::clone(), casacore::Sinc_Conv< T >::clone(), casacore::Sph_Conv< T >::clone(), casacore::Unary< T >::clone(), MathFunc(), MathFunc(), newMathFunc(), and operator=().

## MathFunc() [2/6]

template<class T>

casacore::MathFunc< T >::MathFunc | ( | FUNCTYPE | ,
|  | T | cutoff,
|  | T | arg1 = 1.0e+30,
|  | T | arg2 = 1.0e+30,
|  | T | arg3 = 1.0e+30 )

accept up to 4 arguments, the first being the support radius

## MathFunc() [3/6]

template<class T>

casacore::MathFunc< T >::MathFunc | ( | String & | ,
|  | Vector< double > & | )

## MathFunc() [4/6]

template<class T>

casacore::MathFunc< T >::MathFunc | ( | const MathFunc< T > & |  | ) |

References MathFunc().

## MathFunc() [5/6]

template<class T>

casacore::MathFunc< T >::MathFunc | ( | MathFunc< T > * |  | ) |

References MathFunc().

## ~MathFunc()

template<class T>

virtual casacore::MathFunc< T >::~MathFunc | ( |  | ) |

virtual

Destructor.

## MathFunc() [6/6]

template<class T>

casacore::MathFunc< T >::MathFunc | ( |  | ) |

protected

Default constructor (Null).

## Member Function Documentation

## clone()

template<class T>

virtual MathFunc< T > * casacore::MathFunc< T >::clone | ( |  | ) | const

protected virtual

for every derived class, return new of that class with its own parameters

Reimplemented in casacore::ExpSincConv< T >, casacore::GaussianConv< T >, casacore::KB_Conv< T >, casacore::Mod_KB_Conv< T >, casacore::Sinc_Conv< T >, casacore::Sph_Conv< T >, and casacore::Unary< T >.

References MathFunc().

## defcutoff()

template<class T>

T casacore::MathFunc< T >::defcutoff | ( |  | ) |

inline static

These functions return the static constants used as default parameters for the various derived functions.

The default support radius

Definition at line 202 of file MathFunc.h.

References defcutoff_p.

Referenced by casacore::ExpSincConv< T >::ExpSincConv(), casacore::GaussianConv< T >::GaussianConv(), casacore::KB_Conv< T >::KB_Conv(), casacore::Mod_KB_Conv< T >::Mod_KB_Conv(), and casacore::Unary< T >::Unary().

## defExpPower()

template<class T>

T casacore::MathFunc< T >::defExpPower | ( |  | ) |

inline static

The default exponential power for Exp_Sinc_Conv.

Definition at line 218 of file MathFunc.h.

References defExpPower_p.

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

## defExpScale()

template<class T>

T casacore::MathFunc< T >::defExpScale | ( |  | ) |

inline static

The default exponential scale length for Exp_Sinc_Conv.

Definition at line 220 of file MathFunc.h.

References defExpScale_p.

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

## defKBparm()

template<class T>

T casacore::MathFunc< T >::defKBparm | ( |  | ) |

inline static

A default parameter for KB_Conv and Mod_KB_Conv.

Definition at line 208 of file MathFunc.h.

References defKBparm_p.

Referenced by casacore::KB_Conv< T >::KB_Conv(), and casacore::Mod_KB_Conv< T >::Mod_KB_Conv().

## defKBwidth()

template<class T>

T casacore::MathFunc< T >::defKBwidth | ( |  | ) |

inline static

The default width for KB_Conv and Mod_KB_Conv.

Definition at line 206 of file MathFunc.h.

References defKBwidth_p.

Referenced by casacore::KB_Conv< T >::KB_Conv(), and casacore::Mod_KB_Conv< T >::Mod_KB_Conv().

## defmodKBparm()

template<class T>

T casacore::MathFunc< T >::defmodKBparm | ( |  | ) |

inline static

A default parameter for Mod_KB_Conv.

Definition at line 210 of file MathFunc.h.

References defmodKBparm_p.

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

## defSincparm()

template<class T>

T casacore::MathFunc< T >::defSincparm | ( |  | ) |

inline static

The default Sinc parameter for Sinc_Conv and Exp_Sinc_Conv.

Definition at line 214 of file MathFunc.h.

References defSincparm_p.

Referenced by casacore::ExpSincConv< T >::ExpSincConv(), and casacore::Sinc_Conv< T >::Sinc_Conv().

## defSphcutoff()

template<class T>

T casacore::MathFunc< T >::defSphcutoff | ( |  | ) |

inline static

The default support radius for Sinc_Conv and Sph_Conv.

Definition at line 212 of file MathFunc.h.

References defSphcutoff_p.

Referenced by casacore::Sinc_Conv< T >::Sinc_Conv(), and casacore::Sph_Conv< T >::Sph_Conv().

## defSphparm()

template<class T>

T casacore::MathFunc< T >::defSphparm | ( |  | ) |

inline static

The default parameter for Sph_Conv.

Definition at line 216 of file MathFunc.h.

References defSphparm_p.

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

## defwidth()

template<class T>

T casacore::MathFunc< T >::defwidth | ( |  | ) |

inline static

The default width for Gaussian_Conv.

Definition at line 204 of file MathFunc.h.

References defwidth_p.

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

## id()

template<class T>

virtual FuncId casacore::MathFunc< T >::id | ( |  | ) | const

virtual

return a FuncId structure for Table storage/retrieval.

Reimplemented in casacore::ExpSincConv< T >, casacore::GaussianConv< T >, casacore::KB_Conv< T >, casacore::Mod_KB_Conv< T >, casacore::Sinc_Conv< T >, casacore::Sph_Conv< T >, and casacore::Unary< T >.

## newMathFunc()

template<class T>

MathFunc< T > * casacore::MathFunc< T >::newMathFunc | ( | const MathFunc< T > & |  | ) |

static

create a new math function

References MathFunc().

## operator=()

template<class T>

MathFunc< T > & casacore::MathFunc< T >::operator= | ( | const MathFunc< T > & |  | ) |

Assignment operator - Note: this function works only for envelops.

Polymorphism flaws will let you pass a letter as an argument but an exception will be thrown at run time.

References MathFunc().

## sup_value()

template<class T>

virtual T casacore::MathFunc< T >::sup_value | ( |  | ) | const

virtual

return value of support width

Reimplemented in casacore::ExpSincConv< T >, casacore::GaussianConv< T >, casacore::KB_Conv< T >, casacore::Mod_KB_Conv< T >, casacore::Sinc_Conv< T >, casacore::Sph_Conv< T >, and casacore::Unary< T >.

## value()

template<class T>

virtual T casacore::MathFunc< T >::value | ( | const T & | a | ) | const

virtual

compute and return a value of the math function

Reimplemented in casacore::ExpSincConv< T >, casacore::GaussianConv< T >, casacore::KB_Conv< T >, casacore::Mod_KB_Conv< T >, casacore::Sinc_Conv< T >, and casacore::Unary< T >.

## Member Data Documentation

## defcutoff_p

template<class T>

T casacore::MathFunc< T >::defcutoff_p

static private

Definition at line 239 of file MathFunc.h.

Referenced by defcutoff().

## defExpPower_p

template<class T>

T casacore::MathFunc< T >::defExpPower_p

static private

Definition at line 247 of file MathFunc.h.

Referenced by defExpPower().

## defExpScale_p

template<class T>

T casacore::MathFunc< T >::defExpScale_p

static private

Definition at line 248 of file MathFunc.h.

Referenced by defExpScale().

## defKBparm_p

template<class T>

T casacore::MathFunc< T >::defKBparm_p

static private

Definition at line 241 of file MathFunc.h.

Referenced by defKBparm().

## defKBwidth_p

template<class T>

T casacore::MathFunc< T >::defKBwidth_p

static private

Definition at line 242 of file MathFunc.h.

Referenced by defKBwidth().

## defmodKBparm_p

template<class T>

T casacore::MathFunc< T >::defmodKBparm_p

static private

Definition at line 243 of file MathFunc.h.

Referenced by defmodKBparm().

## defSincparm_p

template<class T>

T casacore::MathFunc< T >::defSincparm_p

static private

Definition at line 246 of file MathFunc.h.

Referenced by defSincparm().

## defSphcutoff_p

template<class T>

T casacore::MathFunc< T >::defSphcutoff_p

static private

Definition at line 244 of file MathFunc.h.

Referenced by defSphcutoff().

## defSphparm_p

template<class T>

T casacore::MathFunc< T >::defSphparm_p

static private

Definition at line 245 of file MathFunc.h.

Referenced by defSphparm().

## defwidth_p

template<class T>

T casacore::MathFunc< T >::defwidth_p

static private

Definition at line 240 of file MathFunc.h.

Referenced by defwidth().

## object

template<class T>

MathFunc<T>* casacore::MathFunc< T >::object

protected

pointer to letter class

Definition at line 236 of file MathFunc.h.

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

- scimath/Mathematics/MathFunc.h