|
Clipper
|
FFTmap_sparse_p1_hx: low level sparse P1 map used for calculating FFTs. More...
#include <fftmap_sparse.h>
Public Member Functions | |
| FFTmap_sparse_p1_hx () | |
| Null constuctor. More... | |
| FFTmap_sparse_p1_hx (const Grid_sampling &grid_sam, const FFTtype type=Default) | |
| Constructor: takes grid. More... | |
| void | init (const Grid_sampling &grid_sam, const FFTtype type=Default) |
| const Grid_sampling & | grid_real () const |
| const Grid & | grid_reci () const |
| void | set_hkl (const HKL &hkl, const std::complex< ffttype > &f) |
| set reciprocal space data by hkl More... | |
| std::complex< ffttype > & | cplx_data (const Coord_grid &uvw) |
| set reciprocal space data (internal use) | |
| void | require_real_data (const Coord_grid &uvw) |
| express need for real space data More... | |
| const ffttype & | real_data (const Coord_grid &uvw) const |
| get real space data ( uvw must be in grid_real() ) More... | |
| void | fft_h_to_x (const ftype &scale) |
| Transform to real space. More... | |
Public Member Functions inherited from clipper::FFTmap_sparse_p1_base | |
| void | init (const Grid_sampling &grid_sam, const FFTtype type=Default) |
| initialiser: takes grid More... | |
| ~FFTmap_sparse_p1_base () | |
| Destructor. | |
| const Grid_sampling & | grid_real () const |
| get real grid sampling | |
| const Grid & | grid_reci () const |
| get reciprocal grid | |
Additional Inherited Members | |
Public Types inherited from clipper::FFTmap_base | |
| enum | FFTtype { Default, Measure, Estimate } |
Static Public Member Functions inherited from clipper::FFTmap_sparse_p1_base | |
| static FFTtype & | default_type () |
| set/get default optimisation type | |
Protected Member Functions inherited from clipper::FFTmap_sparse_p1_base | |
| ffttype * | map_uv (const int &u, const int &v) |
| return/create row | |
| std::complex< ffttype > * | map_kl (const int &k, const int &l) |
| return/create row | |
Protected Attributes inherited from clipper::FFTmap_sparse_p1_base | |
| Grid_sampling | grid_real_ |
| real space grid | |
| Grid | grid_reci_ |
| reciprocal space grid | |
| FFTtype | type_ |
| optimisation options | |
| Array2d< std::complex< ffttype > * > | row_kl |
| section map | |
| Array2d< ffttype * > | row_uv |
| section map | |
Static Protected Attributes inherited from clipper::FFTmap_sparse_p1_base | |
| static FFTtype | default_type_ = FFTmap_base::Estimate |
| default optimisation options | |
Static Protected Attributes inherited from clipper::FFTmap_base | |
| static Mutex | mutex = Mutex() |
| Thread safety. | |
FFTmap_sparse_p1_hx: low level sparse P1 map used for calculating FFTs.
This version computes sparse Hermititan...real FFTs.
By specifying what parts of the map are needed in advance, it is possible to perform highly optimised FFTs, including some of the benefits of symmetry.
| clipper::FFTmap_sparse_p1_hx::FFTmap_sparse_p1_hx | ( | ) |
Null constuctor.
For later initialisation: see init()
| clipper::FFTmap_sparse_p1_hx::FFTmap_sparse_p1_hx | ( | const Grid_sampling & | grid_sam, |
| const FFTtype | type = Default |
||
| ) |
Constructor: takes grid.
Construct an FFTmap_sparse_p1_hx for a given grid.
| grid_sam | The grid sampling of the unit cell. |
| type | Can be FFTmap_sparse_base::Measure, ::Estimate. Measure performs slow precalculation (first time only) to get faster FFT. |
| void clipper::FFTmap_sparse_p1_hx::set_hkl | ( | const HKL & | hkl, |
| const std::complex< ffttype > & | f | ||
| ) |
set reciprocal space data by hkl
Friedel opposites are handled correctly
| hkl | The HKL to set. |
| f | The complex value to set. |
|
inline |
express need for real space data
The given Coord_grid will be required in the final map. ( uvw must be in grid_sampling() )
| uvw | The coordinate to require. |
|
inline |
get real space data ( uvw must be in grid_real() )
( uvw must be in grid_sampling(), and have been requested )
| uvw | The coordinate to get. |
| void clipper::FFTmap_sparse_p1_hx::fft_h_to_x | ( | const ftype & | scale | ) |
Transform to real space.
The 'require' functions must have been called first to mark the required data in the target space. (Source space requirements are inferred automatically).
1.8.7