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

Definition at line 49 of file TFFTComplexReal.h.

Public Member Functions

 TFFTComplexReal ()
 default More...
 
 TFFTComplexReal (Int_t n, Bool_t inPlace)
 For 1d transforms Allocates memory for the input array, and, if inPlace = kFALSE, for the output array. More...
 
 TFFTComplexReal (Int_t ndim, Int_t *n, Bool_t inPlace)
 For ndim-dimensional transforms Second argurment contains sizes of the transform in each dimension. More...
 
virtual ~TFFTComplexReal ()
 Destroys the data arrays and the plan. More...
 
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
 Works only for output (input array is destroyed in a C2R transform) More...
 
virtual void GetPointComplex (const Int_t *ipoint, Double_t &re, Double_t &im, Bool_t fromInput=kFALSE) const
 For multidimensional transforms. More...
 
virtual Double_t GetPointReal (Int_t ipoint, Bool_t fromInput=kFALSE) const
 Returns the point #ipoint Works only for output (input array is destroyed in a C2R transform) More...
 
virtual Double_t GetPointReal (const Int_t *ipoint, Bool_t fromInput=kFALSE) const
 For multidimensional transforms. More...
 
virtual void GetPoints (Double_t *data, Bool_t fromInput=kFALSE) const
 Fills the argument array with the computed transform Works only for output (input array is destroyed in a C2R transform) More...
 
virtual void GetPointsComplex (Double_t *re, Double_t *im, Bool_t fromInput=kFALSE) const
 Fills the argument array with the computed transform Works only for output (input array is destroyed in a C2R transform) More...
 
virtual void GetPointsComplex (Double_t *data, Bool_t fromInput=kFALSE) const
 Fills the argument array with the computed transform. More...
 
virtual Double_t * GetPointsReal (Bool_t fromInput=kFALSE) const
 Returns the array of computed transform Works only for output (input array is destroyed in a C2R transform) More...
 
virtual Int_t GetSign () const
 
virtual Int_t GetSize () const
 
virtual Option_t * GetTransformFlag () const
 
virtual Option_t * GetType () const
 
virtual void Init (Option_t *flags, Int_t, const Int_t *)
 Creates the fftw-plan. More...
 
virtual Bool_t IsInplace () const
 
virtual void SetPoint (Int_t ipoint, Double_t re, Double_t im=0)
 since the input must be complex-Hermitian, if the ipoint > n/2, the according point before n/2 is set to (re, -im) More...
 
virtual void SetPoint (const Int_t *ipoint, Double_t re, Double_t im=0)
 Set the point #ipoint. More...
 
virtual void SetPointComplex (Int_t ipoint, TComplex &c)
 since the input must be complex-Hermitian, if the ipoint > n/2, the according point before n/2 is set to (re, -im) More...
 
virtual void SetPoints (const Double_t *data)
 set all points. More...
 
virtual void SetPointsComplex (const Double_t *re, const Double_t *im)
 Set all points. The values are copied. More...
 
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...
 

Protected Attributes

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

#include <TFFTComplexReal.h>

Inheritance diagram for TFFTComplexReal:
[legend]

Constructor & Destructor Documentation

◆ TFFTComplexReal() [1/3]

TFFTComplexReal::TFFTComplexReal ( )

default

Definition at line 54 of file TFFTComplexReal.cxx.

◆ TFFTComplexReal() [2/3]

TFFTComplexReal::TFFTComplexReal ( Int_t  n,
Bool_t  inPlace 
)

For 1d transforms Allocates memory for the input array, and, if inPlace = kFALSE, for the output array.

Definition at line 68 of file TFFTComplexReal.cxx.

◆ TFFTComplexReal() [3/3]

TFFTComplexReal::TFFTComplexReal ( Int_t  ndim,
Int_t *  n,
Bool_t  inPlace 
)

For ndim-dimensional transforms Second argurment contains sizes of the transform in each dimension.

Definition at line 89 of file TFFTComplexReal.cxx.

◆ ~TFFTComplexReal()

TFFTComplexReal::~TFFTComplexReal ( )
virtual

Destroys the data arrays and the plan.

However, some plan information stays around until the root session is over, and is reused if other plans of the same size are created

Definition at line 115 of file TFFTComplexReal.cxx.

Member Function Documentation

◆ GetN()

virtual Int_t* TFFTComplexReal::GetN ( ) const
inlinevirtual

Definition at line 71 of file TFFTComplexReal.h.

◆ GetNdim()

virtual Int_t TFFTComplexReal::GetNdim ( ) const
inlinevirtual

Definition at line 72 of file TFFTComplexReal.h.

◆ GetPointComplex() [1/2]

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

Works only for output (input array is destroyed in a C2R transform)

Definition at line 223 of file TFFTComplexReal.cxx.

◆ GetPointComplex() [2/2]

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

For multidimensional transforms.

Returns the point #ipoint Works only for output (input array is destroyed in a C2R transform)

Definition at line 238 of file TFFTComplexReal.cxx.

◆ GetPointReal() [1/2]

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

Returns the point #ipoint Works only for output (input array is destroyed in a C2R transform)

Definition at line 191 of file TFFTComplexReal.cxx.

