Clipper
Public Member Functions | List of all members
clipper::FFTmap_sparse_p1_xh Class Reference

FFTmap_sparse_p1_xh: low level sparse P1 map used for calculating FFTs. More...

#include <fftmap_sparse.h>

Inheritance diagram for clipper::FFTmap_sparse_p1_xh:
clipper::FFTmap_sparse_p1_base clipper::FFTmap_base

Public Member Functions

 FFTmap_sparse_p1_xh ()
 Null constuctor. More...
 
 FFTmap_sparse_p1_xh (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_samplinggrid_real () const
 
const Gridgrid_reci () const
 
ffttype & real_data (const Coord_grid &uvw)
 set real space data ( uvw must be in grid_real() ) More...
 
void require_hkl (const HKL &hkl)
 express need for reciprocal space data by hkl More...
 
const std::complex< ffttype > get_hkl (const HKL &hkl) const
 get reciprocal space data by hkl More...
 
void require_cplx_data (const Coord_grid &hkl)
 express need for reciprocal space data (internal use) More...
 
const std::complex< ffttype > & cplx_data (const Coord_grid &hkl) const
 get reciprocal space data (internal use) More...
 
void fft_x_to_h (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_samplinggrid_real () const
 get real grid sampling
 
const Gridgrid_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.
 

Detailed Description

FFTmap_sparse_p1_xh: low level sparse P1 map used for calculating FFTs.

This version computes sparse real...Hermititan 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.

Constructor & Destructor Documentation

clipper::FFTmap_sparse_p1_xh::FFTmap_sparse_p1_xh ( )

Null constuctor.

For later initialisation: see init()

clipper::FFTmap_sparse_p1_xh::FFTmap_sparse_p1_xh ( const Grid_sampling grid_sam,
const FFTtype  type = Default 
)

Constructor: takes grid.

Construct an FFTmap_sparse_p1_xh for a given grid.

Parameters
grid_samThe grid sampling of the unit cell.
typeCan be FFTmap_sparse_base::Measure, ::Estimate. Measure performs slow precalculation (first time only) to get faster FFT.

Member Function Documentation

ffttype & clipper::FFTmap_sparse_p1_xh::real_data ( const Coord_grid uvw)
inline

set real space data ( uvw must be in grid_real() )

( uvw must be in grid_real() )

void clipper::FFTmap_sparse_p1_xh::require_hkl ( const HKL hkl)

express need for reciprocal space data by hkl

Friedel opposites are handled correctly

Parameters
hklThe HKL required.
const std::complex< ffttype > clipper::FFTmap_sparse_p1_xh::get_hkl ( const HKL hkl) const

get reciprocal space data by hkl

Friedel opposites are handled correctly

Parameters
hklThe required.
void clipper::FFTmap_sparse_p1_xh::require_cplx_data ( const Coord_grid hkl)
inline

express need for reciprocal space data (internal use)

The given Coord_grid will be required in the final reflections. ( uvw must be in grid_reci() )

Parameters
uvwThe coordinate to require.
const std::complex< ffttype > & clipper::FFTmap_sparse_p1_xh::cplx_data ( const Coord_grid hkl) const
inline

get reciprocal space data (internal use)

( hkl must be in grid_reci(), and have been requested )

Parameters
uvwThe coordinate to get.
Returns
The complex value at that coordinate.
void clipper::FFTmap_sparse_p1_xh::fft_x_to_h ( 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).


The documentation for this class was generated from the following files: