22 , m_direction(direction)
23 , m_distance(mean_distance)
28 throw std::runtime_error(
29 "InterferenceFunctionTwin::validateParameters: mean distance, standard deviation and "
30 "length of direction vector should be positive");
Defines class InterferenceFunctionTwin.
Defines class RealParameter.
double mag2() const
Returns magnitude squared of the vector.
auto dot(const BasicVector3D< U > &v) const
Returns dot product of vectors (antilinear in the first [=self] argument).
BasicVector3D< T > unit() const
Returns unit vector in direction of this. Throws for null vector.
Abstract base class of interference functions.
void registerVector(const std::string &base_name, kvector_t *p_vec, const std::string &units="nm")
void setName(const std::string &name)
RealParameter & registerParameter(const std::string &name, double *parpointer)
Interference function for two particles at a mean distance and given standard deviation from each oth...
InterferenceFunctionTwin(const kvector_t &direction, double mean_distance, double std_dev)
double meanDistance() const
kvector_t direction() const
double iff_without_dw(const kvector_t q) const final
Calculates the structure factor without Debye-Waller factor.
InterferenceFunctionTwin * clone() const final
Returns a clone of this ISampleNode object.
RealParameter & setNonnegative()
RealParameter & setUnit(const std::string &name)