casacore
|
A class to generate values of mathematical functions. More...
#include <MathFunc.h>
Public Member Functions | |
MathFunc (FUNCTYPE) | |
constructors More... | |
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 More... | |
MathFunc (String &, Vector< double > &) | |
MathFunc (const MathFunc< T > &) | |
MathFunc (MathFunc< T > *) | |
virtual | ~MathFunc () |
Destructor. More... | |
MathFunc< T > & | operator= (const MathFunc< T > &) |
Assignment operator - Note: this function works only for envelops. More... | |
virtual T | sup_value () const |
return value of support width More... | |
virtual T | value (const T &a) const |
compute and return a value of the math function More... | |
virtual FuncId | id () const |
return a FuncId structure for Table storage/retrieval. More... | |
Static Public Member Functions | |
static MathFunc< T > * | newMathFunc (const MathFunc< T > &) |
create a new math function More... | |
static T | defcutoff () |
These functions return the static constants used as default parameters for the various derived functions. More... | |
static T | defwidth () |
The default width for Gaussian_Conv. More... | |
static T | defKBwidth () |
The default width for KB_Conv and Mod_KB_Conv. More... | |
static T | defKBparm () |
A default parameter for KB_Conv and Mod_KB_Conv. More... | |
static T | defmodKBparm () |
A default parameter for Mod_KB_Conv. More... | |
static T | defSphcutoff () |
The default support radius for Sinc_Conv and Sph_Conv. More... | |
static T | defSincparm () |
The default Sinc parameter for Sinc_Conv and Exp_Sinc_Conv. More... | |
static T | defSphparm () |
The default parameter for Sph_Conv. More... | |
static T | defExpPower () |
The default exponential power for Exp_Sinc_Conv. More... | |
static T | defExpScale () |
The default exponential scale length for Exp_Sinc_Conv. More... | |
Protected Member Functions | |
virtual MathFunc< T > * | clone () const |
for every derived class, return new of that class with its own parameters More... | |
MathFunc () | |
Default constructor (Null) More... | |
Protected Attributes | |
MathFunc< T > * | object |
pointer to letter class More... | |
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 |
A class to generate values of mathematical functions.
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 153 of file MathFunc.h.
casacore::MathFunc< T >::MathFunc | ( | FUNCTYPE | ) |
constructors
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
casacore::MathFunc< T >::MathFunc | ( | String & | , |
Vector< double > & | |||
) |
casacore::MathFunc< T >::MathFunc | ( | const MathFunc< T > & | ) |
casacore::MathFunc< T >::MathFunc | ( | MathFunc< T > * | ) |
|
virtual |
Destructor.
|
protected |
Default constructor (Null)
|
protectedvirtual |
for every derived class, return new of that class with its own parameters
Reimplemented in casacore::ExpSincConv< T >, casacore::Sph_Conv< T >, casacore::Sinc_Conv< T >, casacore::Mod_KB_Conv< T >, casacore::KB_Conv< T >, casacore::GaussianConv< T >, and casacore::Unary< T >.
|
inlinestatic |
These functions return the static constants used as default parameters for the various derived functions.
The default support radius
Definition at line 204 of file MathFunc.h.
References casacore::MathFunc< T >::defcutoff_p.
|
inlinestatic |
The default exponential power for Exp_Sinc_Conv.
Definition at line 220 of file MathFunc.h.
References casacore::MathFunc< T >::defExpPower_p.
|
inlinestatic |
The default exponential scale length for Exp_Sinc_Conv.
Definition at line 222 of file MathFunc.h.
References casacore::MathFunc< T >::defExpScale_p.
|
inlinestatic |
A default parameter for KB_Conv and Mod_KB_Conv.
Definition at line 210 of file MathFunc.h.
References casacore::MathFunc< T >::defKBparm_p.
|
inlinestatic |
The default width for KB_Conv and Mod_KB_Conv.
Definition at line 208 of file MathFunc.h.
References casacore::MathFunc< T >::defKBwidth_p.
|
inlinestatic |
A default parameter for Mod_KB_Conv.
Definition at line 212 of file MathFunc.h.
References casacore::MathFunc< T >::defmodKBparm_p.
|
inlinestatic |
The default Sinc parameter for Sinc_Conv and Exp_Sinc_Conv.
Definition at line 216 of file MathFunc.h.
References casacore::MathFunc< T >::defSincparm_p.
|
inlinestatic |
The default support radius for Sinc_Conv and Sph_Conv.
Definition at line 214 of file MathFunc.h.
References casacore::MathFunc< T >::defSphcutoff_p.
|
inlinestatic |
The default parameter for Sph_Conv.
Definition at line 218 of file MathFunc.h.
References casacore::MathFunc< T >::defSphparm_p.
|
inlinestatic |
The default width for Gaussian_Conv.
Definition at line 206 of file MathFunc.h.
References casacore::MathFunc< T >::defwidth_p.
|
virtual |
return a FuncId structure for Table storage/retrieval.
Reimplemented in casacore::ExpSincConv< T >, casacore::Sph_Conv< T >, casacore::Sinc_Conv< T >, casacore::Mod_KB_Conv< T >, casacore::KB_Conv< T >, casacore::GaussianConv< T >, and casacore::Unary< T >.
|
static |
create a new math function
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.
|
virtual |
return value of support width
Reimplemented in casacore::ExpSincConv< T >, casacore::Sph_Conv< T >, casacore::Sinc_Conv< T >, casacore::Mod_KB_Conv< T >, casacore::KB_Conv< T >, casacore::GaussianConv< T >, and casacore::Unary< T >.
|
virtual |
compute and return a value of the math function
Reimplemented in casacore::ExpSincConv< T >, casacore::Sinc_Conv< T >, casacore::Mod_KB_Conv< T >, casacore::KB_Conv< T >, casacore::GaussianConv< T >, and casacore::Unary< T >.
|
staticprivate |
Definition at line 241 of file MathFunc.h.
Referenced by casacore::MathFunc< T >::defcutoff().
|
staticprivate |
Definition at line 249 of file MathFunc.h.
Referenced by casacore::MathFunc< T >::defExpPower().
|
staticprivate |
Definition at line 250 of file MathFunc.h.
Referenced by casacore::MathFunc< T >::defExpScale().
|
staticprivate |
Definition at line 243 of file MathFunc.h.
Referenced by casacore::MathFunc< T >::defKBparm().
|
staticprivate |
Definition at line 244 of file MathFunc.h.
Referenced by casacore::MathFunc< T >::defKBwidth().
|
staticprivate |
Definition at line 245 of file MathFunc.h.
Referenced by casacore::MathFunc< T >::defmodKBparm().
|
staticprivate |
Definition at line 248 of file MathFunc.h.
Referenced by casacore::MathFunc< T >::defSincparm().
|
staticprivate |
Definition at line 246 of file MathFunc.h.
Referenced by casacore::MathFunc< T >::defSphcutoff().
|
staticprivate |
Definition at line 247 of file MathFunc.h.
Referenced by casacore::MathFunc< T >::defSphparm().
|
staticprivate |
Definition at line 242 of file MathFunc.h.
Referenced by casacore::MathFunc< T >::defwidth().
|
protected |
pointer to letter class
Definition at line 238 of file MathFunc.h.