Public Member Functions

IntensityModel Class Reference
[analogueModels - AnalogueModel implementations]

TODO: Short description for this AnalogueModel. More...

#include <IntensityModel.h>

Inherits AnalogueModel.

Collaboration diagram for IntensityModel:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void filterSignal (Signal &s)
 Has to be overriden by every implementation.

Detailed Description

TODO: Short description for this AnalogueModel.

Definition at line 36 of file IntensityModel.h.


Member Function Documentation

void IntensityModel::filterSignal ( Signal s  )  [inline, virtual]

Has to be overriden by every implementation.

Filters a specified Signal by adding an attenuation over time to the Signal.

Implements AnalogueModel.

Definition at line 40 of file IntensityModel.h.

References Signal::addAttenuation(), Coord::distance(), Signal::getMove(), Signal::getSignalStart(), and TimeMapping< Interpolator >::setValue().

                               {
    TimeMapping<Linear>* attMapping = new TimeMapping<Linear> ();

    // Determine distance between sender and receiver
    Move srcMove = s.getMove();
    Coord srcCoord, rcvCoord;
    double distance = 0;
    srcCoord = srcMove.getPositionAt(s.getSignalStart());
    rcvCoord = move->getPositionAt(s.getSignalStart());
    distance = rcvCoord.distance(srcCoord);

    Argument arg;
    attMapping->setValue(arg, 4*PI*pow(distance, 2));
    s.addAttenuation(attMapping);
  }


The documentation for this class was generated from the following file: