18 #include <gsl/gsl_fft_halfcomplex.h>
19 #include <gsl/gsl_fft_complex.h>
20 #include <gsl/gsl_errno.h>
22 #include <gsl/gsl_sf.h>
105 QFFT(
const size_t size);
166 static bool IsPowerOf2(UInt_t Value,UInt_t &Power,
#define Q_BEGIN_NAMESPACE
Interface for ffts in Diana analysis.
virtual int Transform(const QVector &data, QVector &result)=0
virtual method. Must be implemented by daughter classes.
static WindowType StrToWindowType(const std::string &winName)
Convert string to window type.
virtual void SetWindowType(WindowType wt, int coherent=false)=0
virtual method. Must be implemented by daughter classes set the window type.
void SetNormalized(bool isNormalized)
virtual method. Must be implemented by daughter classes set the normalization of the transform.
virtual bool Resize(size_t s)=0
virtual method. Must be implemented by daughter classes
virtual ~QFFT()
destructor
void SetForward(bool isForward)
virtual method. Must be implemented by daughter classes set the direction of the transform.
static QVector ZeroPad(const QVector &input, size_t n_zeros, int Side=kMiddle, double zeroVal=0.)
Add zeros to the input.
static QVector CutSides(const QVector &input, size_t ncut, bool isSym)
cut left and right sides by ncut/2
static QVector FFTAntiSym(const QVector &input)
antisimmetrize time domain vector
static QVector GetWindow(WindowType wt, size_t size, size_t zeros=0, int coherent=0, int param=0)
create window and add zeros/2 to the left and zeros/2 to the right
QFFT()
empty constructor with its size
static QVector FFTSym(const QVector &input)
simmetrize time domain vector
int GetWindowType() const
Return the window type.
Interface for complex vectors in Diana analysis.
Interface for vectors in Diana analysis.