Acoustic Research Tool (ART)  v0.10
WaveObjectMMImpedance Class Reference
Inheritance diagram for WaveObjectMMImpedance:
WaveObjectInterface

Classes

class  ConvertMMImpToImp
 A functionoid to convert a multimode impedance matrix into a single mode impedance matrix by dropping all modes except the first mode and to write the modes it into a C_ART_ntri data container. More...

Public Member Functions

 WaveObjectMMImpedance (string name, ARTfunctionoid *MMimpedanceFunc=NULL, ARTdataContainer *frq=NULL)
 A constructor of the multimode impedance waveobject.
 WaveObjectMMImpedance (ARTdataContainer *out, ARTfunctionoid *MMimpedanceFunc=NULL, ARTdataContainer *frq=NULL)
 A constructor of the multimode impedance waveobject, where the user can specify a data container which will be used as internal data container to store the wave.
virtual void SetCalculation (ARTfunctionoid *MMimpedanceFunc, ARTdataContainer *frq)
 Sets the calculating functionoid of the waveobject.
virtual void MultiModeImpedanceMatrix (ARTdataContainer *&out)
 Ensures that the waveobject's multimode impedance matrix is written to data container out.
virtual void ImpedanceMatrix (ARTdataContainer *&out)
 Converts the multimode impedance matrix stored internally in this waveobject to a single mode impedance by dropping the higher modes.
virtual void TransferMatrix (ARTdataContainer *&out)
 not implemented -> throw ARTerror
virtual void MultiModeTransferMatrix (ARTdataContainer *&out)
 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)
 This function must prepare the conversion of the waveobject to a one-dimensional complex pressure matrix.
virtual void MultimodePressureFlowMatrix (ARTdataContainer *&out)
 This function must prepare the conversion of the waveobject to a complex pressure matrix of dimensions modes X modes.
virtual void PressureImpulse (ARTdataContainer *&out)
 This function must prepare the conversion of the waveobject to an impulse representing a pressure wave in the time domain.

Public Attributes

string name_
 name of the waveobject (useful for debugging)

Constructor & Destructor Documentation

WaveObjectMMImpedance::WaveObjectMMImpedance ( string  name,
ARTfunctionoid MMimpedanceFunc = NULL,
ARTdataContainer frq = NULL 
)
inline

A constructor of the multimode impedance waveobject.

Parameters
nameThe name given to the internal data container.
MMimpedanceFuncThe functionoid used for calculation the values of this waveobject.
frqThe frequency grid giving the frequency for every index.
WaveObjectMMImpedance::WaveObjectMMImpedance ( ARTdataContainer out,
ARTfunctionoid MMimpedanceFunc = NULL,
ARTdataContainer frq = NULL 
)
inline

A constructor of the multimode impedance waveobject, where the user can specify a data container which will be used as internal data container to store the wave.

Parameters
outThe data container that should be used to store the wave.
MMimpedanceFuncThe functionoid used for calculation the values of this waveobject.
frqThe frequency grid giving the frequency for every index.

Member Function Documentation

virtual void WaveObjectMMImpedance::ImpedanceMatrix ( ARTdataContainer *&  out)
inlinevirtual

Converts the multimode impedance matrix stored internally in this waveobject to a single mode impedance by dropping the higher modes.

The output format will be C_ART_ntri and therefore also contain the frequencies.

Parameters
outThe data container that should be used to write the multimode impedance matrix wave to. If this is NULL a data container will be created.

Implements WaveObjectInterface.

virtual void WaveObjectMMImpedance::MultiModeImpedanceMatrix ( ARTdataContainer *&  out)
inlinevirtual

Ensures that the waveobject's multimode impedance matrix is written to data container out.

Since this wave format is the same as the format used internally by this waveobject, no conversation needs to take place. If the user specifies a custom data container as an argument in this function, this request could only be fulfilled if the data of the internal data container were copied. This is possible, but it is more efficient to specify the custom data container when creating the object, so that it is used as an internal data container at the same time. So far this was always possible.

Parameters
outThe data container that should be used to write the multimode impedance matrix wave to. If this is NULL the address of the internal data container is written to the pointer.

Implements WaveObjectInterface.

virtual void WaveObjectMMImpedance::MultimodePressureFlowMatrix ( ARTdataContainer *&  out)
inlinevirtual

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

Implements WaveObjectInterface.

virtual void WaveObjectMMImpedance::MultiModeTransferMatrix ( ARTdataContainer *&  out)
inlinevirtual

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

Implements WaveObjectInterface.

virtual void WaveObjectMMImpedance::PressureFlowMatrix ( ARTdataContainer *&  out)
inlinevirtual

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

Implements WaveObjectInterface.

virtual void WaveObjectMMImpedance::PressureImpulse ( ARTdataContainer *&  out)
inlinevirtual

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

Implements WaveObjectInterface.

virtual void WaveObjectMMImpedance::SetCalculation ( ARTfunctionoid MMimpedanceFunc,
ARTdataContainer frq 
)
inlinevirtual

Sets the calculating functionoid of the waveobject.

This function is used to change the way a waveobject's values are calculated after creation of the waveobject.

Parameters
MMimpedanceFuncThe functionoid used for calculation the values of this waveobject.
frqThe frequency grid giving the frequency for every index.