library: libCore
#include "TVirtualFFT.h"

TVirtualFFT


class description - header file - source file - inheritance tree (.pdf)

class TVirtualFFT : public TObject

Inheritance Chart:
TObject
<-
TVirtualFFT
<-
TFFTComplex
TFFTComplexReal
TFFTReal
TFFTRealComplex
 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.


    public:
virtual ~TVirtualFFT() static TClass* Class() static TVirtualFFT* FFT(Int_t ndim, Int_t* n, Option_t* option) static TVirtualFFT* GetCurrentTransform() static const char* GetDefaultFFT() virtual Int_t* GetN() const virtual Int_t GetNdim() const virtual void GetPointComplex(Int_t ipoint, Double_t& re, Double_t& im, Bool_t fromInput = kFALSE) const virtual void GetPointComplex(const Int_t* ipoint, Double_t& re, Double_t& im, Bool_t fromInput = kFALSE) const virtual Double_t GetPointReal(Int_t ipoint, Bool_t fromInput = kFALSE) const virtual Double_t GetPointReal(const Int_t* ipoint, Bool_t fromInput = kFALSE) const virtual void GetPoints(Double_t* data, Bool_t fromInput = kFALSE) const virtual void GetPointsComplex(Double_t* re, Double_t* im, Bool_t fromInput = kFALSE) const virtual void GetPointsComplex(Double_t* data, Bool_t fromInput = kFALSE) const virtual Double_t* GetPointsReal(Bool_t fromInput = kFALSE) const virtual Int_t GetSign() const virtual Option_t* GetTransformFlag() const virtual Option_t* GetType() const virtual void Init(Option_t* flag, Int_t sign, const Int_t* kind) virtual TClass* IsA() const virtual Bool_t IsInplace() const TVirtualFFT& operator=(const TVirtualFFT&) static void SetDefaultFFT(const char* name = "") virtual void SetPoint(Int_t ipoint, Double_t re, Double_t im = 0) virtual void SetPoint(const Int_t* ipoint, Double_t re, Double_t im = 0) virtual void SetPointComplex(Int_t ipoint, TComplex& c) virtual void SetPoints(const Double_t* data) virtual void SetPointsComplex(const Double_t* re, const Double_t* im) static void SetTransform(TVirtualFFT* fft) virtual void ShowMembers(TMemberInspector& insp, char* parent) static TVirtualFFT* SineCosine(Int_t ndim, Int_t* n, Int_t* r2rkind, Option_t* option) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) virtual void Transform()

Data Members


    protected:
static TVirtualFFT* fgFFT current transformer static TString fgDefault default transformer

Class Description

~TVirtualFFT()
destructor
TVirtualFFT* FFT(Int_t ndim, Int_t *n, Option_t *option)
Returns a pointer to the FFT of requested size and type.
Parameters:
 -ndim : number of transform dimensions
 -n    : sizes of each dimension (an array at least ndim long)
 -option : consists of 2 parts - flag option and an option to create a new TVirtualFFT
         1) transform type option:
           Available transform types are:
           C2CForward, C2CBackward, C2R, R2C, R2HC, HC2R, DHT
           see class description for details
         2) flag option: choosing how much time should be spent in planning the transform:
           Possible options:
           "ES" (from "estimate") - no time in preparing the transform,
                                  but probably sub-optimal  performance
           "M"  (from "measure")  - some time spend in finding the optimal way
                                  to do the transform
           "P" (from "patient")   - more time spend in finding the optimal way
                                  to do the transform
           "EX" (from "exhaustive") - the most optimal way is found
           This option should be chosen depending on how many transforms of the
           same size and type are going to be done.
           Planning is only done once, for the first transform of this size and type.
         3) option allowing to choose between the global fgFFT and a new TVirtualFFT object
           ""  - default, changes and returns the global fgFFT variable
           "K" (from "keep")- without touching the global fgFFT,
           creates and returns a new TVirtualFFT*. User is then responsible for deleting it.
 Examples of valid options: "R2C ES K", "C2CF M", "DHT P K", etc.
TVirtualFFT* SineCosine(Int_t ndim, Int_t *n, Int_t *r2rkind, Option_t *option)
Returns a pointer to a sine or cosine transform of requested size and kind

Parameters:
 -ndim    : number of transform dimensions
 -n       : sizes of each dimension (an array at least ndim long)
 -r2rkind : transform kind for each dimension
     4 different kinds of sine and cosine transforms are available
     DCT-I    - kind=0
     DCT-II   - kind=1
     DCT-III  - kind=2
     DCT-IV   - kind=3
     DST-I    - kind=4
     DST-II   - kind=5
     DST-III  - kind=6
     DST-IV   - kind=7
 -option : consists of 2 parts - flag option and an option to create a new TVirtualFFT
         - flag option: choosing how much time should be spent in planning the transform:
           Possible options:
           "ES" (from "estimate") - no time in preparing the transform,
                                  but probably sub-optimal  performance
           "M"  (from "measure")  - some time spend in finding the optimal way
                                  to do the transform
           "P" (from "patient")   - more time spend in finding the optimal way
                                  to do the transform
           "EX" (from "exhaustive") - the most optimal way is found
           This option should be chosen depending on how many transforms of the
           same size and type are going to be done.
           Planning is only done once, for the first transform of this size and type.
         - option allowing to choose between the global fgFFT and a new TVirtualFFT object
           ""  - default, changes and returns the global fgFFT variable
           "K" (from "keep")- without touching the global fgFFT,
           creates and returns a new TVirtualFFT*. User is then responsible for deleting it.
 Examples of valid options: "ES K", "EX", etc
TVirtualFFT* GetCurrentTransform()
 static: return current fgFFT
void SetTransform(TVirtualFFT* fft)
 static: set the current transfrom to parameter
const char * GetDefaultFFT()
 static: return the name of the default fft
void SetDefaultFFT(const char *name)
 static: set name of default fft
Int_t GetNdim()
Int_t GetSign()
void Init(Option_t *flag,Int_t sign, const Int_t *kind)
Bool_t IsInplace()
void GetPoints(Double_t *data, Bool_t fromInput = kFALSE)
Double_t GetPointReal(Int_t ipoint, Bool_t fromInput = kFALSE)
Double_t GetPointReal(const Int_t *ipoint, Bool_t fromInput = kFALSE)
void GetPointComplex(Int_t ipoint, Double_t &re, Double_t &im, Bool_t fromInput=kFALSE)
void GetPointComplex(const Int_t *ipoint, Double_t &re, Double_t &im, Bool_t fromInput=kFALSE)
Double_t* GetPointsReal(Bool_t fromInput=kFALSE)
void GetPointsComplex(Double_t *re, Double_t *im, Bool_t fromInput = kFALSE)
void GetPointsComplex(Double_t *data, Bool_t fromInput = kFALSE)
void SetPoint(Int_t ipoint, Double_t re, Double_t im = 0)
void SetPoint(const Int_t *ipoint, Double_t re, Double_t im = 0)
void SetPoints(const Double_t *data)
void SetPointComplex(Int_t ipoint, TComplex &c)
void SetPointsComplex(const Double_t *re, const Double_t *im)
void Transform()

Author: Anna Kreshuk 10/04/2006
Last update: root/base:$Name: $:$Id: TVirtualFFT.cxx,v 1.4 2006/05/18 07:34:25 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.