Logo ROOT   6.13/01
Reference Guide
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
TFFTReal Class Reference

Definition at line 67 of file TFFTReal.h.

Public Member Functions

 TFFTReal ()
 default More...
 
 TFFTReal (Int_t n, Bool_t inPlace=kFALSE)
 For 1d transforms n here is the physical size of the transform (see FFTW manual for more details) More...
 
 TFFTReal (Int_t ndim, Int_t *n, Bool_t inPlace=kFALSE)
 For multidimensional transforms 1st parameter is the # of dimensions, 2nd is the sizes (physical) of the transform in each dimension. More...
 
virtual ~TFFTReal ()
 clean-up More...
 
virtual Int_t * GetN () const
 
virtual Int_t GetNdim () const
 
virtual void GetPointComplex (const Int_t *ipoint, Double_t &re, Double_t &im, Bool_t fromInput=kFALSE) const
 Only for input of HC2R and output of R2HC and for 1d. More...
 
virtual void GetPointComplex (Int_t ipoint, Double_t &re, Double_t &im, Bool_t fromInput=kFALSE) const
 Only for input of HC2R and output of R2HC. More...
 
virtual Double_t GetPointReal (Int_t ipoint, Bool_t fromInput=kFALSE) const
 For 1d tranforms. Returns point #ipoint. More...
 
virtual Double_t GetPointReal (const Int_t *ipoint, Bool_t fromInput=kFALSE) const
 For multidim.transforms. Returns point #ipoint. More...
 
virtual void GetPoints (Double_t *data, Bool_t fromInput=kFALSE) const
 Copies the output (or input) points into the provided array, that should be big enough. More...
 
virtual void GetPointsComplex (Double_t *, Double_t *, Bool_t) const
 
virtual void GetPointsComplex (Double_t *, Bool_t) const
 
virtual Double_t * GetPointsReal (Bool_t fromInput=kFALSE) const
 Returns the output (or input) array. More...
 
virtual Int_t GetSign () const
 
virtual Int_t GetSize () const
 
virtual Option_t * GetTransformFlag () const
 
virtual Option_t * GetType () const
 Returns the type of the transform. More...
 
virtual void Init (Option_t *flags, Int_t sign, const Int_t *kind)
 Creates the fftw-plan. More...
 
virtual Bool_t IsInplace () const
 
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)
 Since multidimensional R2HC and HC2R transforms are not supported, third parameter is dummy. More...
 
virtual void SetPointComplex (Int_t, TComplex &)
 
virtual void SetPoints (const Double_t *data)
 Sets all points. More...
 
virtual void SetPointsComplex (const Double_t *, const Double_t *)
 
virtual void Transform ()
 Computes the transform, specified in Init() function. More...
 

Protected Member Functions

UInt_t MapFlag (Option_t *flag)
 allowed options: "ES" - FFTW_ESTIMATE "M" - FFTW_MEASURE "P" - FFTW_PATIENT "EX" - FFTW_EXHAUSTIVE More...
 
Int_t MapOptions (const Int_t *kind)
 transfers the r2r_kind parameters to fftw type More...
 

Protected Attributes

TString fFlags
 
void * fIn
 
void * fKind
 
Int_t * fN
 
Int_t fNdim
 
void * fOut
 
void * fPlan
 
Int_t fTotalSize
 

#include <TFFTReal.h>

Inheritance diagram for TFFTReal:
[legend]

Constructor & Destructor Documentation

◆ TFFTReal() [1/3]

TFFTReal::TFFTReal ( )

default

Definition at line 67 of file TFFTReal.cxx.

◆ TFFTReal() [2/3]

TFFTReal::TFFTReal ( Int_t  n,
Bool_t  inPlace = kFALSE 
)

For 1d transforms n here is the physical size of the transform (see FFTW manual for more details)

Definition at line 82 of file TFFTReal.cxx.

◆ TFFTReal() [3/3]

TFFTReal::TFFTReal ( Int_t  ndim,
Int_t *  n,
Bool_t  inPlace = kFALSE 
)

For multidimensional transforms 1st parameter is the # of dimensions, 2nd is the sizes (physical) of the transform in each dimension.

Definition at line 101 of file TFFTReal.cxx.

◆ ~TFFTReal()

TFFTReal::~TFFTReal ( )
virtual

clean-up

Definition at line 122 of file TFFTReal.cxx.

Member Function Documentation

◆ GetN()

virtual Int_t* TFFTReal::GetN ( ) const
inlinevirtual

Definition at line 90 of file TFFTReal.h.

◆ GetNdim()

virtual Int_t TFFTReal::GetNdim ( ) const
inlinevirtual

Definition at line 91 of file TFFTReal.h.

◆ GetPointComplex() [1/2]

void TFFTReal::GetPointComplex ( const Int_t *  ipoint,
Double_t &  re,
Double_t &  im,
Bool_t  fromInput = kFALSE 
) const
virtual

Only for input of HC2R and output of R2HC and for 1d.

Definition at line 274 of file TFFTReal.cxx.

◆ GetPointComplex() [2/2]

void TFFTReal::GetPointComplex ( Int_t  ipoint,
Double_t &  re,
Double_t &  im,
Bool_t  fromInput = kFALSE 
) const
virtual

Only for input of HC2R and output of R2HC.

Definition at line 254 of file TFFTReal.cxx.

◆ GetPointReal() [1/2]

Double_t TFFTReal::GetPointReal ( Int_t  ipoint,
Bool_t  fromInput = kFALSE 
) const
virtual

