During simulation: fill STU region w/ non null time sums
[u/mrichter/AliRoot.git] / TPC / AliTPCMonitorFFT.h
1 #ifndef ALITPCMONITORFFT_H
2 #define ALITPCMONITORFFT_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9
10 ////////////////////////////////////////////////////////////////////////
11 ////
12 //// AliTPCMonitorFFT class
13 ////
14 //// Wrapper class to perform Fast Fourier Transformations
15 //// Code based on Gnu Scientific Library 
16 //// See documentation of gsl for further details
17 //// 
18 //// Author: Stefan Kniege, IKF, Frankfurt
19 ////       
20 ////
21 /////////////////////////////////////////////////////////////////////////
22
23
24
25 #include <iostream> 
26 #include "TNamed.h"
27 #include <math.h>
28 #define  REAL(a,stride,i) ((a)[2*(stride)*(i)])
29 #define  IMAG(a,stride,i) ((a)[2*(stride)*(i)+1])
30 using namespace std; 
31
32 class AliTPCMonitorFFT : public TNamed { 
33  public:
34     
35     AliTPCMonitorFFT();
36     ~AliTPCMonitorFFT(); 
37     
38     Int_t     ComplexRadix2ForwardWrap(  Double_t* data, Int_t stride, size_t n ); 
39     Int_t     ComplexRadix2BackwardWrap( Double_t* data, Int_t stride, size_t n );  
40     Int_t     ComplexRadix2InverseWrap(  Double_t* data, Int_t stride, size_t n ); 
41     Int_t     ComplexRadix2TransformWrap(Double_t* data, Int_t stride, size_t n, Int_t sign ); 
42     Int_t     ComplexBitReverseOrderWrap(Double_t* data, Int_t stride, size_t n, Int_t logn) const ; 
43     Int_t     FFTBinaryLogn(size_t n) const ;
44
45  private:
46     
47     ClassDef(AliTPCMonitorFFT,1);
48 };
49 #endif
50