27#ifndef GFFTWAVETABLE_HPP
28#define GFFTWAVETABLE_HPP
79 std::vector<std::complex<double> >
m_trig;
91 return (
"GFftWavetable");
148 return ((
int)
m_trig.size());
Definition of interface for all GammaLib classes.
Interface class for all GammaLib classes.
Lookup table class for Fast Fourier Transformation.
int factor(const int &index) const
Return factorisation factor.
GFftWavetable(void)
Void constructor.
std::vector< int > m_twiddle
Start index of factors.
std::complex< double > & operator[](const int &index)
Return reference to trigonometric coefficient.
std::vector< int > m_factors
Wavetable factors.
std::string classname(void) const
Return class name.
int size(void) const
Return number of trigonometric coefficients.
void clear(void)
Clear lookup table for Fast Fourier Transform.
void set_members(const int &n)
Set wavetable.
std::string print(const GChatter &chatter=NORMAL) const
Print lookup table for Fast Fourier Transform information.
void free_members(void)
Delete class members.
void init_members(void)
Initialise class members.
void set_factors(const int &n)
Compute FFT factorisation.
std::vector< std::complex< double > > m_trig
Trigonometric coefficients.
const int & index(const int &factor) const
Return start index for a given factor.
virtual ~GFftWavetable(void)
Destructor.
GFftWavetable * clone(void) const
Clone lookup table for Fast Fourier Transform.
void copy_members(const GFftWavetable &wavetable)
Copy class members.
GFftWavetable & operator=(const GFftWavetable &wavetable)
Assignment operator.
int factors(void) const
Return number of factorisation factors.