QFFT Class Reference

Inheritance diagram for QFFT:

QRealComplexFFT

List of all members.


Detailed Description

Interface for ffts in Cuore analysis.

Every fft class written within the CUORE framework should inherit from this class

Public Types

enum  WindowType {
  WT_None = 0, WT_Welch = 1, WT_Rect = 2, WT_Hann = 3,
  WT_Hamming = 4, WT_Cosinus = 5, WT_BlackmanHarris = 6, WT_Kaiser3 = 7
}
 window type

Public Member Functions

 QFFT (const int size)
 constructor with its size
 QFFT ()
 empty constructor with its size
virtual ~QFFT ()
 destructor
virtual int Transform (const QVector &data, QVector &result)=0
 virtual method. Must be implemented by daughter classes.
virtual void Resize (int s)=0
 virtual method. Must be implemented by daughter classes
virtual void SetWindowType (WindowType wt, bool coherent=false)=0
 virtual method. Must be implemented by daughter classes set the window type.
void SetForward (bool isForward)
 virtual method. Must be implemented by daughter classes set the direction of the transform.
void SetNormalized (bool isNormalized)
 virtual method. Must be implemented by daughter classes set the normalization of the transform.
int GetWindow ()
 virtual method. Must be implemented by daughter classes set the direction of the transform.

Static Public Member Functions

static QVector FFTAntiSym (const QVector &input)
 antisimmetrize time domain vector
static QVector FFTSym (const QVector &input)
 simmetrize time domain vector
static QVector ZeroPad (const QVector &input, size_t n_zeros, bool isSym=false, double zeroVal=0.)
 add n_zeros in the middle of input
static WindowType StrToWindowType (const std::string &winName)
 Convert string to window type.
static QVector GetWindow (WindowType wt, size_t size, size_t zeros=0, bool coherent=false)
 create window and add zeros/2 to the left and zeros/2 to the right
static QVector CutSides (const QVector &input, size_t ncut, bool isSym)
 cut left and right sides by ncut/2

Protected Member Functions

void IsPowerOf2 ()

Protected Attributes

int fSize
bool fForward
bool fNormalized
bool fIsPowerOf2
double * fData
double * fWindow
int fWindowSize
WindowType fWindowType


Constructor & Destructor Documentation

Q_BEGIN_NAMESPACE QFFT::QFFT ( const int  size  ) 

constructor with its size

Parameters:
size is the number of entries of the vector to be transformed


Member Function Documentation

virtual int QFFT::Transform ( const QVector data,
QVector result 
) [pure virtual]

virtual method. Must be implemented by daughter classes.

Parameters:
data references the vector of data to be transformed
result references the vector holding the result

Implemented in QRealComplexFFT.

virtual void QFFT::Resize ( int  s  )  [pure virtual]

virtual method. Must be implemented by daughter classes

Parameters:
s is the size of the vector to be transformed

Implemented in QRealComplexFFT.

virtual void QFFT::SetWindowType ( WindowType  wt,
bool  coherent = false 
) [pure virtual]

virtual method. Must be implemented by daughter classes set the window type.

Parameters:
t is the type of window applied

Implemented in QRealComplexFFT.

void QFFT::SetForward ( bool  isForward  )  [inline]

virtual method. Must be implemented by daughter classes set the direction of the transform.

Parameters:
isForward is true when the direction is forward

Referenced by QRealComplexFFT::TransformFromFreq(), and QRealComplexFFT::TransformToFreq().

void QFFT::SetNormalized ( bool  isNormalized  )  [inline]

virtual method. Must be implemented by daughter classes set the normalization of the transform.

Parameters:
isNormalized is true when the fft is normalized

Referenced by QRealComplexFFT::TransformFromFreq(), and QRealComplexFFT::TransformToFreq().

int QFFT::GetWindow (  )  [inline]

virtual method. Must be implemented by daughter classes set the direction of the transform.

Returns:
the type of the window set

Referenced by QRealComplexFFT::SetWindowType().


The documentation for this class was generated from the following files:

Generated on Tue Nov 16 10:50:05 2010 for CUORE Software by  doxygen 1.5.6