◆ GetPointReal() [2/2]

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

For multidimensional transforms.

Returns the point #ipoint Works only for output (input array is destroyed in a C2R transform)

Definition at line 205 of file TFFTComplexReal.cxx.

◆ GetPoints()

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

Fills the argument array with the computed transform Works only for output (input array is destroyed in a C2R transform)

Definition at line 177 of file TFFTComplexReal.cxx.

◆ GetPointsComplex() [1/2]

void TFFTComplexReal::GetPointsComplex ( Double_t *  re,
Double_t *  im,
Bool_t  fromInput = kFALSE 
) const
virtual

Fills the argument array with the computed transform Works only for output (input array is destroyed in a C2R transform)

Definition at line 274 of file TFFTComplexReal.cxx.

◆ GetPointsComplex() [2/2]

void TFFTComplexReal::GetPointsComplex ( Double_t *  data,
Bool_t  fromInput = kFALSE 
) const
virtual

Fills the argument array with the computed transform.

Works only for output (input array is destroyed in a C2R transform)

Definition at line 291 of file TFFTComplexReal.cxx.

◆ GetPointsReal()

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

Returns the array of computed transform Works only for output (input array is destroyed in a C2R transform)

Definition at line 257 of file TFFTComplexReal.cxx.

◆ GetSign()

virtual Int_t TFFTComplexReal::GetSign ( ) const
inlinevirtual

Definition at line 74 of file TFFTComplexReal.h.

◆ GetSize()

virtual Int_t TFFTComplexReal::GetSize ( ) const
inlinevirtual

Definition at line 70 of file TFFTComplexReal.h.

◆ GetTransformFlag()

virtual Option_t* TFFTComplexReal::GetTransformFlag ( ) const
inlinevirtual

Definition at line 75 of file TFFTComplexReal.h.

◆ GetType()

virtual Option_t* TFFTComplexReal::GetType ( ) const
inlinevirtual

Definition at line 73 of file TFFTComplexReal.h.

◆ Init()

void TFFTComplexReal::Init ( Option_t *  flags,
Int_t  ,
const Int_t *   
)
virtual

Creates the fftw-plan.

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

Arguments sign and kind are dummy and not need to be specified Possible flag_options: "ES" (from "estimate") - no time in preparing the transform, but probably sub-optimal performanc "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.

Definition at line 146 of file TFFTComplexReal.cxx.

◆ IsInplace()

virtual Bool_t TFFTComplexReal::IsInplace ( ) const
inlinevirtual

Definition at line 76 of file TFFTComplexReal.h.

◆ MapFlag()

UInt_t TFFTComplexReal::MapFlag ( Option_t *  flag)
protected

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

Definition at line 388 of file TFFTComplexReal.cxx.

◆ SetPoint() [1/2]

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

since the input must be complex-Hermitian, if the ipoint > n/2, the according point before n/2 is set to (re, -im)

Definition at line 308 of file TFFTComplexReal.cxx.

◆ SetPoint() [2/2]

void TFFTComplexReal::SetPoint ( const Int_t *  ipoint,
Double_t  re,
Double_t  im = 0 
)
virtual

Set the point #ipoint.

Since the input is Hermitian, only the first (roughly)half of the points have to be set.

Definition at line 323 of file TFFTComplexReal.cxx.

◆ SetPointComplex()

void TFFTComplexReal::SetPointComplex ( Int_t  ipoint,
TComplex c 
)
virtual

since the input must be complex-Hermitian, if the ipoint > n/2, the according point before n/2 is set to (re, -im)

Definition at line 344 of file TFFTComplexReal.cxx.

◆ SetPoints()

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

set all points.

the values are copied. points should be ordered as follows: [re_0, im_0, re_1, im_1, ..., re_n, im_n)

Definition at line 359 of file TFFTComplexReal.cxx.

◆ SetPointsComplex()

void TFFTComplexReal::SetPointsComplex ( const Double_t *  re,
const Double_t *  im 
)
virtual

Set all points. The values are copied.

Definition at line 372 of file TFFTComplexReal.cxx.

◆ Transform()

void TFFTComplexReal::Transform ( )
virtual

Computes the transform, specified in Init() function.

Definition at line 163 of file TFFTComplexReal.cxx.

Member Data Documentation

◆ fFlags

TString TFFTComplexReal::fFlags
protected

Definition at line 58 of file TFFTComplexReal.h.

◆ fIn

void* TFFTComplexReal::fIn
protected

Definition at line 52 of file TFFTComplexReal.h.

◆ fN

Int_t* TFFTComplexReal::fN
protected

Definition at line 57 of file TFFTComplexReal.h.

◆ fNdim

Int_t TFFTComplexReal::fNdim
protected

Definition at line 55 of file TFFTComplexReal.h.

◆ fOut

void* TFFTComplexReal::fOut
protected

Definition at line 53 of file TFFTComplexReal.h.

◆ fPlan

void* TFFTComplexReal::fPlan
protected

Definition at line 54 of file TFFTComplexReal.h.

◆ fTotalSize

Int_t TFFTComplexReal::fTotalSize
protected

Definition at line 56 of file TFFTComplexReal.h.

Libraries for TFFTComplexReal:
[legend]

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