QRealComplexFFT.hh

Go to the documentation of this file.
00001 
00010 #ifndef __QREALCOMPLFFT_
00011 #define __QREALCOMPLFFT_
00012 
00013 #include "QFFT.hh"
00014 #include <gsl/gsl_fft_real.h>
00015 #include <gsl/gsl_fft_halfcomplex.h>
00016 
00017 Q_BEGIN_NAMESPACE
00018 
00019 class QVectorC;
00020 
00021 class QRealComplexFFT: public QFFT{
00022 
00023         public: 
00028                 QRealComplexFFT(const int size);
00032                 QRealComplexFFT();
00036                 virtual ~QRealComplexFFT();
00043                 virtual int TransformToFreq(const QVector& data, QVectorC& FFT); 
00050                 virtual int TransformFromFreq(const QVectorC& FT, QVector& spectrum); 
00051 
00052 
00057                 virtual void SetWindowType(WindowType wt, bool coherent = false);
00058         protected:
00059 
00060                 virtual int Transform(const QVector& data, QVector& result); 
00061 
00062         private:
00063                 // RF should not be called from outside, but done automatically at Transform time
00064                 virtual void Resize(int s);
00075                 gsl_fft_real_wavetable* fWaveTable;
00076                 gsl_fft_halfcomplex_wavetable* fHCWaveTable;
00077                 gsl_fft_real_workspace* fWork;
00078 
00079 
00080 };
00081 
00082 Q_END_NAMESPACE
00083 
00084 #endif

Generated on Tue Nov 16 10:49:57 2010 for CUORE Software by  doxygen 1.5.6