MarshButterworthBandpass.h

Classes

MarshButterworthBandpass -- A Butterworth function class that supports serialization (full description)

class MarshButterworthBandpass : public SimButterworthBandpass<T>, public FunctionMarshallable

Types

enum FieldNames

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

Description

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

Member Description

enum FieldNames

definitions of the fields stored in a serialized Record. The actual string names are stored in FUNCFIELDS

MarshButterworthBandpass() : SimButterworthBandpass<T>(), FunctionMarshallable(FUNCTYPE)

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.

MarshButterworthBandpass(const SimButterworthBandpass<T> &other) : SimButterworthBandpass<T>(other), other(FUNCTYPE)
MarshButterworthBandpass(const MarshButterworthBandpass<T> &other) : other<T>(other), SimButterworthBandpass(other)

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

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. The caller is responsible for deleting the pointer.