casacore
Loading...
Searching...
No Matches
casacore::MarshButterworthBandpass< T > Class Template Reference

More...

#include <MarshButterworthBandpass.h>

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, U >
typedef const T * FunctionArg
Public Types inherited from casacore::Function< T, T >
typedef FunctionTraits< T >::ArgType ArgType
typedef const ArgType * FunctionArg

Public Member Functions

 MarshButterworthBandpass ()
 create a zero-th order (all-pass) Butterworth bandpass.
 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.
 MarshButterworthBandpass (const Record &gr) throw (InvalidSerializationError)
 create a fully specified Butterworth polynomial from parameters stored in a Record.
 MarshButterworthBandpass (const SimButterworthBandpass< T > &other)
 create a deep copy of another Butterworth polynomial
 MarshButterworthBandpass (const MarshButterworthBandpass< T > &other)
MarshButterworthBandpass< T > & operator= (const MarshButterworthBandpass< T > &other)
 make a (deep) copy of another Butterworth polynomial
MarshButterworthBandpass< T > & operator= (const SimButterworthBandpass< T > &other)
virtual ~MarshButterworthBandpass ()
 Destructor.
virtual void store (Record &gr) const
 store the state of this Function into a Record
virtual Function< T > * clone () const
 Create a copy of this object.
Public Member Functions inherited from casacore::SimButterworthBandpass< T >
 SimButterworthBandpass ()
 create a zero-th order (all-pass) Butterworth bandpass function.
 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.
 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
 SimButterworthBandpass (const SimButterworthBandpass &other)
 create a copy of another Butterworth bandpass function
SimButterworthBandpass< T > & operator= (const SimButterworthBandpass< T > &other)
 copy(deep) another Butterworth function
virtual ~SimButterworthBandpass ()
 Destructor.
virtual T eval (const typename FunctionTraits< T >::ArgType *x) const
 Evaluate the bandpass at "x".
void setCenter (const T &x)
 set the center of the bandpass.
const T & getCenter () const
 return the center of the bandpass.
void setMinCutoff (const T &x)
 set the characteristic minimum (high-pass) cutoff value.
void setMaxCutoff (const T &x)
 set the characteristic maximum (low-pass) cutoff value.
void setMinOrder (uInt order)
 set the order of the Butterworth function for the minimum (high-pass) portion of the bandpass
void setMaxOrder (uInt order)
 set the order of the Butterworth function for the maximum (low-pass) portion of the bandpass
const T & getMinCutoff () const
 return the characteristic minimum (high-pass) cutoff value.
const T & getMaxCutoff () const
 return the characteristic maximum (low-pass) cutoff value.
uInt getMinOrder () const
 return the order of the Butterworth function for the minimum (high-pass) portion of the bandpass
uInt getMaxOrder () const
 return the order of the Butterworth function for the maximum (low-pass) portion of the bandpass
void setPeak (T val)
 set the scale of the function by setting its peak value.
const T & getPeak () const
 return the scale of the function
virtual void setMode (const RecordInterface &mode)
 get/set the function mode.
virtual void getMode (RecordInterface &mode) const
virtual Bool hasMode () const
 return True if the implementing function supports a mode.
Public Member Functions inherited from casacore::Function1D< T, U >
 Function1D ()
 Constructors.
 Function1D (const uInt n)
 Function1D (const Vector< T > &in)
 Function1D (const FunctionParam< T > &other)
template<class W, class X>
 Function1D (const Function1D< W, X > &other)
virtual ~Function1D ()
 Destructor.
virtual uInt ndim () const
 Returns the number of dimensions of function.
Public Member Functions inherited from casacore::Function< T, T >
 Function ()
 Constructors.
virtual ~Function ()
 Destructor.
uInt nparameters () const
 Returns the number of parameters.
virtual T eval (FunctionArg x) const=0
 Evaluate the function object.
T & operator[] (const uInt n)
 Manipulate the nth parameter (0-based) with no index check.
virtual T operator() () const
 Evaluate this function object at xor at x, y.
virtual const String & name () const
 Specify the name associated with the function (default will be unknown).
Bool & mask (const uInt n)
 Manipulate the mask associated with the nth parameter (e.g.
const FunctionParam< T > & parameters () const
 Return the parameter interface.
const Vector< ArgType > & argp () const
 Get arg_p and parset_p.
Bool parsetp () const
void lockParam ()
 Compiler cannot always find the correct 'const' version of parameter access.
void unlockParam ()
ostream & print (ostream &os) const
 Print the function (i.e.
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.
virtual T operator() (const FunctionTraits< T >::ArgType &x) const=0
 Map a Domain x into a Range y value.
Public Member Functions inherited from casacore::Functional< Vector< FunctionTraits< T >::ArgType >, T >
virtual ~Functional ()
 Destructor.
virtual T operator() (const Vector< FunctionTraits< T >::ArgType > &x) const=0
 Map a Domain x into a Range y value.
Public Member Functions inherited from casacore::FunctionMarshallable
 FunctionMarshallable (const String &functype)
 create a FunctionMarshallable.
 FunctionMarshallable (const FunctionMarshallable &other)
virtual ~FunctionMarshallable ()
virtual FunctionMarshallable & operator= (const FunctionMarshallable &other)
const String & getFuncType () const
 return the name representing the Function type that will be placed in the functype field of Record passed to store().
void loadFuncType (Record &gr) const
 load functype field into the given Record

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.
Vector< ArgType > arg_p
 Aid for non-contiguous argument storage.
Bool parset_p
 Indicate parameter written.
Bool locked_p
 Indicate that parameters are expected to be locked from changing.

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

  • Assertion in debug mode if attempt is made to address incorrect coefficients

Definition at line 84 of file MarshButterworthBandpass.h.

Member Enumeration Documentation

◆ FieldNames

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 93 of file MarshButterworthBandpass.h.

Constructor & Destructor Documentation

◆ MarshButterworthBandpass() [1/5]

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

◆ MarshButterworthBandpass() [2/5]

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

◆ MarshButterworthBandpass() [3/5]

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.

References casacore::Record().

◆ MarshButterworthBandpass() [4/5]

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

create a deep copy of another Butterworth polynomial

Definition at line 125 of file MarshButterworthBandpass.h.

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

◆ MarshButterworthBandpass() [5/5]

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

◆ ~MarshButterworthBandpass()

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

Destructor.

Definition at line 149 of file MarshButterworthBandpass.h.

Member Function Documentation

◆ clone()

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 156 of file MarshButterworthBandpass.h.

References MarshButterworthBandpass().

◆ operator=() [1/2]

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 133 of file MarshButterworthBandpass.h.

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

◆ operator=() [2/2]

◆ store()

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.

References casacore::Record().

Member Data Documentation

◆ FUNCFIELDS

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

Definition at line 89 of file MarshButterworthBandpass.h.

◆ FUNCTYPE

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

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