casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Attributes | List of all members
casacore::MarshButterworthBandpass< T > Class Template Reference

A Butterworth function class that supports serialization. More...

#include <MarshButterworthBandpass.h>

Inheritance diagram for casacore::MarshButterworthBandpass< T >:
casacore::SimButterworthBandpass< T > casacore::FunctionMarshallable casacore::Function1D< T > casacore::Function< T, T > casacore::Functional< FunctionTraits< T >::ArgType, T > casacore::Functional< Vector< FunctionTraits< T >::ArgType >, T >

Public Types

enum  FieldNames {
  BPASS,
  ORDER,
  PEAK,
  NFieldNames
}
 definitions of the fields stored in a serialized Record. More...
 
- Public Types inherited from casacore::SimButterworthBandpass< T >
enum  {
  CENTER,
  MINCUTOFF,
  MAXCUTOFF,
  PEAK
}
 Enumeration of the function parameters. More...
 
- Public Types inherited from casacore::Function1D< T >
typedef const T * FunctionArg
 
- Public Types inherited from casacore::Function< T, T >
typedef FunctionTraits< T >
::ArgType 
ArgType
 
typedef const ArgTypeFunctionArg
 

Public Member Functions

 MarshButterworthBandpass ()
 create a zero-th order (all-pass) Butterworth bandpass. More...
 
 MarshButterworthBandpass (uInt minord, uInt maxord, T mincut=T(-1), T maxcut=T(1), T center=T(0), T peak=T(1))
 create a Butterworth bandpass function. More...
 
 MarshButterworthBandpass (const Record &gr) throw (InvalidSerializationError)
 create a fully specified Butterworth polynomial from parameters stored in a Record. More...
 
 MarshButterworthBandpass (const SimButterworthBandpass< T > &other)
 create a deep copy of another Butterworth polynomial More...
 
 MarshButterworthBandpass (const MarshButterworthBandpass< T > &other)
 
MarshButterworthBandpass< T > & operator= (const MarshButterworthBandpass< T > &other)
 make a (deep) copy of another Butterworth polynomial More...
 
MarshButterworthBandpass< T > & operator= (const SimButterworthBandpass< T > &other)
 
virtual ~MarshButterworthBandpass ()
 Destructor. More...
 
virtual void store (Record &gr) const
 store the state of this Function into a Record More...
 
virtual Function< T > * clone () const
 Create a copy of this object. More...
 
- Public Member Functions inherited from casacore::SimButterworthBandpass< T >
 SimButterworthBandpass ()
 create a zero-th order (all-pass) Butterworth bandpass function. More...
 
 SimButterworthBandpass (const uInt minord, const uInt maxord, const T &mincut=T(-1), const T &maxcut=T(1), const T &center=T(0), const T &peak=T(1))
 create a Butterworth bandpass function. More...
 
 SimButterworthBandpass (const RecordInterface &gr, T mincut=T(-1), T maxcut=T(1), T center=T(0), T peak=T(1))
 create a fully specified Butterworth bandpass in which the low and high pass orders are stored in a Record More...
 
 SimButterworthBandpass (const SimButterworthBandpass &other)
 create a copy of another Butterworth bandpass function More...
 
SimButterworthBandpass< T > & operator= (const SimButterworthBandpass< T > &other)
 copy(deep) another Butterworth function More...
 
virtual ~SimButterworthBandpass ()
 Destructor. More...
 
virtual T eval (const typename FunctionTraits< T >::ArgType *x) const
 Evaluate the bandpass at "x". More...
 
void setCenter (const T &x)
 set the center of the bandpass. More...
 
const T & getCenter () const
 return the center of the bandpass. More...
 
void setMinCutoff (const T &x)
 set the characteristic minimum (high-pass) cutoff value. More...
 
void setMaxCutoff (const T &x)
 set the characteristic maximum (low-pass) cutoff value. More...
 
void setMinOrder (uInt order)
 set the order of the Butterworth function for the minimum (high-pass) portion of the bandpass More...
 
void setMaxOrder (uInt order)
 set the order of the Butterworth function for the maximum (low-pass) portion of the bandpass More...
 
const T & getMinCutoff () const
 return the characteristic minimum (high-pass) cutoff value. More...
 
const T & getMaxCutoff () const
 return the characteristic maximum (low-pass) cutoff value. More...
 
uInt getMinOrder () const
 return the order of the Butterworth function for the minimum (high-pass) portion of the bandpass More...
 
uInt getMaxOrder () const
 return the order of the Butterworth function for the maximum (low-pass) portion of the bandpass More...
 
void setPeak (T val)
 set the scale of the function by setting its peak value. More...
 
const T & getPeak () const
 return the scale of the function More...
 
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...
 
- Public Member Functions inherited from casacore::Function1D< T >
 Function1D ()
 Constructors. More...
 
 Function1D (const uInt n)
 
 Function1D (const Vector< T > &in)
 
 Function1D (const FunctionParam< T > &other)
 
 Function1D (const Function1D< W, X > &other)
 
virtual ~Function1D ()
 Destructor. More...
 
virtual uInt ndim () const
 Returns the number of dimensions of function. More...
 
