Warning, file /include/root/TFFTComplex.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef ROOT_TFFTComplex
0013 #define ROOT_TFFTComplex
0014
0015 #include "TVirtualFFT.h"
0016 #include "TString.h"
0017
0018 class TComplex;
0019
0020 class TFFTComplex : public TVirtualFFT{
0021 protected:
0022 void *fIn;
0023 void *fOut;
0024 void *fPlan;
0025 Int_t fNdim;
0026 Int_t fTotalSize;
0027 Int_t *fN;
0028 Int_t fSign;
0029 TString fFlags;
0030
0031 UInt_t MapFlag(Option_t *flag);
0032
0033 public:
0034 TFFTComplex();
0035 TFFTComplex(Int_t n, Bool_t inPlace);
0036 TFFTComplex(Int_t ndim, Int_t *n, Bool_t inPlace = kFALSE);
0037 ~TFFTComplex() override;
0038
0039 void Init(Option_t *flags, Int_t sign, const Int_t* ) override;
0040
0041 Int_t *GetN() const override {return fN;}
0042 Int_t GetNdim() const override {return fNdim;}
0043 virtual Int_t GetSize() const {return fTotalSize;}
0044 Option_t *GetType() const override {if (fSign==-1) return "C2CBackward"; else return "C2CForward";}
0045 Int_t GetSign() const override {return fSign;}
0046 Option_t *GetTransformFlag() const override {return fFlags;}
0047 Bool_t IsInplace() const override {if (fOut) return kTRUE; else return kFALSE;};
0048
0049 void GetPoints(Double_t *data, Bool_t fromInput = kFALSE) const override;
0050 Double_t GetPointReal(Int_t , Bool_t ) const override {return 0;};
0051 Double_t GetPointReal(const Int_t* , Bool_t ) const override{return 0;}
0052 void GetPointComplex(Int_t ipoint, Double_t &re, Double_t &im, Bool_t fromInput=kFALSE) const override;
0053 void GetPointComplex(const Int_t *ipoint, Double_t &re, Double_t &im, Bool_t fromInput=kFALSE) const override;
0054 Double_t* GetPointsReal(Bool_t ) const override {return nullptr;};
0055 void GetPointsComplex(Double_t *re, Double_t *im, Bool_t fromInput = kFALSE) const override ;
0056 void GetPointsComplex(Double_t *data, Bool_t fromInput = kFALSE) const override ;
0057
0058 void SetPoint(Int_t ipoint, Double_t re, Double_t im = 0) override;
0059 void SetPoint(const Int_t *ipoint, Double_t re, Double_t im = 0) override;
0060 void SetPoints(const Double_t *data) override;
0061 void SetPointComplex(Int_t ipoint, TComplex &c) override;
0062 void SetPointsComplex(const Double_t *re, const Double_t *im) override;
0063 void Transform() override;
0064
0065 ClassDefOverride(TFFTComplex,0);
0066 };
0067
0068 #endif