File: TransmissionFunction.h

package info (click to toggle)
kwave 25.04.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 23,272 kB
  • sloc: cpp: 56,173; xml: 817; perl: 688; sh: 57; makefile: 11
file content (47 lines) | stat: -rw-r--r-- 1,883 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/***************************************************************************
 TransmissionFunction.h  - virtual base class for transmission functions
                             -------------------
    begin                : Mar 14 2003
    copyright            : (C) 2003 by Thomas Eschenbacher
    email                : Thomas Eschenbacher <thomas.eschenbacher@gmx.de>
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef TRANSMISSION_FUNCTION_H
#define TRANSMISSION_FUNCTION_H

#include "config.h"

namespace Kwave
{
    class TransmissionFunction
    {
    public:

        /** Destructor */
        virtual ~TransmissionFunction() {}

        /**
         * Returns the value of the transmission function at a given
         * frequency.
         * @param f frequency, normed to be between 0 and PI
         * @return amplitude at the given frequency, normed to 1.0
         * @todo convert to a function that returns a complex value
         *       with phase info
         */
        virtual double at(double f) = 0;
    };
}

#endif /* TRANSMISSION_FUNCTION_H */

//***************************************************************************
//***************************************************************************