00001 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 #ifndef TDSPBLOCKFFT_H 00019 #define TDSPBLOCKFFT_H 00020 00021 #include <TDSPfft.h> 00022 #include <TDSPBlockOperation.h> 00023 00036 class TDSPBlockfft : public TDSPfft, public TDSPBlockOperation { 00037 00038 protected: 00039 00040 Int_t fBlockLen; 00041 00042 public: 00043 TDSPBlockfft(char *name = NULL); 00044 ~TDSPBlockfft(); 00045 00046 void SetBlockLen(Int_t b) { fBlockLen = b;}; 00047 Int_t GetBlockLen() { return fBlockLen; }; 00048 00049 // Calculate the fft/ifft of a vector 00050 // 00051 TDSPVector* fft(TDSPVector*in, TDSPVector*out=NULL); 00052 TDSPVector* ifft(TDSPVector*in, TDSPVector*out=NULL); 00053 00054 // Slot-Version 00055 // 00056 TDSPSignal* FFT(TDSPSignal *input); 00057 TDSPSignal* IFFT(TDSPSignal *input); 00058 00059 ClassDef(TDSPBlockfft,1) 00060 00061 }; 00062 00063 // global Blockfft-object 00064 00065 extern TDSPBlockfft *gBlockFFT; 00066 00067 // global fft-routines 00068 00069 TDSPVector *blockfft(TDSPVector *in, Int_t BlockLen, TDSPVector *out = NULL); 00070 TDSPVector *blockifft(TDSPVector *in, Int_t BlockLen, TDSPVector *out = NULL); 00071 00072 #endif
1.3.2