cctbx::xray Namespace Reference

X-ray scatterer and structure factor namespace. More...


Classes

struct  f_sq_as_f_xtal_3_7
struct  f_sq_as_f_crystals
struct  f_as_f_sq
struct  array_f_sq_as_f
struct  array_f_as_f_sq
struct  extinction_correction
 extinction correction iterface More...
struct  dummy_extinction_correction
 dummy extinction implementation More...
struct  shelx_extinction_correction
class  fast_gradients
struct  gradient_flags
class  observations
struct  parameter_indices
 Position of the various derivatives or shifts in an array. More...
class  parameter_map
 An array of parameter_indices. More...
class  sampled_model_density
class  sampling_base
class  scatterer
 Information about an atom that is needed for a structure factor calculation. More...
struct  scatterer_flags
class  grad_flags_counts_core
class  scatterer_grad_flags_counts
class  grad_flags_counts
class  apply_rigid_body_shift
struct  inelastic_form_factors
class  scattering_type_registry
struct  twin_fraction
class  twin_component

Namespaces

namespace  targets
 Structure-factor target functions.

Functions

double calc_u_base (double d_min, double grid_resolution_factor, double quality_factor=100, double max_u_base=adptbx::b_as_u(1000))
 Artificial temperature factor for the treatment of aliasing problems.
template<typename FloatType>
void apply_u_extra (uctbx::unit_cell const &unit_cell, FloatType const &u_extra, miller::index<> const &miller_index, std::complex< FloatType > &structure_factor, FloatType const &multiplier)
template<typename FloatType>
void apply_u_extra (uctbx::unit_cell const &unit_cell, FloatType const &u_extra, af::const_ref< miller::index<> > const &miller_indices, af::ref< std::complex< FloatType > > const &structure_factors, FloatType const &multiplier=1)
template<typename ScattererType>
void set_scatterer_grad_flags (af::ref< ScattererType > const &scatterers, bool site=false, bool u_iso=false, bool u_aniso=false, bool occupancy=false, bool fp=false, bool fdp=false, bool tan_u_iso=false, int param=0)
 Set the flags of each given scatterers to the given values.
template<typename ScattererType>
void flags_set_grads (af::ref< ScattererType > const &self, bool state)
template<typename ScattererType>
af::shared< bool > is_positive_definite_u (af::const_ref< ScattererType > const &scatterers, uctbx::unit_cell const &unit_cell)
template<typename ScattererType>
af::shared< bool > is_positive_definite_u (af::const_ref< ScattererType > const &scatterers, uctbx::unit_cell const &unit_cell, double u_cart_tolerance)
template<typename ScattererType>
void tidy_us (af::ref< ScattererType > const &scatterers, uctbx::unit_cell const &unit_cell, sgtbx::site_symmetry_table const &site_symmetry_table, double u_min, double u_max, double anisotropy_min)
template<typename ScattererType>
void u_star_plus_u_iso (af::ref< ScattererType > const &scatterers, uctbx::unit_cell const &unit_cell)
template<typename ScattererType>
void shift_us (af::ref< ScattererType > const &scatterers, uctbx::unit_cell const &unit_cell, double u_shift)
template<typename ScattererType>
void shift_us (af::ref< ScattererType > const &scatterers, uctbx::unit_cell const &unit_cell, double u_shift, af::const_ref< std::size_t > const &selection)
template<typename ScattererType>
void shift_occupancies (af::ref< ScattererType > const &scatterers, double q_shift, af::const_ref< std::size_t > const &selection)
template<typename ScattererType>
void shift_occupancies (af::ref< ScattererType > const &scatterers, double q_shift)
template<typename ScattererType>
void apply_symmetry_sites (sgtbx::site_symmetry_table const &site_symmetry_table, af::ref< ScattererType > const &scatterers)
template<typename ScattererType>
void apply_symmetry_u_stars (sgtbx::site_symmetry_table const &site_symmetry_table, af::ref< ScattererType > const &scatterers, double u_star_tolerance=0)
template<typename ScattererType>
void add_scatterers_ext (uctbx::unit_cell const &unit_cell, sgtbx::space_group const &space_group, af::ref< ScattererType > const &scatterers, sgtbx::site_symmetry_table &site_symmetry_table, sgtbx::site_symmetry_table const &site_symmetry_table_for_new, double min_distance_sym_equiv, double u_star_tolerance, bool assert_min_distance_sym_equiv, bool non_unit_occupancy_implies_min_distance_sym_equiv_zero)
template<typename ScattererType>
af::shared< ScattererType > change_basis (af::const_ref< ScattererType > const &scatterers, sgtbx::change_of_basis_op const &cb_op)
template<typename ScattererType>
af::shared< ScattererType > expand_to_p1 (uctbx::unit_cell const &unit_cell, sgtbx::space_group const &space_group, af::const_ref< ScattererType > const &scatterers, sgtbx::site_symmetry_table const &site_symmetry_table, bool append_number_to_labels)
template<typename ScattererType>
std::size_t n_undefined_multiplicities (af::const_ref< ScattererType > const &scatterers)
template<typename AsuMappingsType, typename ScattererType>
void asu_mappings_process (AsuMappingsType &asu_mappings, af::const_ref< ScattererType > const &scatterers, sgtbx::site_symmetry_table const &site_symmetry_table)
template<typename ScattererType>
af::shared< ScattererType > rotate (uctbx::unit_cell const &unit_cell, scitbx::mat3< double > const &rotation_matrix, af::const_ref< ScattererType > const &scatterers)
template<typename FloatType>
FloatType sum_twin_fractions (af::shared< twin_component< FloatType > * > twin_components)
template<typename FloatType>
void set_grad_twin_fraction (af::shared< twin_component< FloatType > * > twin_components, bool grad_twin_fraction=true)


Detailed Description

X-ray scatterer and structure factor namespace.

Function Documentation

double cctbx::xray::calc_u_base ( double  d_min,
double  grid_resolution_factor,
double  quality_factor = 100,
double  max_u_base = adptbx::b_as_u(1000) 
) [inline]

Artificial temperature factor for the treatment of aliasing problems.

Reference:

Gerard Bricogne (2001), International Tables for Crystallography, Volume B, 2001, p. 87 (end of section 1.3.4.4.5).

Parameters:
d_min = 1/d*max
grid_resolution_factor = 1/(2*sigma)
quality_factor = Q
max_u_base is a user-defined upper limit.
quality_factor = 100 for 1% accuracy.

See also: cctbx::uctbx::unit_cell::d()

References cctbx::adptbx::b_as_u(), and CCTBX_ASSERT.

void cctbx::xray::set_scatterer_grad_flags ( af::ref< ScattererType > const &  scatterers,
bool  site = false,
bool  u_iso = false,
bool  u_aniso = false,
bool  occupancy = false,
bool  fp = false,
bool  fdp = false,
bool  tan_u_iso = false,
int  param = 0 
) [inline]

Set the flags of each given scatterers to the given values.

The logic is as follow:

  1. if a scatterer is not used (the 'use' flag is false), no flag is set;
  2. the grad_u_iso flag (as well as the tan_u_iso flag)
    1. is set to the specified value only if the use_u_iso flag is set;
    2. otherwise it is set to false;
  3. the same logic applies for grad_u_aniso and use_u_aniso;
  4. the use_fp_fdp flag
    1. is set iff either grad_fp or grad_fdp is set;
    2. otherwise it is left unchanged.

References CCTBX_ASSERT.


Generated on Thu Jun 19 15:35:07 2014 for cctbx by  doxygen 1.5.6