For 1d tranforms. Returns point #ipoint.

Definition at line 228 of file TFFTReal.cxx.

◆ GetPointReal() [2/2]

Double_t TFFTReal::GetPointReal ( const Int_t *  ipoint,
Bool_t  fromInput = kFALSE 
) const
virtual

For multidim.transforms. Returns point #ipoint.

Definition at line 241 of file TFFTReal.cxx.

◆ GetPoints()

void TFFTReal::GetPoints ( Double_t *  data,
Bool_t  fromInput = kFALSE 
) const
virtual

Copies the output (or input) points into the provided array, that should be big enough.

Definition at line 218 of file TFFTReal.cxx.

◆ GetPointsComplex() [1/2]

virtual void TFFTReal::GetPointsComplex ( Double_t *  ,
Double_t *  ,
Bool_t   
) const
inlinevirtual

Definition at line 105 of file TFFTReal.h.

◆ GetPointsComplex() [2/2]

virtual void TFFTReal::GetPointsComplex ( Double_t *  ,
Bool_t   
) const
inlinevirtual

Definition at line 106 of file TFFTReal.h.

◆ GetPointsReal()

Double_t * TFFTReal::GetPointsReal ( Bool_t  fromInput = kFALSE) const
virtual

Returns the output (or input) array.

Definition at line 282 of file TFFTReal.cxx.

◆ GetSign()

virtual Int_t TFFTReal::GetSign ( ) const
inlinevirtual

Definition at line 93 of file TFFTReal.h.

◆ GetSize()

virtual Int_t TFFTReal::GetSize ( ) const
inlinevirtual

Definition at line 89 of file TFFTReal.h.

◆ GetTransformFlag()

virtual Option_t* TFFTReal::GetTransformFlag ( ) const
inlinevirtual

Definition at line 94 of file TFFTReal.h.

◆ GetType()

Option_t * TFFTReal::GetType ( ) const
virtual

Returns the type of the transform.

Definition at line 202 of file TFFTReal.cxx.

◆ Init()

void TFFTReal::Init ( Option_t *  flags,
Int_t  sign,
const Int_t *  kind 
)
virtual

Creates the fftw-plan.

NOTE: input and output arrays are overwritten during initialisation, so don't set any points, before running this function!!!!!

1st parameter: Possible flag_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. 2nd parameter is dummy and doesn't need to be specified 3rd parameter- 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 DSTIII - kind=6 DSTIV - kind=7

Definition at line 168 of file TFFTReal.cxx.

◆ IsInplace()

virtual Bool_t TFFTReal::IsInplace ( ) const
inlinevirtual

Definition at line 95 of file TFFTReal.h.

◆ MapFlag()

UInt_t TFFTReal::MapFlag ( Option_t *  flag)
protected

allowed options: "ES" - FFTW_ESTIMATE "M" - FFTW_MEASURE "P" - FFTW_PATIENT "EX" - FFTW_EXHAUSTIVE

Definition at line 394 of file TFFTReal.cxx.

◆ MapOptions()

Int_t TFFTReal::MapOptions ( const Int_t *  kind)
protected

transfers the r2r_kind parameters to fftw type

Definition at line 348 of file TFFTReal.cxx.

◆ SetPoint() [1/2]

void TFFTReal::SetPoint ( Int_t  ipoint,
Double_t  re,
Double_t  im = 0 
)
virtual

Definition at line 302 of file TFFTReal.cxx.

◆ SetPoint() [2/2]

void TFFTReal::SetPoint ( const Int_t *  ipoint,
Double_t  re,
Double_t   
)
virtual

Since multidimensional R2HC and HC2R transforms are not supported, third parameter is dummy.

Definition at line 324 of file TFFTReal.cxx.

◆ SetPointComplex()

virtual void TFFTReal::SetPointComplex ( Int_t  ,
TComplex  
)
inlinevirtual

Definition at line 111 of file TFFTReal.h.

◆ SetPoints()

void TFFTReal::SetPoints ( const Double_t *  data)
virtual

Sets all points.

Definition at line 339 of file TFFTReal.cxx.

◆ SetPointsComplex()

virtual void TFFTReal::SetPointsComplex ( const Double_t *  ,
const Double_t *   
)
inlinevirtual

Definition at line 112 of file TFFTReal.h.

◆ Transform()

void TFFTReal::Transform ( )
virtual

Computes the transform, specified in Init() function.

Definition at line 189 of file TFFTReal.cxx.

Member Data Documentation

◆ fFlags

TString TFFTReal::fFlags
protected

Definition at line 76 of file TFFTReal.h.

◆ fIn

void* TFFTReal::fIn
protected

Definition at line 69 of file TFFTReal.h.

◆ fKind

void* TFFTReal::fKind
protected

Definition at line 75 of file TFFTReal.h.

◆ fN

Int_t* TFFTReal::fN
protected

Definition at line 74 of file TFFTReal.h.

◆ fNdim

Int_t TFFTReal::fNdim
protected

Definition at line 72 of file TFFTReal.h.

◆ fOut

void* TFFTReal::fOut
protected

Definition at line 70 of file TFFTReal.h.

◆ fPlan

void* TFFTReal::fPlan
protected

Definition at line 71 of file TFFTReal.h.

◆ fTotalSize

Int_t TFFTReal::fTotalSize
protected

Definition at line 73 of file TFFTReal.h.

Libraries for TFFTReal:
[legend]

The documentation for this class was generated from the following files: