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

Represents a time module with a single function output port which is used as lookup table.

The main difference to other time modules is that the value of the output ports are predefined and not simulated. This module is perfectly feasible to save transfer functions of instruments which will later be input for a convolution function.

See Also
ARTItimeModule::FPortType
Inheritance diagram for inputFunctionModule:
ARTItimeModule ARTobject ARTcell

Public Member Functions

 inputFunctionModule (const string &name="InputFunctionModule", const string &sds="", const string &lds="", const string &htm="")
 Constructor of the inputFunctionModule class.
virtual ARTItimeModuleCreate (const string &name, const string &sds="", const string &lds="", const string &htm="")
 Factory function which creates a new function time module object with the given input parameters.
virtual void addIPort (const string &name, const ARTdataProp *refPort)
 Adds a new input port to the current time module.
virtual void defineOPort (int len, const string &expr)
 Creates a new function output port with the given length and the initial expression.
virtual ARTdataPropgetPort (const string &name)
 Returns a pointer to the port object with the given name.
virtual void setCurrentIndex (int idx)
 This method does not do anything as this module does not evaluate any expressions during the simulation.
virtual void simulateCurrentIndex (int idx)
 This method does not do anything as this module does not evaluate any expressions during the simulation.
virtual ~inputFunctionModule ()
 Destructor of the inptFunctionModule class.
- Public Member Functions inherited from ARTItimeModule
 ARTItimeModule (const string &name, const string &sds="", const string &lds="", const string &htm="")
 Constructor of the ARTItimeModule class.
 ARTItimeModule (const ARTItimeModule &orig)
 Copy constructor which creates a new time module based on the given time module.
virtual void setLocalParameter (const string &name, const string &expr)
 Sets the definition of the local parameter with the given name.
virtual void setLocalParameter (const string &name, const std::complex< double > &val)
 Sets the definition of the local parameter with the given name.
virtual void setLocalParameter (const string &name, const double val)
 Sets the definition of the local parameter with the given name.
virtual void addGlobalParameter (const ARTdataProp *parameter)
 Adds a global parameter to the current time module by registering it to all output ports and local parameters.
virtual void removeGlobalParameter (const string &name)
 Removes the definition of the given global parameter from all output ports and local parameters.
virtual void setSimulator (ARTsimulator *sim)
 Sets the simulator of the current time module and all its output ports.
virtual ~ARTItimeModule ()
 Destructor of the ARTItimeModule class.
- Public Member Functions inherited from ARTobject
 ARTobject (const string name, const string sds="", const string lds="", const string htm="")
 objects must have a name, the rest is optional
 ARTobject (const ARTobject &orig)
 copy constructor
virtual ARTcellclone ()
ARTpropertyGetProperties (ARTproperty *pos)
 iterate through property list (pass NULL to restart iteration, receive NULL after last element)
ARTpropertyFindProperty (const string nam)
 find and return named property (or return NULL if no match)
ARTpropertyAppendProperty (const string name, const string sds="", const string lds="", const string htm="")
 Append new property with given name to ARTobject.
ARTdataPropAppendDataProp (const string name, ARTvariant *val, const string sds="", const string lds="", const string htm="")
 append new data property with given name to ARTobject
ARTdataPropAppendDataProp (const string name, const double val, const string sds="", const string lds="", const string htm="")
ARTdataPropAppendDataProp (const string name, const float val, const string sds="", const string lds="", const string htm="")
ARTdataPropAppendDataProp (const string name, const string val, const string sds="", const string lds="", const string htm="")
ARTdataPropAppendDataProp (const string name, const int val, const string sds="", const string lds="", const string htm="")
ARTdataPropAppendDataProp (const string name, const string *val, const string sds="", const string lds="", const string htm="")
ARTdataPropAppendDataProp (ARTdataProp *dataProp)
ARTlistPropAppendListProp (const string name, const string sds="", const string lds="", const string htm="")
 append new listableProperty with given name
bool DeleteProperty (ARTproperty *prp)
 delete current property (which was recently accessed by GetProperties, FindProperty or AppendProperty)
ARTmethodGetMethods (ARTmethod *pos)
 iterate through method list (pass NULL to restart iteration, receive NULL after last element)
ARTmethodFindMethod (const string nam)
 find and return named method (or return NULL if no match)
ARTmethodAppendMethod (const string name, const string sds="", const string lds="", const string htm="")
 append new method with given name
bool DeleteMethod (ARTmethod *mtd)
 delete current method (which was recently accessed by GetProperties, FindProperty or AppendProperty)
void SetPropertyList (list< ARTproperty * > &l)
void CopyPropertyListEntries (ARTobject *obj)
 copies properties from other objects (also copying the objects of all list-entries). OVERWRITES list own list!
void CopyMethodListEntries (ARTobject *obj)
 copies methods from other objects (also copying the objects of all list-entries). OVERWRITES list own list!
list< ARTproperty * > GetPropertyList ()
list< ARTmethod * > GetMethodList ()
- Public Member Functions inherited from ARTcell
 ARTcell (const string name="", const string sds="", const string lds="", const string htm="")
 ARTcell (const ARTcell &orig)
const string & GetName () const
const string & GetShortDescription () const
const string & GetLongDescription () const
const string & GetHelpFilename () const
void SetName (const string name)

Protected Attributes

FPortTypeout_
 Pointer to the output function port.
- Protected Attributes inherited from ARTItimeModule
ARTtimeSimulator_simulator
 Simulator object to which the current time module belongs.
- Protected Attributes inherited from ARTobject
list< ARTproperty * > propertyList_
list< ARTproperty * >::iterator piter_
list< ARTmethod * > methodList_
list< ARTmethod * >::iterator miter_
- Protected Attributes inherited from ARTcell
string name_
 Identifier of ARTObject.
string shortDesc_
 Short Description of ARTObject (single line hint)
string longDesc_
 Long Description of ARTObject (multi line text)
string helpFile_
 File name of HTML help file for ARTObject.

Constructor & Destructor Documentation

inputFunctionModule::inputFunctionModule ( const string &  name = "InputFunctionModule",
const string &  sds = "",
const string &  lds = "",
const string &  htm = "" 
)
explicit

Constructor of the inputFunctionModule class.

Parameters
[in]nameRepresents the unique identifier of the input function module.
[in]sdsShort description (single line) of the input function module.
[in]ldsLong description of the input function module.
[in]htmPath to help file in HTML format.

Member Function Documentation

void inputFunctionModule::addIPort ( const string &  name,
const ARTdataProp refPort 
)
virtual

Adds a new input port to the current time module.

Parameters
[in]nameLocally unique identifier of the new input port.
[in]refPortPointer to an existing output port which will be associated with the new input port.
Exceptions
ARTerrorIf the given name already exists for another object in the current time module.

Implements ARTItimeModule.

ARTItimeModule * inputFunctionModule::Create ( const string &  name,
const string &  sds = "",
const string &  lds = "",
const string &  htm = "" 
)
virtual

Factory function which creates a new function time module object with the given input parameters.

Parameters
[in]nameRepresents the unique identifier of the input function module.
[in]sdsShort description (single line) of the input function module.
[in]ldsLong description of the input function module.
[in]htmPath to help file in HTML format.

Implements ARTItimeModule.

void inputFunctionModule::defineOPort ( int  len,
const string &  expr 
)
virtual

Creates a new function output port with the given length and the initial expression.

Parameters
[in]lenThe length of the function port. The length will not be adapted during the simulation.
[in]exprAn initial evaluation expression for the function port.
Exceptions
ARTerrorIf the given length is less or equal zero.
ARTdataProp * inputFunctionModule::getPort ( const string &  name)
virtual

Returns a pointer to the port object with the given name.

The input function module only has a single valid name for an output port which is called "out". Trying to get any other property with another name will trigger an exception.

Exceptions
ARTerrorIf no port with the given name could be found in the current module.

Reimplemented from ARTItimeModule.

Member Data Documentation

FPortType* inputFunctionModule::out_
protected

Pointer to the output function port.