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

Definition at line 52 of file TFFTRealComplex.h.

Public Member Functions

 TFFTRealComplex ()
 default More...
 
 TFFTRealComplex (Int_t n, Bool_t inPlace)
 For 1d transforms Allocates memory for the input array, and, if inPlace = kFALSE, for the output array. More...
 
 TFFTRealComplex (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 ~TFFTRealComplex ()
 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
 Returns the point #ipoint. 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 real part of the point #ipoint from the output or the point #ipoint from the input. More...
 
virtual Double_t GetPointReal (const Int_t *ipoint, Bool_t fromInput=kFALSE) const
 Returns the real part of the point #ipoint from the output or the point #ipoint from the input. More...
 
virtual void GetPoints (Double_t *data, Bool_t fromInput=kFALSE) const
 Fills the array data with the computed transform. More...
 
virtual void GetPointsComplex (Double_t *re, Double_t *im, Bool_t fromInput=kFALSE) const
 Fills the argument arrays with the real and imaginary parts of the computed transform. More...
 
virtual void GetPointsComplex (Double_t *data, Bool_t fromInput=kFALSE) const
 Fills the argument arrays with the real and imaginary parts of the computed transform. More...
 
virtual Double_t * GetPointsReal (Bool_t fromInput=kFALSE) const
 Returns the input array// One of the interface classes to the FFTW package, can be used directly or via the TVirtualFFT class. 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)
 Set the point #ipoint. More...
 
virtual void SetPoint (const Int_t *ipoint, Double_t re, Double_t im=0)
 For multidimensional transforms. Set the point #ipoint. More...
 
virtual void SetPointComplex (Int_t ipoint, TComplex &c)
 Sets the point #ipoint (only the real part of the argument is taken) More...
 
virtual void SetPoints (const Double_t *data)
 Set all input points. More...
 
virtual void SetPointsComplex (const Double_t *re, const Double_t *im)
 Set all points. Only the real array is used. More...
 
virtual void Transform ()
 Computes the transform, specified in Init() function. More...
 

Protected Member Functions

UInt_t MapFlag (Option_t *flag)
 allowed options: "ES" "M" "P" "EX" More...
 

Protected Attributes

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

#include <TFFTRealComplex.h>

Inheritance diagram for TFFTRealComplex:
[legend]

Constructor & Destructor Documentation

◆ TFFTRealComplex() [1/3]

TFFTRealComplex::TFFTRealComplex ( )

default

Definition at line 54 of file TFFTRealComplex.cxx.

◆ TFFTRealComplex() [2/3]

TFFTRealComplex::TFFTRealComplex ( 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 TFFTRealComplex.cxx.

◆ TFFTRealComplex() [3/3]

TFFTRealComplex::TFFTRealComplex ( 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 TFFTRealComplex.cxx.

◆ ~TFFTRealComplex()

TFFTRealComplex::~TFFTRealComplex ( )
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 118 of file TFFTRealComplex.cxx.

Member Function Documentation

◆ GetN()

virtual Int_t* TFFTRealComplex::GetN ( ) const
inlinevirtual

Definition at line 73 of file TFFTRealComplex.h.

◆ GetNdim()

virtual Int_t TFFTRealComplex::GetNdim ( ) const
inlinevirtual

Definition at line 74 of file TFFTRealComplex.h.

◆ GetPointComplex() [1/2]

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

Returns the point #ipoint.

For 1d, if ipoint > fN/2+1 (the point is in the Hermitian symmetric part), it is still returned. For >1d, only the first (roughly)half of points can be returned For 2d, see function GetPointComplex(Int_t *ipoint,...)

Definition at line 242 of file TFFTRealComplex.cxx.

◆ GetPointComplex() [2/2]

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

For multidimensional transforms.

Returns the point #ipoint. In case of transforms of more than 2 dimensions, only points from the first (roughly)half are returned, the rest being Hermitian symmetric

Definition at line 287 of file TFFTRealComplex.cxx.

◆ GetPointReal() [1/2]

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

Returns the real part of the point #ipoint from the output or the point #ipoint from the input.

Definition at line 207 of file TFFTRealComplex.cxx.

◆ GetPointReal() [2/2]

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

Returns the real part of the point #ipoint from the output or the point #ipoint from the input.

Definition at line 221 of file TFFTRealComplex.cxx.

◆ GetPoints()

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

Fills the array data with the computed transform.

Only (roughly) a half of the transform is copied (exactly the output of FFTW), the rest being Hermitian symmetric with the first half

Definition at line 183 of file TFFTRealComplex.cxx.

◆ GetPointsComplex() [1/2]

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

Fills the argument arrays with the real and imaginary parts of the computed transform.

Only (roughly) a half of the transform is copied, the rest being Hermitian symmetric with the first half

Definition at line 379 of file TFFTRealComplex.cxx.

◆ GetPointsComplex() [2/2]

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

Fills the argument arrays with the real and imaginary parts of the computed transform.

Only (roughly) a half of the transform is copied, the rest being Hermitian symmetric with the first half

Definition at line 408 of file TFFTRealComplex.cxx.

◆ GetPointsReal()

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

Returns the input array// One of the interface classes to the FFTW package, can be used directly or via the TVirtualFFT class.

Only the basic interface of FFTW is implemented.

Definition at line 365 of file TFFTRealComplex.cxx.

◆ GetSign()

virtual Int_t TFFTRealComplex::GetSign ( ) const
inlinevirtual

Definition at line 76 of file TFFTRealComplex.h.

◆ GetSize()

virtual Int_t TFFTRealComplex::GetSize ( ) const
inlinevirtual

Definition at line 72 of file TFFTRealComplex.h.

◆ GetTransformFlag()

virtual Option_t* TFFTRealComplex::GetTransformFlag ( ) const
inlinevirtual

Definition at line 77 of file TFFTRealComplex.h.

◆ GetType()

virtual Option_t* TFFTRealComplex::GetType ( ) const
inlinevirtual

Definition at line 75 of file TFFTRealComplex.h.

◆ Init()

void TFFTRealComplex::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 149 of file TFFTRealComplex.cxx.

◆ IsInplace()

virtual Bool_t TFFTRealComplex::IsInplace ( ) const
inlinevirtual

Definition at line 78 of file TFFTRealComplex.h.

◆ MapFlag()

UInt_t TFFTRealComplex::MapFlag ( Option_t *  flag)
protected

allowed options: "ES" "M" "P" "EX"

Definition at line 486 of file TFFTRealComplex.cxx.

◆ SetPoint() [1/2]

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

Set the point #ipoint.

Definition at line 436 of file TFFTRealComplex.cxx.

◆ SetPoint() [2/2]

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

For multidimensional transforms. Set the point #ipoint.

Definition at line 444 of file TFFTRealComplex.cxx.

◆ SetPointComplex()

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

Sets the point #ipoint (only the real part of the argument is taken)

Definition at line 465 of file TFFTRealComplex.cxx.

◆ SetPoints()

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

Set all input points.

Definition at line 455 of file TFFTRealComplex.cxx.

◆ SetPointsComplex()

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

Set all points. Only the real array is used.

Definition at line 473 of file TFFTRealComplex.cxx.

◆ Transform()

void TFFTRealComplex::Transform ( )
virtual

Computes the transform, specified in Init() function.

Definition at line 166 of file TFFTRealComplex.cxx.

Member Data Documentation

◆ fFlags

TString TFFTRealComplex::fFlags
protected

Definition at line 60 of file TFFTRealComplex.h.

◆ fIn

void* TFFTRealComplex::fIn
protected

Definition at line 54 of file TFFTRealComplex.h.

◆ fN

Int_t* TFFTRealComplex::fN
protected

Definition at line 59 of file TFFTRealComplex.h.

◆ fNdim

Int_t TFFTRealComplex::fNdim
protected

Definition at line 57 of file TFFTRealComplex.h.

◆ fOut

void* TFFTRealComplex::fOut
protected

Definition at line 55 of file TFFTRealComplex.h.

◆ fPlan

void* TFFTRealComplex::fPlan
protected

Definition at line 56 of file TFFTRealComplex.h.

◆ fTotalSize

Int_t TFFTRealComplex::fTotalSize
protected

Definition at line 58 of file TFFTRealComplex.h.

Libraries for TFFTRealComplex:
[legend]

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