#ifndef ALITPCMONITORFFT_H #define ALITPCMONITORFFT_H /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ /* $Id$ */ //////////////////////////////////////////////////////////////////////// // // AliTPCMonitorFFT class // // Wrapper class to perform Fast Fourier Transformations // Code based on Gnu Scientific Library // See documentation of gsl for further details // // Author: Stefan Kniege, IKF, Frankfurt // // ///////////////////////////////////////////////////////////////////////// #include #include "TNamed.h" #include #define REAL(a,stride,i) ((a)[2*(stride)*(i)]) #define IMAG(a,stride,i) ((a)[2*(stride)*(i)+1]) using namespace std; class AliTPCMonitorFFT : public TNamed { public: AliTPCMonitorFFT(); ~AliTPCMonitorFFT(); Int_t ComplexRadix2ForwardWrap( Double_t* data, Int_t stride, size_t n ); Int_t ComplexRadix2BackwardWrap( Double_t* data, Int_t stride, size_t n ); Int_t ComplexRadix2InverseWrap( Double_t* data, Int_t stride, size_t n ); Int_t ComplexRadix2TransformWrap(Double_t* data, Int_t stride, size_t n, Int_t sign ); Int_t ComplexBitReverseOrderWrap(Double_t* data, Int_t stride, size_t n, Int_t logn); Int_t FFTBinaryLogn(size_t n); private: ClassDef(AliTPCMonitorFFT,1); }; #endif