- Public Member Functions inherited from casacore::Function< T, T >
 Function ()
 Constructors. More...
 
 Function (const uInt n)
 
 Function (const Vector< T > &in)
 
 Function (const FunctionParam< T > &other)
 
 Function (const Function< W, X > &other)
 
virtual ~Function ()
 Destructor. More...
 
uInt nparameters () const
 Returns the number of parameters. More...
 
virtual T 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 T operator() () const
 Evaluate this function object at xor at x, y. More...
 
virtual T operator() (const ArgType &x) const
 
virtual T operator() (const Vector< ArgType > &x) const
 
virtual T operator() (FunctionArg x) const
 
virtual T operator() (const ArgType &x, const ArgType &y) const
 
virtual T operator() (const ArgType &x, const ArgType &y, const ArgType &z) const
 
virtual const Stringname () const
 Specify the name associated with the function (default will be unknown) More...
 
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 ()
 
ostream & print (ostream &os) const
 Print the function (i.e. More...
 
virtual Function< typename
FunctionTraits< T >::DiffType > * 
cloneAD () const
 
virtual Function< typename
FunctionTraits< T >::BaseType > * 
cloneNonAD () const
 
- 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...
 
- Public Member Functions inherited from casacore::FunctionMarshallable
 FunctionMarshallable (const String &functype)
 create a FunctionMarshallable. More...
 
 FunctionMarshallable (const FunctionMarshallable &other)
 
virtual ~FunctionMarshallable ()
 
virtual FunctionMarshallableoperator= (const FunctionMarshallable &other)
 
const StringgetFuncType () const
 return the name representing the Function type that will be placed in the functype field of Record passed to store(). More...
 
void loadFuncType (Record &gr) const
 load functype field into the given Record More...
 

Static Public Attributes

static const String FUNCTYPE
 
static const String FUNCFIELDS []
 

Additional Inherited Members

- Protected Attributes inherited from casacore::Function< T, T >
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::MarshButterworthBandpass< T >

A Butterworth function class that supports serialization.

Intended use:

Public interface

Prerequisite

Etymology

"Marsh" is short for "Marshallable" which means that the class can be serialized into a form that can be transmitted to another execution context. "ButterBandpass" refers to its parent class: SimButterworthBandpass.

Synopsis

This class is a specialization of SimButterworthBandpass class that supports serialization. That is, it allows one to write the state of the SimButterworthBandpass function object into a Record. This record can then be transmitted to another execution context where it can be "reconstituted" as a new object with identical state as this one. This documentation focusses on this serialization functionality (also known as "marshalling"); for details about the general features of this Butterworth function, see the SimButterworthBandpass class.

Example

Motivation

Making SimButterworthBandpass Marshallable provides a convenient way of configuring the simulator tool from.

Thrown Exceptions

Definition at line 87 of file MarshButterworthBandpass.h.

Member Enumeration Documentation

definitions of the fields stored in a serialized Record.

The actual string names are stored in FUNCFIELDS

Enumerator
BPASS 

the minimum cutoff, center, and maximum cutoff values

ORDER 

the orders of the transitions between pass and no-pass

PEAK 

the peak value

NFieldNames 

the number of supported fields

Definition at line 96 of file MarshButterworthBandpass.h.

Constructor & Destructor Documentation

create a zero-th order (all-pass) Butterworth bandpass.

Definition at line 109 of file MarshButterworthBandpass.h.

template<class T>
casacore::MarshButterworthBandpass< T >::MarshButterworthBandpass ( uInt  minord,
uInt  maxord,
mincut = T(-1),
maxcut = T(1),
center = T(0),
peak = T(1) 
)
inline

create a Butterworth bandpass function.

Definition at line 113 of file MarshButterworthBandpass.h.

template<class T>
casacore::MarshButterworthBandpass< T >::MarshButterworthBandpass ( const Record gr)
throw (InvalidSerializationError
)
explicit

create a fully specified Butterworth polynomial from parameters stored in a Record.

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

create a deep copy of another Butterworth polynomial

Definition at line 128 of file MarshButterworthBandpass.h.

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

Definition at line 130 of file MarshButterworthBandpass.h.

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

Destructor.

Definition at line 152 of file MarshButterworthBandpass.h.

Member Function Documentation

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

Create a copy of this object.

The caller is responsible for deleting the pointer.

Reimplemented from casacore::SimButterworthBandpass< T >.

Definition at line 159 of file MarshButterworthBandpass.h.

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

make a (deep) copy of another Butterworth polynomial

Definition at line 136 of file MarshButterworthBandpass.h.

References casacore::FunctionMarshallable::operator=(), and casacore::SimButterworthBandpass< T >::operator=().

template<class T>
MarshButterworthBandpass<T>& casacore::MarshButterworthBandpass< T >::operator= ( const SimButterworthBandpass< T > &  other)
inline
template<class T>
virtual void casacore::MarshButterworthBandpass< T >::store ( Record gr) const
virtual

store the state of this Function into a Record

Implements casacore::FunctionMarshallable.

Member Data Documentation

template<class T>
const String casacore::MarshButterworthBandpass< T >::FUNCFIELDS[]
static

Definition at line 92 of file MarshButterworthBandpass.h.

template<class T>
const String casacore::MarshButterworthBandpass< T >::FUNCTYPE
static

Definition at line 91 of file MarshButterworthBandpass.h.


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