ITAWholeOctaveMagnitudeSpectrum.h 1.39 KB
Newer Older
1 2 3 4 5
/*
 * ----------------------------------------------------------------
 *
 *		ITA core libs
 *		(c) Copyright Institute of Technical Acoustics (ITA)
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
6
 *		RWTH Aachen University, Germany, 2015-2020
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
 *
 * ----------------------------------------------------------------
 *				    ____  __________  _______
 *				   //  / //__   ___/ //  _   |
 *				  //  /    //  /    //  /_|  |
 *				 //  /    //  /    //  ___   |
 *				//__/    //__/    //__/   |__|
 *
 * ----------------------------------------------------------------
 *
 */

#ifndef INCLUDE_WATCHER_ITA_THIRD_OCTAVE_MAGNITUDE_SPECTRUM
#define INCLUDE_WATCHER_ITA_THIRD_OCTAVE_MAGNITUDE_SPECTRUM

#include <ITABaseDefinitions.h>
#include <ITAMagnitudeSpectrum.h>
24
#include <ITAConstants.h>
25 26


27
namespace ITABase
28
{
29 30 31 32 33 34 35 36 37 38 39

	//! Third octave Magnitude spectrum
	/**
	  * Class for third octave magnitude spectra with predefined center frequencies.
	  *
	  * Will raise CITAException on errors.
	  *
	  * @sa
	  *
	  */
	class ITA_BASE_API CThirdOctaveMagnitudeSpectrum : public CMagnitudeSpectrum
40
	{
41 42 43 44 45 46
	public:
		inline CThirdOctaveMagnitudeSpectrum()
			: CMagnitudeSpectrum( 10 )
		{
			m_vfCenterFrequencies = ITAConstants::OCTAVE_CENTER_FREQUENCIES_ISO_F;
		};
47

48 49 50 51 52
		virtual inline ~CThirdOctaveMagnitudeSpectrum() {};

	protected:
		void SetCenterFrequencies( const std::vector<float>& vfCenterFrequencies );
	};
53

54
}
55 56

#endif // INCLUDE_WATCHER_ITA_THIRD_OCTAVE_MAGNITUDE_SPECTRUM