86    if (inPlace) 
fOut = 0;
   111    for (
Int_t i=0; i<ndim; i++){
   127    fftw_destroy_plan((fftw_plan)
fPlan);
   139       fftw_free((fftw_r2r_kind*)
fKind);
   174       fftw_destroy_plan((fftw_plan)
fPlan);
   178       fKind = (fftw_r2r_kind*)fftw_malloc(
sizeof(fftw_r2r_kind)*
fNdim);
   195       fftw_execute((fftw_plan)
fPlan);
   197       Error(
"Transform", 
"transform hasn't been initialised");
   208       Error(
"GetType", 
"Type not defined yet (kind not set)");
   211    if (((fftw_r2r_kind*)
fKind)[0]==FFTW_R2HC) 
return "R2HC";
   212    if (((fftw_r2r_kind*)fKind)[0]==FFTW_HC2R) 
return "HC2R";
   213    if (((fftw_r2r_kind*)fKind)[0]==FFTW_DHT) 
return "DHT";
   234       Error(
"GetPointReal", 
"No such point");
   238    return ( array ) ? array[ipoint] : 0;
   246    Int_t ireal = ipoint[0];
   248       ireal=
fN[i+1]*ireal + ipoint[i+1];
   251    return ( array ) ? array[ireal] : 0;
   261    if ( ( ((fftw_r2r_kind*)
fKind)[0]==FFTW_R2HC && !fromInput ) ||
   262         ( ((fftw_r2r_kind*)fKind)[0]==FFTW_HC2R &&  fromInput ) )
   264       if (ipoint<
fN[0]/2+1){
   266          im = array[
fN[0]-ipoint];
   268          re = array[
fN[0]-ipoint];
   271       if ((
fN[0]%2)==0 && ipoint==
fN[0]/2) im = 0;
   293    if (!fromInput && 
fOut)
   295    else if (fromInput && !
fOut) {
   296       Error(
"GetPointsReal",
"Input array was destroyed");
   308       Error(
"SetPoint", 
"illegal point index");
   311    if (((fftw_r2r_kind*)
fKind)[0]==FFTW_HC2R){
   312       if ((
fN[0]%2)==0 && ipoint==
fN[0]/2)
   329    Int_t ireal = ipoint[0];
   331       ireal=
fN[i+1]*ireal + ipoint[i+1];
   333       Error(
"SetPoint", 
"illegal point index");
   355          Error(
"Init", 
"Multidimensional R2HC transforms are not supported, use R2C interface instead");
   358       ((fftw_r2r_kind*)
fKind)[0] = FFTW_R2HC;
   360    else if (kind[0] == 11) {
   362          Error(
"Init", 
"Multidimensional HC2R transforms are not supported, use C2R interface instead");
   365       ((fftw_r2r_kind*)
fKind)[0] = FFTW_HC2R;
   367    else if (kind[0] == 12) {
   369          ((fftw_r2r_kind*)
fKind)[i] = FFTW_DHT;
   374          case 0: ((fftw_r2r_kind*)
fKind)[i] = FFTW_REDFT00;  
break;
   375          case 1: ((fftw_r2r_kind*)fKind)[i] = FFTW_REDFT01;  
break;
   376          case 2: ((fftw_r2r_kind*)fKind)[i] = FFTW_REDFT10;  
break;
   377          case 3: ((fftw_r2r_kind*)fKind)[i] = FFTW_REDFT11;  
break;
   378          case 4: ((fftw_r2r_kind*)fKind)[i] = FFTW_RODFT00;  
break;
   379          case 5: ((fftw_r2r_kind*)fKind)[i] = FFTW_RODFT01;  
break;
   380          case 6: ((fftw_r2r_kind*)fKind)[i] = FFTW_RODFT10;  
break;
   381          case 7: ((fftw_r2r_kind*)fKind)[i] = FFTW_RODFT11;  
break;
   383          ((fftw_r2r_kind*)fKind)[i] = FFTW_R2HC; 
break;
   402       return FFTW_ESTIMATE;
   408       return FFTW_EXHAUSTIVE;
   409    return FFTW_ESTIMATE;
 virtual void SetPoints(const Double_t *data)
Sets all points. 
 
virtual Double_t GetPointReal(Int_t ipoint, Bool_t fromInput=kFALSE) const
For 1d tranforms. Returns point #ipoint. 
 
void ToUpper()
Change string to upper case. 
 
virtual Double_t * GetPointsReal(Bool_t fromInput=kFALSE) const
Returns the output (or input) array. 
 
virtual Option_t * GetType() const
Returns the type of the transform. 
 
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. 
 
Int_t MapOptions(const Int_t *kind)
transfers the r2r_kind parameters to fftw type 
 
UInt_t MapFlag(Option_t *flag)
allowed options: "ES" - FFTW_ESTIMATE "M" - FFTW_MEASURE "P" - FFTW_PATIENT "EX" - FFTW_EXHAUSTIVE ...
 
virtual void Init(Option_t *flags, Int_t sign, const Int_t *kind)
Creates the fftw-plan. 
 
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message. 
 
virtual void SetPoint(Int_t ipoint, Double_t re, Double_t im=0)
 
virtual ~TFFTReal()
clean-up 
 
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
 
virtual void Transform()
Computes the transform, specified in Init() function. 
 
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.