22 #include <boost/math/distributions/normal.hpp> 53 : mu(grid.get_spectrum_at_q(iq).omega(im)),
55 grid.base_sigma(grid.get_spectrum_at_q(iq).vg.col(im))),
56 truncated(mu - constants::nsigma * sigma < 0.),
57 lbound(truncated ? 0. : mu - constants::nsigma * sigma),
58 ubound(mu + constants::nsigma * sigma) {
59 if ((this->mu == 0.) || (this->sigma == 0.))
62 this->dist = make_unique<boost::math::normal>(
mu,
sigma);
73 return boost::math::pdf(*(this->dist), omega);
81 std::unique_ptr<boost::math::normal> dist;
Definition: analytic1d.hpp:26
const bool truncated
True if the usual lower bound would be negative.
Definition: dos.hpp:35
const double ubound
Upper bound to the values that can be considered compatible with the average energy.
Definition: dos.hpp:41
Classes and functions used to manipulate grids in reciprocal space.
Objects of this class handle the contribution of a mode to the phonon DOS.
Definition: dos.hpp:28
const double sigma
Standard deviation.
Definition: dos.hpp:33
Objects of this class represent a regular grid with the Gamma point in one corner.
Definition: qpoint_grid.hpp:32
const double lbound
Lower bound to the values that can be considered compatible with the average energy.
Definition: dos.hpp:38
double get_contribution(double omega) const
Get the amplitude of this contribution at a given frequency.
Definition: dos.hpp:71
const double mu
Average energy.
Definition: dos.hpp:31
Gaussian_for_DOS(const Gamma_grid &grid, std::size_t iq, std::size_t im, double scalebroad)
Constructor.
Definition: dos.hpp:49