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;
214 std::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;
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
Coord_reci_orth coord_reci_orth(const Cell &cell) const
orthogonal-fractional reciprocal space coordinate conversion
Definition: coords.h:763
abstract base class for resolution function basis functions
Definition: resol_fn.h:66
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_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
simple log Gaussian basis function
Definition: resol_basisfn.h:201
ftype scale(const std::vector< ftype > ¶ms) const
return the scale factor corresponding to the Gaussian parameters
Definition: resol_basisfn.cpp:201
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
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_s(const ftype &s, const std::vector< ftype > ¶ms) const
the value of the resolution function
Definition: resol_basisfn.cpp:192
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
FNtype type() const
the type of the function: optionally used to improve convergence
Definition: resol_basisfn.h:142
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 invresolsq(const Cell &cell) const
return inverse resolution squared for this reflection in given cell
Definition: coords.h:757
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
BasisFn_aniso_gaussian()
constructor:
Definition: resol_basisfn.h:182
FNtype type() const
the type of the function: optionally used to improve convergence
Definition: resol_basisfn.h:242
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_log_aniso_gaussian()
constructor:
Definition: resol_basisfn.h:233
ftype64 ftype
ftype definition for floating point representation
Definition: clipper_precision.h:58
void init(const HKL_info &hklinfo, const ftype &power)
initialiser: takes an HKL_info and uses all reflections.
Definition: resol_basisfn.cpp:50
HKL list container and tree root.
Definition: hkl_info.h:62
const Cell & base_cell() const
get the parent cell
Definition: hkl_data.h:159
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
BasisFn_expcubic()
constructor
Definition: resol_basisfn.h:256
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
Cell object.
Definition: cell.h:121
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
FNtype type() const
the type of the function: optionally used to improve convergence
Definition: resol_basisfn.h:216
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
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
int num_diagonals() const
number of non-zero diagonals in the upper triangle of the curvatures
Definition: resol_basisfn.h:117
FNtype
enumeration of function types: optionally used to improve convergence
Definition: resol_fn.h:70
simple Gaussian basis function
Definition: resol_basisfn.h:156
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
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
ftype u_iso(const std::vector< ftype > ¶ms) const
return the isotropic U corresponding to the Gaussian parameters
Definition: resol_basisfn.cpp:206
int num_diagonals() const
number of non-zero diagonals in the upper triangle of the curvatures
Definition: resol_basisfn.h:144
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_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
Anisotropic orthogonal atomic displacement parameters.
Definition: coords.h:426
FNtype type() const
the type of the function: optionally used to improve convergence
Definition: resol_basisfn.h:115
simple Expcubic basis function
Definition: resol_basisfn.h:252
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
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
simple anisotropic Gaussian basis function
Definition: resol_basisfn.h:229
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
ftype scale(const std::vector< ftype > ¶ms) const
return the scale factor corresponding to the Gaussian parameters
Definition: resol_basisfn.cpp:243
Generic ordinal gernerator.
Definition: clipper_stats.h:163
ftype scale(const std::vector< ftype > ¶ms) const
return the scale factor corresponding to the Gaussian parameters
Definition: resol_basisfn.cpp:311
FNtype type() const
the type of the function: optionally used to improve convergence
Definition: resol_basisfn.h:88
simple anisotropic Gaussian basis function
Definition: resol_basisfn.h:178
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
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
object holding the basis function and its first two derivatives
Definition: resol_fn.h:73
ftype u_iso(const std::vector< ftype > ¶ms) const
return the isotropic U corresponding to the Gaussian parameters
Definition: resol_basisfn.cpp:278
simple smooth basis function
Definition: resol_basisfn.h:130
BasisFn_log_gaussian()
constructor:
Definition: resol_basisfn.h:205
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
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 binning basis function
Definition: resol_basisfn.h:76
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
BasisFn_gaussian()
constructor:
Definition: resol_basisfn.h:160
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
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
Resolution ordinal gernerator.
Definition: resol_basisfn.h:61
simple linear basis function
Definition: resol_basisfn.h:103
HKL_data_base.
Definition: hkl_data.h:136
reflection 'Miller' index
Definition: coords.h:145
ftype scale(const std::vector< ftype > ¶ms) const
return the scale factor corresponding to the Gaussian parameters
Definition: resol_basisfn.cpp:273
orthogonal reciprocal coordinate (length of which is invresolsq)
Definition: coords.h:186