Acoustic Research Tool (ART)  v0.10
WaveObjectInterface Class Reference

This is the common interface for all waveobjects passed between elements.

It was introduced to allow models to calculate their acoustic properties in a variety of different but compatible ways. By passing waves between elements one element can return its properties in the time domain, while the next element calculates its properties in the frequency domain. Some elements can return pressure matrices, others impedance matrices. The wave interface is supposed to provide a standardized way of communication between the elements and to convert waves to the type required by the next element. Wave objects can assume any form, but must specify conversion functions to other forms. If a conversion is not possible, the waveobject's conversion function should throw an error.

Inheritance diagram for WaveObjectInterface:
WaveObjectMMImpedance

Public Member Functions

virtual void ImpedanceMatrix (ARTdataContainer *&out)=0
 This function must prepare the conversation of the waveobject to a single-mode impedance matrix.
virtual void MultiModeImpedanceMatrix (ARTdataContainer *&out)=0
 This function must prepare the conversion of the waveobject to a multimode impedance matrix of dimensions (Number of modes x Number of frequencies).
virtual void TransferMatrix (ARTdataContainer *&out)=0
 This function must prepare the conversion of the waveobject to a one- dimensional complex transfer matrix.
virtual void MultiModeTransferMatrix (ARTdataContainer *&out)=0
 This function must prepare the conversion of the waveobject to a complex transfer matrix of dimensions (Number of modes x Number of frequencies).
virtual void PressureFlowMatrix (ARTdataContainer *&out)=0
 This function must prepare the conversion of the waveobject to a one-dimensional complex pressure matrix.
virtual void MultimodePressureFlowMatrix (ARTdataContainer *&out)=0
 This function must prepare the conversion of the waveobject to a complex pressure matrix of dimensions modes X modes.
virtual void PressureImpulse (ARTdataContainer *&out)=0
 This function must prepare the conversion of the waveobject to an impulse representing a pressure wave in the time domain.

Member Function Documentation

virtual void WaveObjectInterface::ImpedanceMatrix ( ARTdataContainer *&  out)
pure virtual

This function must prepare the conversation of the waveobject to a single-mode impedance matrix.

Parameters
outthe data container the output is written to

Implemented in WaveObjectMMImpedance.

virtual void WaveObjectInterface::MultiModeImpedanceMatrix ( ARTdataContainer *&  out)
pure virtual

This function must prepare the conversion of the waveobject to a multimode impedance matrix of dimensions (Number of modes x Number of frequencies).

Parameters
outthe data container the output is written to

Implemented in WaveObjectMMImpedance.

virtual void WaveObjectInterface::MultimodePressureFlowMatrix ( ARTdataContainer *&  out)
pure virtual

This function must prepare the conversion of the waveobject to a complex pressure matrix of dimensions modes X modes.

Parameters
outthe data container the output is written to

Implemented in WaveObjectMMImpedance.

virtual void WaveObjectInterface::MultiModeTransferMatrix ( ARTdataContainer *&  out)
pure virtual

This function must prepare the conversion of the waveobject to a complex transfer matrix of dimensions (Number of modes x Number of frequencies).

Parameters
outthe data container the output is written to

Implemented in WaveObjectMMImpedance.

virtual void WaveObjectInterface::PressureFlowMatrix ( ARTdataContainer *&  out)
pure virtual

This function must prepare the conversion of the waveobject to a one-dimensional complex pressure matrix.

Parameters
outthe data container the output is written to

Implemented in WaveObjectMMImpedance.

virtual void WaveObjectInterface::PressureImpulse ( ARTdataContainer *&  out)
pure virtual

This function must prepare the conversion of the waveobject to an impulse representing a pressure wave in the time domain.

Parameters
outthe data container the output is written to

Implemented in WaveObjectMMImpedance.

virtual void WaveObjectInterface::TransferMatrix ( ARTdataContainer *&  out)
pure virtual

This function must prepare the conversion of the waveobject to a one- dimensional complex transfer matrix.

Parameters
outthe data container the output is written to

Implemented in WaveObjectMMImpedance.