casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Private Attributes
casa::MathFunc< T > Class Template Reference

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

#include <MathFunc.h>

Inheritance diagram for casa::MathFunc< T >:
casa::ExpSincConv< T > casa::GaussianConv< T > casa::KB_Conv< T > casa::Mod_KB_Conv< T > casa::Sinc_Conv< T > casa::Sph_Conv< T > casa::Unary< T >

List of all members.

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 casa::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 153 of file MathFunc.h.


Constructor & Destructor Documentation

template<class T>
casa::MathFunc< T >::MathFunc ( FUNCTYPE  )

constructors

template<class T>
casa::MathFunc< T >::MathFunc ( FUNCTYPE  ,
cutoff,
arg1 = 1.0e+30,
arg2 = 1.0e+30,
arg3 = 1.0e+30 
)

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

template<class T>
casa::MathFunc< T >::MathFunc ( String ,
Vector< double > &   
)
template<class T>
casa::MathFunc< T >::MathFunc ( const MathFunc< T > &  )
template<class T>
casa::MathFunc< T >::MathFunc ( MathFunc< T > *  )
template<class T>
virtual casa::MathFunc< T >::~MathFunc ( ) [virtual]

Destructor.

template<class T>
casa::MathFunc< T >::MathFunc ( ) [protected]

Default constructor (Null)


Member Function Documentation

template<class T>
virtual MathFunc<T>* casa::MathFunc< T >::clone ( ) const [protected, virtual]

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

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

template<class T>
static T casa::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 204 of file MathFunc.h.

References casa::MathFunc< T >::defcutoff_p.

template<class T>
static T casa::MathFunc< T >::defExpPower ( ) [inline, static]

The default exponential power for Exp_Sinc_Conv.

Definition at line 220 of file MathFunc.h.

References casa::MathFunc< T >::defExpPower_p.

template<class T>
static T casa::MathFunc< T >::defExpScale ( ) [inline, static]

The default exponential scale length for Exp_Sinc_Conv.

Definition at line 222 of file MathFunc.h.

References casa::MathFunc< T >::defExpScale_p.

template<class T>
static T casa::MathFunc< T >::defKBparm ( ) [inline, static]

A default parameter for KB_Conv and Mod_KB_Conv.

Definition at line 210 of file MathFunc.h.

References casa::MathFunc< T >::defKBparm_p.

template<class T>
static T casa::MathFunc< T >::defKBwidth ( ) [inline, static]

The default width for KB_Conv and Mod_KB_Conv.

Definition at line 208 of file MathFunc.h.

References casa::MathFunc< T >::defKBwidth_p.

template<class T>
static T casa::MathFunc< T >::defmodKBparm ( ) [inline, static]

A default parameter for Mod_KB_Conv.

Definition at line 212 of file MathFunc.h.

References casa::MathFunc< T >::defmodKBparm_p.

template<class T>
static T casa::MathFunc< T >::defSincparm ( ) [inline, static]

The default Sinc parameter for Sinc_Conv and Exp_Sinc_Conv.

Definition at line 216 of file MathFunc.h.

References casa::MathFunc< T >::defSincparm_p.

template<class T>
static T casa::MathFunc< T >::defSphcutoff ( ) [inline, static]

The default support radius for Sinc_Conv and Sph_Conv.

Definition at line 214 of file MathFunc.h.

References casa::MathFunc< T >::defSphcutoff_p.

template<class T>
static T casa::MathFunc< T >::defSphparm ( ) [inline, static]

The default parameter for Sph_Conv.

Definition at line 218 of file MathFunc.h.

References casa::MathFunc< T >::defSphparm_p.

template<class T>
static T casa::MathFunc< T >::defwidth ( ) [inline, static]

The default width for Gaussian_Conv.

Definition at line 206 of file MathFunc.h.

References casa::MathFunc< T >::defwidth_p.

template<class T>
virtual FuncId casa::MathFunc< T >::id ( ) const [virtual]
template<class T>
static MathFunc<T>* casa::MathFunc< T >::newMathFunc ( const MathFunc< T > &  ) [static]

create a new math function

template<class T>
MathFunc<T>& casa::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.

template<class T>
virtual T casa::MathFunc< T >::sup_value ( ) const [virtual]
template<class T>
virtual T casa::MathFunc< T >::value ( const T &  a) const [virtual]

compute and return a value of the math function

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


Member Data Documentation

template<class T>
T casa::MathFunc< T >::defcutoff_p [static, private]

Definition at line 241 of file MathFunc.h.

Referenced by casa::MathFunc< T >::defcutoff().

template<class T>
T casa::MathFunc< T >::defExpPower_p [static, private]

Definition at line 249 of file MathFunc.h.

Referenced by casa::MathFunc< T >::defExpPower().

template<class T>
T casa::MathFunc< T >::defExpScale_p [static, private]

Definition at line 250 of file MathFunc.h.

Referenced by casa::MathFunc< T >::defExpScale().

template<class T>
T casa::MathFunc< T >::defKBparm_p [static, private]

Definition at line 243 of file MathFunc.h.

Referenced by casa::MathFunc< T >::defKBparm().

template<class T>
T casa::MathFunc< T >::defKBwidth_p [static, private]

Definition at line 244 of file MathFunc.h.

Referenced by casa::MathFunc< T >::defKBwidth().

template<class T>
T casa::MathFunc< T >::defmodKBparm_p [static, private]

Definition at line 245 of file MathFunc.h.

Referenced by casa::MathFunc< T >::defmodKBparm().

template<class T>
T casa::MathFunc< T >::defSincparm_p [static, private]

Definition at line 248 of file MathFunc.h.

Referenced by casa::MathFunc< T >::defSincparm().

template<class T>
T casa::MathFunc< T >::defSphcutoff_p [static, private]

Definition at line 246 of file MathFunc.h.

Referenced by casa::MathFunc< T >::defSphcutoff().

template<class T>
T casa::MathFunc< T >::defSphparm_p [static, private]

Definition at line 247 of file MathFunc.h.

Referenced by casa::MathFunc< T >::defSphparm().

template<class T>
T casa::MathFunc< T >::defwidth_p [static, private]

Definition at line 242 of file MathFunc.h.

Referenced by casa::MathFunc< T >::defwidth().

template<class T>
MathFunc<T>* casa::MathFunc< T >::object [protected]

pointer to letter class

Definition at line 238 of file MathFunc.h.


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