| 
    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().