
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 |
| Q_BEGIN_NAMESPACE QFFT::QFFT | ( | const int | size | ) |
constructor with its size
| size | is the number of entries of the vector to be transformed |
virtual method. Must be implemented by daughter classes.
| 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
| 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.
| 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.
| 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.
| 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.
Referenced by QRealComplexFFT::SetWindowType().
1.5.6