cctbx/adptbx.h File Reference

#include <cctbx/uctbx.h>
#include <scitbx/matrix/eigensystem.h>
#include <scitbx/matrix/tensor_rank_2.h>
#include <scitbx/array_family/tiny_algebra.h>
#include <scitbx/type_holder.h>
#include <cctbx/error.h>

Go to the source code of this file.

Namespaces

namespace  cctbx
namespace  cctbx::adptbx

Classes

struct  factor_u_cart_u_iso
 Factorization into isotropic and remaining anisotropic contributions. More...
struct  factor_u_star_u_iso
 Factorization into isotropic and remaining anisotropic contributions. More...
struct  factor_u_cif_u_iso
 Factorization into isotropic and remaining anisotropic contributions. More...
struct  factor_beta_u_iso
 Factorization into isotropic and remaining anisotropic contributions. More...
class  eigensystem
 Group of associated eigenvectors and eigenvalues. More...

Functions

void throw_not_positive_definite ()
double u_as_b (double u_iso)
 Converts isotropic displacement parameter U -> B.
double b_as_u (double b_iso)
 Converts isotropic displacement parameter B -> U.
template<typename FloatType>
sym_mat3< FloatType > u_as_b (sym_mat3< FloatType > const &u_aniso)
 Converts anisotropic displacement parameters U -> B.
template<typename FloatType>
sym_mat3< FloatType > b_as_u (sym_mat3< FloatType > const &b_aniso)
 Converts anisotropic displacement parameters B -> U.
template<typename FloatType>
sym_mat3< FloatType > u_cif_as_u_star (uctbx::unit_cell const &unit_cell, sym_mat3< FloatType > const &u_cif)
 Converts anisotropic displacement parameters u_cif -> u_star.
template<typename FloatType>
sym_mat3< FloatType > u_star_as_u_cif (uctbx::unit_cell const &unit_cell, sym_mat3< FloatType > const &u_star)
 Converts anisotropic displacement parameters u_star -> u_cif.
template<typename FloatType>
sym_mat3< FloatType > u_cart_as_u_star (uctbx::unit_cell const &unit_cell, sym_mat3< FloatType > const &u_cart)
 Converts anisotropic displacement parameters u_cart -> u_star.
template<typename FloatType>
sym_mat3< FloatType > u_star_as_u_cart (uctbx::unit_cell const &unit_cell, sym_mat3< FloatType > const &u_star)
 Converts anisotropic displacement parameters u_star -> u_cart.
template<typename FloatType>
sym_mat3< FloatType > u_cart_as_u_cif (uctbx::unit_cell const &unit_cell, sym_mat3< FloatType > const &u_cart)
 Converts anisotropic displacement parameters u_cart -> u_cif.
template<typename FloatType>
sym_mat3< FloatType > u_cif_as_u_cart (uctbx::unit_cell const &unit_cell, sym_mat3< FloatType > const &u_cif)
 Converts anisotropic displacement parameters u_cif -> u_cart.
template<typename FloatType>
sym_mat3< FloatType > u_star_as_beta (sym_mat3< FloatType > const &u_star)
 Converts anisotropic displacement parameters u_star -> beta.
template<typename FloatType>
sym_mat3< FloatType > beta_as_u_star (sym_mat3< FloatType > const &beta)
 Converts anisotropic displacement parameters beta -> u_star.
template<typename FloatType>
sym_mat3< FloatType > u_cart_as_beta (uctbx::unit_cell const &unit_cell, sym_mat3< FloatType > const &u_cart)
 Converts anisotropic displacement parameters u_cart -> beta.
template<typename FloatType>
sym_mat3< FloatType > beta_as_u_cart (uctbx::unit_cell const &unit_cell, sym_mat3< FloatType > const &beta)
 Converts anisotropic displacement parameters beta -> u_cart.
template<typename FloatType>
sym_mat3< FloatType > u_cif_as_beta (uctbx::unit_cell const &unit_cell, sym_mat3< FloatType > const &u_cif)
 Converts anisotropic displacement parameters u_cif -> beta.
template<typename FloatType>
sym_mat3< FloatType > beta_as_u_cif (uctbx::unit_cell const &unit_cell, sym_mat3< FloatType > const &beta)
 Converts anisotropic displacement parameters beta -> u_cif.
template<typename FloatType>
FloatType u_cart_as_u_iso (sym_mat3< FloatType > const &u_cart)
 Converts anisotropic displacement parameters u_cart -> u_iso.
template<typename FloatType>
sym_mat3< FloatType > u_iso_as_u_cart (FloatType const &u_iso)
 Converts u_iso -> anisotropic displacement parameters u_cart.
template<typename FloatType>
FloatType u_star_as_u_iso (uctbx::unit_cell const &unit_cell, sym_mat3< FloatType > const &u_star)
 Converts u_star -> u_iso.
template<typename FloatType>
sym_mat3< FloatType > u_iso_as_u_star (uctbx::unit_cell const &unit_cell, FloatType const &u_iso)
 Converts u_iso -> u_star.
template<typename FloatType>
FloatType u_cif_as_u_iso (uctbx::unit_cell const &unit_cell, sym_mat3< FloatType > const &u_cif)
 Converts u_cif -> u_iso.
template<typename FloatType>
sym_mat3< FloatType > u_iso_as_u_cif (uctbx::unit_cell const &unit_cell, FloatType const &u_iso)
 Converts u_iso -> u_cif.
template<typename FloatType>
FloatType beta_as_u_iso (uctbx::unit_cell const &unit_cell, sym_mat3< FloatType > const &beta)
 Converts beta -> u_iso.
