2 #ifndef __Q_REAL_COMPLEX_FFTW3_
3 #define __Q_REAL_COMPLEX_FFTW3_
11 #if defined(_HAVE_FFTW3_) && !defined(__CINT__) && !defined(__CLING__)
174 #if defined(_HAVE_FFTW3_) && !defined(__CINT__) && !defined(__CLING__)
183 fftw_plan fFFTW_Forward_Plan;
187 fftw_plan fFFTW_Backward_Plan;
195 fftw_complex *fComplexData;
#define Q_BEGIN_NAMESPACE
Base class for FFTW3 classes.
Interface for ffts in Diana analysis.
Real to complex FFT using FFTW3.
virtual bool ClearCache(bool clearMem=true)
Free the allocated memory.
ClassDef(QRealComplexFFTW3, 0)
bool Resize(size_t s)
Resize the allocated memory.
size_t fAllocatedSize
Size of the allocated array.
const int fStride
The stride of the arrays.
virtual ~QRealComplexFFTW3()
destructor
virtual void SetWindowType(WindowType wt, int coherent=0)
resize working table and space
virtual bool CreatePlan(bool Forward)
Create a plan for this FFT (or any of this size)
virtual int Transform(const QVector &data, QVector &result)
Perform the transformation.
virtual int TransformFromFreq(const QVectorC &FT, QVector &spectrum, bool compress=false)
transform from the frequencies to the times
bool CheckPlanCompatible(const QVector &data, const QVector &result) const
Check to see if the fftw can be done without copying the data.
QRealComplexFFTW3()
empty constructor
bool fSizeLock
Lock the FFT size.
virtual int TransformToFreq(const QVector &data, QVectorC &FFT, bool compress=false)
transform from the times to the frequencies
Interface for complex vectors in Diana analysis.
Interface for vectors in Diana analysis.