45#ifndef CLIPPER_RESOL_BASISFN
46#define CLIPPER_RESOL_BASISFN
84 ftype f_s(
const ftype& s,
const std::vector<ftype>& params )
const;
111 ftype f_s(
const ftype& s,
const std::vector<ftype>& params )
const;
138 ftype f_s(
const ftype& s,
const std::vector<ftype>& params )
const;
170 ftype scale(
const std::vector<ftype>& params )
const;
172 ftype u_iso(
const std::vector<ftype>& params )
const;
190 ftype scale(
const std::vector<ftype>& params )
const;
214std::vector<ftype>& params )
const {
return fderiv_s( hkl.
invresolsq( cell ), params ); }
218 ftype scale(
const std::vector<ftype>& params )
const;
220 ftype u_iso(
const std::vector<ftype>& params )
const;
244 ftype scale(
const std::vector<ftype>& params )
const;
simple anisotropic Gaussian basis function
Definition: resol_basisfn.h:179
U_aniso_orth u_aniso_orth(const std::vector< ftype > ¶ms) const
return the anisotropic U corresponding to the Gaussian parameters
Definition: resol_basisfn.cpp:248
const BasisFn_base::Fderiv & fderiv(const HKL &hkl, const Cell &cell, const std::vector< ftype > ¶ms) const
the value of the resolution function (override for speed)
Definition: resol_basisfn.h:188
const BasisFn_base::Fderiv & fderiv_coord(const Coord_reci_orth &xs, const std::vector< ftype > ¶ms) const
the derivatives of the resolution function w.r.t. the parameters
Definition: resol_basisfn.cpp:220
ftype scale(const std::vector< ftype > ¶ms) const
return the scale factor corresponding to the Gaussian parameters
Definition: resol_basisfn.cpp:243
BasisFn_aniso_gaussian()
constructor:
Definition: resol_basisfn.h:182
object holding the basis function and its first two derivatives
Definition: resol_fn.h:74
abstract base class for resolution function basis functions
Definition: resol_fn.h:67
FNtype
enumeration of function types: optionally used to improve convergence
Definition: resol_fn.h:70
simple binning basis function
Definition: resol_basisfn.h:77
BasisFn_binner(const HKL_data_base &hkldata, const int &nbins_, const ftype power=1.0)
constructor: include only non-missing reflections in histogram
Definition: resol_basisfn.h:82
const BasisFn_base::Fderiv & fderiv(const HKL &hkl, const Cell &cell, const std::vector< ftype > ¶ms) const
the derivatives of the resolution function w.r.t. the parameters
Definition: resol_basisfn.h:94
ftype f_s(const ftype &s, const std::vector< ftype > ¶ms) const
the value of the resolution function (override for speed)
Definition: resol_basisfn.cpp:98
FNtype type() const
the type of the function: optionally used to improve convergence
Definition: resol_basisfn.h:88
ftype f(const HKL &hkl, const Cell &cell, const std::vector< ftype > ¶ms) const
the value of the resolution function (override for speed)
Definition: resol_basisfn.h:92
const BasisFn_base::Fderiv & fderiv_s(const ftype &s, const std::vector< ftype > ¶ms) const
the derivative of the resolution function w.r.t. the parameters
Definition: resol_basisfn.cpp:106
int num_diagonals() const
number of non-zero diagonals in the upper triangle of the curvatures
Definition: resol_basisfn.h:90
BasisFn_binner(const HKL_info &hklinfo, const int &nbins_, const ftype power=1.0)
constructor: include whole reflection list in histogram
Definition: resol_basisfn.h:80
simple Expcubic basis function
Definition: resol_basisfn.h:253
BasisFn_expcubic()
constructor
Definition: resol_basisfn.h:256
const BasisFn_base::Fderiv & fderiv_s(const ftype &s, const std::vector< ftype > ¶ms) const
the derivatives of the resolution function w.r.t. the parameters
Definition: resol_basisfn.cpp:332
const BasisFn_base::Fderiv & fderiv(const HKL &hkl, const Cell &cell, const std::vector< ftype > ¶ms) const
the value of the resolution function (override for speed)
Definition: resol_basisfn.h:262
simple Gaussian basis function
Definition: resol_basisfn.h:157
const BasisFn_base::Fderiv & fderiv(const HKL &hkl, const Cell &cell, const std::vector< ftype > ¶ms) const
the value of the resolution function (override for speed)
Definition: resol_basisfn.h:168
ftype scale(const std::vector< ftype > ¶ms) const
return the scale factor corresponding to the Gaussian parameters
Definition: resol_basisfn.cpp:201
const BasisFn_base::Fderiv & fderiv_s(const ftype &s, const std::vector< ftype > ¶ms) const
the value of the resolution function
Definition: resol_basisfn.cpp:192
ftype u_iso(const std::vector< ftype > ¶ms) const
return the isotropic U corresponding to the Gaussian parameters
Definition: resol_basisfn.cpp:206
BasisFn_gaussian()
constructor:
Definition: resol_basisfn.h:160
simple linear basis function
Definition: resol_basisfn.h:104
ftype f_s(const ftype &s, const std::vector< ftype > ¶ms) const
the value of the resolution function (override for speed)
Definition: resol_basisfn.cpp:122
BasisFn_linear(const HKL_data_base &hkldata, const int &nbins_, const ftype power=1.0)
constructor: include only non-missing reflections in histogram
Definition: resol_basisfn.h:109
const BasisFn_base::Fderiv & fderiv_s(const ftype &s, const std::vector< ftype > ¶ms) const
the derivative of the resolution function w.r.t. the parameters
Definition: resol_basisfn.cpp:133
int num_diagonals() const
number of non-zero diagonals in the upper triangle of the curvatures
Definition: resol_basisfn.h:117
FNtype type() const
the type of the function: optionally used to improve convergence
Definition: resol_basisfn.h:115
BasisFn_linear(const HKL_info &hklinfo, const int &nbins_, const ftype power=1.0)
constructor: include whole reflection list in histogram
Definition: resol_basisfn.h:107
ftype f(const HKL &hkl, const Cell &cell, const std::vector< ftype > ¶ms) const
the value of the resolution function (override for speed)
Definition: resol_basisfn.h:119
const BasisFn_base::Fderiv & fderiv(const HKL &hkl, const Cell &cell, const std::vector< ftype > ¶ms) const
the derivatives of the resolution function w.r.t. the parameters
Definition: resol_basisfn.h:121
simple anisotropic Gaussian basis function
Definition: resol_basisfn.h:230
ftype scale(const std::vector< ftype > ¶ms) const
return the scale factor corresponding to the Gaussian parameters
Definition: resol_basisfn.cpp:311
const BasisFn_base::Fderiv & fderiv(const HKL &hkl, const Cell &cell, const std::vector< ftype > ¶ms) const
the value of the resolution function (override for speed)
Definition: resol_basisfn.h:239
BasisFn_log_aniso_gaussian()
constructor:
Definition: resol_basisfn.h:233
FNtype type() const
the type of the function: optionally used to improve convergence
Definition: resol_basisfn.h:242
const BasisFn_base::Fderiv & fderiv_coord(const Coord_reci_orth &xs, const std::vector< ftype > ¶ms) const
the derivatives of the resolution function w.r.t. the parameters
Definition: resol_basisfn.cpp:292
U_aniso_orth u_aniso_orth(const std::vector< ftype > ¶ms) const
return the anisotropic U corresponding to the Gaussian parameters
Definition: resol_basisfn.cpp:316
simple log Gaussian basis function
Definition: resol_basisfn.h:202
ftype scale(const std::vector< ftype > ¶ms) const
return the scale factor corresponding to the Gaussian parameters
Definition: resol_basisfn.cpp:273
BasisFn_log_gaussian()
constructor:
Definition: resol_basisfn.h:205
ftype u_iso(const std::vector< ftype > ¶ms) const
return the isotropic U corresponding to the Gaussian parameters
Definition: resol_basisfn.cpp:278
FNtype type() const
the type of the function: optionally used to improve convergence
Definition: resol_basisfn.h:216
const BasisFn_base::Fderiv & fderiv_s(const ftype &s, const std::vector< ftype > ¶ms) const
the value of the resolution function
Definition: resol_basisfn.cpp:264
const BasisFn_base::Fderiv & fderiv(const HKL &hkl, const Cell &cell, const std::vector< ftype > ¶ms) const
the value of the resolution function (override for speed)
Definition: resol_basisfn.h:213
simple smooth basis function
Definition: resol_basisfn.h:131
const BasisFn_base::Fderiv & fderiv(const HKL &hkl, const Cell &cell, const std::vector< ftype > ¶ms) const
the derivatives of the resolution function w.r.t. the parameters
Definition: resol_basisfn.h:148
ftype f(const HKL &hkl, const Cell &cell, const std::vector< ftype > ¶ms) const
the value of the resolution function (override for speed)
Definition: resol_basisfn.h:146
BasisFn_spline(const HKL_data_base &hkldata, const int &nbins_, const ftype power=1.0)
constructor: include only non-missing reflections in histogram
Definition: resol_basisfn.h:136
ftype f_s(const ftype &s, const std::vector< ftype > ¶ms) const
the value of the resolution function (override for speed)
Definition: resol_basisfn.cpp:152
BasisFn_spline(const HKL_info &hklinfo, const int &nbins_, const ftype power=1.0)
constructor: include whole reflection list in histogram
Definition: resol_basisfn.h:134
const BasisFn_base::Fderiv & fderiv_s(const ftype &s, const std::vector< ftype > ¶ms) const
the derivative of the resolution function w.r.t. the parameters
Definition: resol_basisfn.cpp:164
FNtype type() const
the type of the function: optionally used to improve convergence
Definition: resol_basisfn.h:142
int num_diagonals() const
number of non-zero diagonals in the upper triangle of the curvatures
Definition: resol_basisfn.h:144
Cell object.
Definition: cell.h:122
orthogonal reciprocal coordinate (length of which is invresolsq)
Definition: coords.h:187
Generic ordinal gernerator.
Definition: clipper_stats.h:164
HKL_data_base.
Definition: hkl_data.h:137
const Cell & base_cell() const
get the parent cell
Definition: hkl_data.h:159
HKL list container and tree root.
Definition: hkl_info.h:63
reflection 'Miller' index
Definition: coords.h:146
Coord_reci_orth coord_reci_orth(const Cell &cell) const
orthogonal-fractional reciprocal space coordinate conversion
Definition: coords.h:763
ftype invresolsq(const Cell &cell) const
return inverse resolution squared for this reflection in given cell
Definition: coords.h:757
Resolution ordinal gernerator.
Definition: resol_basisfn.h:62
void init(const HKL_info &hklinfo, const ftype &power)
initialiser: takes an HKL_info and uses all reflections.
Definition: resol_basisfn.cpp:50
Anisotropic orthogonal atomic displacement parameters.
Definition: coords.h:427
ftype64 ftype
ftype definition for floating point representation
Definition: clipper_precision.h:58