template<typename FloatType>
sym_mat3< FloatType > u_iso_as_beta (uctbx::unit_cell const &unit_cell, FloatType const &u_iso)
 Converts u_iso -> beta.
double debye_waller_factor_exp (const char *u_type, double arg, double max_arg=50)
 std::exp with upper limit for argument value.
double debye_waller_factor_b_iso (double stol_sq, double b_iso)
 Isotropic Debye-Waller factor given (sin(theta)/lambda)^2 and b_iso.
double debye_waller_factor_u_iso (double stol_sq, double u_iso)
 Isotropic Debye-Waller factor given (sin(theta)/lambda)^2 and u_iso.
double debye_waller_factor_b_iso (uctbx::unit_cell const &unit_cell, miller::index<> const &h, double b_iso)
 Isotropic Debye-Waller factor given a Miller index and b_iso.
double debye_waller_factor_u_iso (uctbx::unit_cell const &unit_cell, miller::index<> const &h, double u_iso)
 Isotropic Debye-Waller factor given a Miller index and u_iso.
template<typename FloatType>
FloatType debye_waller_factor_u_star (miller::index<> const &h, sym_mat3< FloatType > const &u_star)
 Anisotropic Debye-Waller factor given a Miller index and u_star.
template<typename NumType>
sym_mat3< NumType > debye_waller_factor_u_star_gradient_coefficients (miller::index<> const &h, scitbx::type_holder< NumType > holder=scitbx::type_holder< NumType >())
 Coefficients for gradients of Debye-Waller factor w.r.t. u_star.
template<typename NumType>
af::shared< NumType > debye_waller_factor_u_star_curvature_coefficients (miller::index<> const &h, scitbx::type_holder< NumType >)
 Coefficients for curvatures of Debye-Waller factor w.r.t. u_star.
template<typename FloatType>
FloatType debye_waller_factor_beta (miller::index<> const &h, sym_mat3< FloatType > const &beta)
 Anisotropic Debye-Waller factor given a Miller index and beta.
template<typename FloatType>
FloatType debye_waller_factor_u_cif (uctbx::unit_cell const &unit_cell, miller::index<> const &h, sym_mat3< FloatType > const &u_cif)
 Anisotropic Debye-Waller factor given a Miller index and u_cif.
template<typename FloatType>
FloatType debye_waller_factor_u_cart (uctbx::unit_cell const &unit_cell, miller::index<> const &h, sym_mat3< FloatType > const &u_cart)
 Anisotropic Debye-Waller factor given a Miller index and u_cart.
template<typename FloatType>
sym_mat3< FloatType > grad_u_star_as_u_cart (uctbx::unit_cell const &unit_cell, sym_mat3< FloatType > const &grad_u_star)
 Transformation of gradients w.r.t. u_star to gradients w.r.t. u_cart.
template<typename FloatType>
af::shared< sym_mat3< FloatType > > grad_u_star_as_u_cart (uctbx::unit_cell const &unit_cell, af::const_ref< sym_mat3< FloatType > > const &grad_u_star)
 Transformation of gradients w.r.t. u_star to gradients w.r.t. u_cart.
template<typename FloatType>
sym_mat3< FloatType > grad_u_cart_as_u_star (uctbx::unit_cell const &unit_cell, sym_mat3< FloatType > const &grad_u_cart)
 Transformation of gradients w.r.t. u_cart to gradients w.r.t. u_star.
template<typename FloatType>
af::shared< sym_mat3< FloatType > > grad_u_cart_as_u_star (uctbx::unit_cell const &unit_cell, af::const_ref< sym_mat3< FloatType > > const &grad_u_cart)
 Transformation of gradients w.r.t. u_cart to gradients w.r.t. u_star.
template<typename FloatType>
vec3< FloatType > eigenvalues (sym_mat3< FloatType > const &adp)
 Determines the eigenvalues of the anisotropic displacement tensor.
template<typename FloatType>
bool is_positive_definite (vec3< FloatType > const &adp_eigenvalues)
 Tests if the anisotropic displacement tensor is positive definite, given adp_eigenvalues.
template<typename FloatType>
bool is_positive_definite (vec3< FloatType > const &adp_eigenvalues, FloatType const &tolerance)
 Tests if the anisotropic displacement tensor is positive definite, given adp_eigenvalues.
template<typename FloatType>
bool is_positive_definite (sym_mat3< FloatType > const &adp)
 Tests if the anisotropic displacement tensor is positive definite.
template<typename FloatType>
bool is_positive_definite (sym_mat3< FloatType > const &adp, FloatType const &tolerance)
 Tests if the anisotropic displacement tensor is positive definite.
template<typename FloatType>
af::shared< bool > is_positive_definite (af::const_ref< sym_mat3< FloatType > > const &adp, FloatType const &tolerance)
 True if adp is positive definite, else False.
template<typename FloatType>
sym_mat3< FloatType > eigenvalue_filtering (sym_mat3< FloatType > const &u_cart, FloatType const &u_min=0, FloatType const &u_max=0)
 Modifies u_cart such that all eigenvalues are >= u_min and <= u_max.
template<typename FloatType>
sym_mat3< FloatType > c_u_c_transpose (mat3< FloatType > const &c, sym_mat3< FloatType > const &u)
 Tensor transformation: c * u * c.transpose().


Detailed Description

Toolbox for the handling of anisotropic displacement parameters (ADPs).

Generated on Tue Sep 1 17:12:31 2009 for cctbx by  doxygen 1.5.6