Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

Arroyo::fft_manager< T > Class Template Reference

#include <fft_manager.h>

Inheritance diagram for Arroyo::fft_manager< T >:

Arroyo::diffractive_wavefront< T > List of all members.

Public Member Functions

 fft_manager ()
 fft_manager (const fft_manager< T > &fft_mgr)
 ~fft_manager ()
fft_manager< T > & operator= (const fft_manager< T > &fft_mgr)
void forward_fft (const vector< long > &in_array_dimens, bool estimate, bool in_place, T *in, T *out=NULL)
void forward_fft (const vector< long > &in_array_dimens, bool estimate, bool in_place, int howmany, T *in, int istride, int idist, T *out=NULL, int ostride=1, int odist=1)
void backward_fft (const vector< long > &in_array_dimens, bool estimate, bool in_place, T *in, T *out=NULL)
void backward_fft (const vector< long > &in_array_dimens, bool estimate, bool in_place, int howmany, T *in, int istride, int idist, T *out=NULL, int ostride=1, int odist=1)

Static Public Attributes

int verbose_level = 0
 A verbose_level for printing messages.

Detailed Description

template<class T>
class Arroyo::fft_manager< T >

A template class to facilitate complex to complex forward and backward fft's. Currently this class supports fftw, but support for additional fft libraries may be added at a later time. For example, conditional compilation of native fft libraries should be possible.

This class aims to make arbitrary-dimensional fast fourier transforms relatively straightforward, and supports all the FFTW options


Constructor & Destructor Documentation

template<class T>
Arroyo::fft_manager< T >::fft_manager  ) 
 

Null constructor

template<class T>
Arroyo::fft_manager< T >::fft_manager const fft_manager< T > &  fft_mgr  ) 
 

Copy constructor

template<class T>
Arroyo::fft_manager< T >::~fft_manager  ) 
 

Destructor


Member Function Documentation

template<class T>
void Arroyo::fft_manager< T >::backward_fft const vector< long > &  in_array_dimens,
bool  estimate,
bool  in_place,
int  howmany,
T *  in,
int  istride,
int  idist,
T *  out = NULL,
int  ostride = 1,
int  odist = 1
 

Perform a complex to complex forward transform input data should be sorted real, imag, real, imag... The "out" argument is optional - if you include it an out of place transform will be performed and the results will be stored there. See the FFTW documentation for a description of istride, idist, ostride and odist

template<class T>
void Arroyo::fft_manager< T >::backward_fft const vector< long > &  in_array_dimens,
bool  estimate,
bool  in_place,
T *  in,
T *  out = NULL
 

Perform a complex to complex backward transform input data should be sorted real, imag, real, imag... The "out" argument is optional - if you include it an out of place transform will be performed and the results will be stored there.

template<class T>
void Arroyo::fft_manager< T >::forward_fft const vector< long > &  in_array_dimens,
bool  estimate,
bool  in_place,
int  howmany,
T *  in,
int  istride,
int  idist,
T *  out = NULL,
int  ostride = 1,
int  odist = 1
 

Perform a complex to complex forward transform input data should be sorted real, imag, real, imag... The "out" argument is optional - if you include it an out of place transform will be performed and the results will be stored there. See the FFTW documentation for a description of istride, idist, ostride and odist

template<class T>
void Arroyo::fft_manager< T >::forward_fft const vector< long > &  in_array_dimens,
bool  estimate,
bool  in_place,
T *  in,
T *  out = NULL
 

Perform a complex to complex forward transform input data should be sorted real, imag, real, imag... The "out" argument is optional - if you include it an out of place transform will be performed and the results will be stored there.

template<class T>
fft_manager< T > & Arroyo::fft_manager< T >::operator= const fft_manager< T > &  fft_mgr  ) 
 

Operator =


Member Data Documentation

template<class T>
int Arroyo::fft_manager< T >::verbose_level = 0 [static]
 

A verbose_level for printing messages.


The documentation for this class was generated from the following file:
Generated on Thu Nov 29 17:16:34 2007 for arroyo by  doxygen 1.3.9.1