Diana Software
QRealComplexFFT.hh
Go to the documentation of this file.
1 
2 #ifndef _Q_REAL_COMPLEX_FFT_HH_
3 #define _Q_REAL_COMPLEX_FFT_HH_
4 
5 #include "QRealComplexFFTW3.hh"
6 #include "QRealComplexFFTGSL.hh"
7 
9 
32 class QRealComplexFFT : public QFFT {
33 
34 public:
36  QRealComplexFFT(const size_t Size);
37 
38  virtual ~QRealComplexFFT();
45  virtual int TransformToFreq(const QVector& data, QVectorC& FFT,
46  bool compress=false);
53  virtual int TransformFromFreq(const QVectorC& FT, QVector& spectrum,
54  bool compress=false);
55 
56 
61  virtual void SetWindowType(WindowType wt, int coherent = 0);
62 
63  static const char *GetFFTLibrary();
64 
65 
71  static double fTimer;
72 
73  static size_t fNCalls;
74 
75 private:
76 
80  bool Resize(size_t s) { return true; }
81 
85  int Transform(const QVector &,QVector &) { return 0; }
86 
89 
91 };
92 
94 
96 
97 #endif
#define Q_END_NAMESPACE
Definition: QDiana.hh:22
#define Q_BEGIN_NAMESPACE
Definition: QDiana.hh:20
QRealComplexFFT * gRealComplexFFT
Interface for ffts in Diana analysis.
Definition: QFFT.hh:26
WindowType
window type
Definition: QFFT.hh:30
ClassDef(QFFT, 0)
perform FFT of real vectors using GSL FFT
Real to complex FFT using FFTW3.
Wrapper for a specific QRealComplexFFT algorithm class.
virtual ~QRealComplexFFT()
static const char * GetFFTLibrary()
bool Resize(size_t s)
Not implemented.
static size_t fNCalls
virtual void SetWindowType(WindowType wt, int coherent=0)
resize working table and space
QRealComplexFFTW3 * fFFTW
int Transform(const QVector &, QVector &)
Not implemented in this class. Only called classes.
virtual int TransformFromFreq(const QVectorC &FT, QVector &spectrum, bool compress=false)
transform from the frequencies to the times
virtual int TransformToFreq(const QVector &data, QVectorC &FFT, bool compress=false)
transform from the times to the frequencies
QRealComplexFFTGSL * fGSL
static double fTimer
The total amount of time performing FFTs by the program.
Interface for complex vectors in Diana analysis.
Definition: QVectorC.hh:25
Interface for vectors in Diana analysis.
Definition: QVector.hh:30