BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Public Member Functions | |
Workspace () | |
~Workspace () | |
void | clear () |
Private Attributes | |
int | h_src |
int | w_src |
int | h_kernel |
int | w_kernel |
int | w_fftw |
int | h_fftw |
double * | in_src |
double * | out_src |
double * | in_kernel |
double * | out_kernel |
double * | dst_fft |
int | h_dst |
int | w_dst |
int | h_offset |
int | w_offset |
fftw_plan | p_forw_src |
fftw_plan | p_forw_kernel |
fftw_plan | p_back |
Friends | |
class | Convolve |
Workspace for Fourier convolution.
Workspace contains input (source and kernel), intermediate and output arrays to run convolution via fft; 'source' it is our signal, 'kernel' it is our resolution function. Sizes of input arrays are adjusted; output arrays are alocated via fftw3 allocation for maximum performance.
Definition at line 85 of file Convolve.h.
Convolve::Workspace::Workspace | ( | ) |
Definition at line 29 of file Convolve.cpp.
Convolve::Workspace::~Workspace | ( | ) |
Definition at line 37 of file Convolve.cpp.
void Convolve::Workspace::clear | ( | ) |
|
friend |
Definition at line 91 of file Convolve.h.
|
private |
Definition at line 94 of file Convolve.h.
Referenced by Convolve::fftw_circular_convolution(), and Convolve::init().
|
private |
Definition at line 94 of file Convolve.h.
Referenced by Convolve::fftw_circular_convolution(), and Convolve::init().
|
private |
Definition at line 95 of file Convolve.h.
Referenced by Convolve::fftconvolve(), Convolve::fftw_circular_convolution(), and Convolve::init().
|
private |
Definition at line 95 of file Convolve.h.
Referenced by Convolve::fftconvolve(), Convolve::fftw_circular_convolution(), and Convolve::init().
|
private |
Definition at line 97 of file Convolve.h.
Referenced by Convolve::fftconvolve(), Convolve::fftw_circular_convolution(), and Convolve::init().
|
private |
Definition at line 97 of file Convolve.h.
Referenced by Convolve::fftconvolve(), Convolve::fftw_circular_convolution(), and Convolve::init().
|
private |
adjusted input 'source' array
Definition at line 99 of file Convolve.h.
Referenced by Convolve::fftw_circular_convolution(), and Convolve::init().
|
private |
result of Fourier transformation of source
Definition at line 101 of file Convolve.h.
Referenced by Convolve::fftw_circular_convolution(), and Convolve::init().
|
private |
adjusted input 'kernel' array
Definition at line 103 of file Convolve.h.
Referenced by Convolve::fftw_circular_convolution(), and Convolve::init().
|
private |
result of Fourier transformation of kernel
Definition at line 105 of file Convolve.h.
Referenced by Convolve::fftw_circular_convolution(), and Convolve::init().
|
private |
result of product of FFT(source) and FFT(kernel)
Definition at line 107 of file Convolve.h.
Referenced by Convolve::fftconvolve(), Convolve::fftw_circular_convolution(), and Convolve::init().
|
private |
Definition at line 108 of file Convolve.h.
Referenced by Convolve::fftconvolve(), and Convolve::init().
|
private |
Definition at line 108 of file Convolve.h.
Referenced by Convolve::fftconvolve(), and Convolve::init().
|
private |
Definition at line 109 of file Convolve.h.
Referenced by Convolve::fftconvolve(), and Convolve::init().
|
private |
Definition at line 109 of file Convolve.h.
Referenced by Convolve::fftconvolve(), and Convolve::init().
|
private |
Definition at line 110 of file Convolve.h.
Referenced by Convolve::fftw_circular_convolution(), and Convolve::init().
|
private |
Definition at line 111 of file Convolve.h.
Referenced by Convolve::fftw_circular_convolution(), and Convolve::init().
|
private |
Definition at line 112 of file Convolve.h.
Referenced by Convolve::fftw_circular_convolution(), and Convolve::init().