26 #ifdef FFTW_64_BIT // Hack for Hawaii install of FFTW. Is there ever a reason to now have this defed? 27 typedef struct {
char a[16];} __float128;
59 kPowSpecDensity_dBm = 4
62 complex<double>*
doFFT(
int len,
double* input,
bool copyOutputToNewArray,
int threadInd=0);
63 complex<double>*
doFFT(
int len,
double* input, complex<double>* output,
int threadInd=0);
64 complex<double>*
doFFT(
int len,
double* input, complex<double>* output,
65 bool copyOutputToNewArray,
int threadInd=0);
66 double*
doInvFFT(
int len, complex<double>* input,
bool copyOutputToNewArray,
int threadInd=0);
67 double*
doInvFFT(
int len, complex<double>* input,
double* output,
int threadInd=0);
68 double*
doInvFFT(
int len, complex<double>* input,
double* output,
69 bool copyOutputToNewArray,
int threadInd=0);
77 double* outputPtr,
int threadInd=0);
81 bool dBScale,
int threadInd=0);
85 double*
crossCorrelate(
int len,
double* v1,
double* v2,
int threadInd=0);
86 double*
crossCorrelate(
int len, complex<double>* fft1, complex<double>* fft2,
int threadInd=0);
87 double*
crossCorrelate(
int len, complex<double>* fft1, complex<double>* fft2,
88 double* output,
int threadInd=0);
90 complex<double>*
zeroPadFFT(complex<double>* fft,
int numSamples,
int numSamplesUpsampled);
91 complex<double>*
zeroPadFFT(complex<double>* fft, complex<double>* output,
92 int numSamples,
int numSamplesUpsampled);
int extendToPowerOfTwo(int len)
Find the next highest power of two.
My implementation of a wrapper for FFTW for use with ROOT thing.
TGraph * getPowerSpectrumTGraph(int len, double *input, double dt, conventionFlag normFlag, bool dBScale, int threadInd=0)
Creates a power spectrum TGraph from an array of doubles.
double * getPowerSpectrum(int len, double *input, double dt, conventionFlag normFlag, int threadInd=0)
Creates the power spectrum in an array of doubles of length (len/2 + 1).
complex< double > * zeroPadFFT(complex< double > *fft, int numSamples, int numSamplesUpsampled)
Zero padds FFTts,.
double * crossCorrelate(int len, double *v1, double *v2, int threadInd=0)
Cross correlates the two input arrays.
complex< double > * doFFT(int len, double *input, bool copyOutputToNewArray, int threadInd=0)
Does a forward fast fourier transform on a real input array.
int printListOfKeys()
Prints the list of keys of plans to stdout.
double * getFreqArray(int len, double dt)
Get the array of frequencies to go with FFT output, determined by the tranform length and dt...
int getNumFreqs(int len)
Get the number of frequencies from the number of samples.
bool makeNewPlanIfNeeded(int len, int threadInd=0)
Creates new fftw plan to handle 1D transforms of length len if they haven't been allocated already...
double * getRealArray(std::pair< Int_t, Int_t > key)
Get the real array of the internal fftw memory. Do not delete this!
conventionFlag
Flag to pass to FancyFFT functions specifying normalization of power spectra.
double * doInvFFT(int len, complex< double > *input, bool copyOutputToNewArray, int threadInd=0)
Does an inverse fast fourier transform on an array of complex<double>s.