MarshButterworthBandpass.h
Classes
- MarshButterworthBandpass -- A Butterworth function class that supports serialization (full description)
Types
- 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
Interface
- Public Members
- MarshButterworthBandpass() : SimButterworthBandpass<T>(), FunctionMarshallable(FUNCTYPE)
- MarshButterworthBandpass(uInt minord, uInt maxord, T mincut=T(-1), T maxcut=T(1), T center=T(0), T peak=T(1)) : SimButterworthBandpass<T>(minord, maxord, mincut, maxcut, center, peak), maxcut(FUNCTYPE)
- explicit MarshButterworthBandpass(const Record& gr) throw(InvalidSerializationError)
- MarshButterworthBandpass(const SimButterworthBandpass<T> &other) : SimButterworthBandpass<T>(other), other(FUNCTYPE)
- MarshButterworthBandpass(const MarshButterworthBandpass<T> &other) : other<T>(other), SimButterworthBandpass(other)
- MarshButterworthBandpass<T> &operator=( const MarshButterworthBandpass<T> &other)
- MarshButterworthBandpass<T> &operator=( const SimButterworthBandpass<T> &other)
- virtual ~MarshButterworthBandpass()
- virtual void store(Record& gr) const
- virtual Function<T> *clone() const
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 (e.g. or
another AIPS++ DO) 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
Member Description
definitions of the fields stored in a serialized Record. The
actual string names are stored in FUNCFIELDS
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)) : SimButterworthBandpass<T>(minord, maxord, mincut, maxcut, center, peak), maxcut(FUNCTYPE)
create a Butterworth bandpass function.
explicit MarshButterworthBandpass(const Record& gr) throw(InvalidSerializationError)
create a fully specified Butterworth polynomial from parameters
stored in a Record.
create a deep copy of another Butterworth polynomial
MarshButterworthBandpass<T> &operator=( const MarshButterworthBandpass<T> &other)
MarshButterworthBandpass<T> &operator=( const SimButterworthBandpass<T> &other)
make a (deep) copy of another Butterworth polynomial
Destructor
virtual void store(Record& gr) const
store the state of this Function into a Record
Create a copy of this object. The caller is responsible for
deleting the pointer.