26 throw std::runtime_error(
27 "InterferenceFunctionTwin::validateParameters: mean distance, standard deviation and "
28 "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.
Pure virtual base class of interference functions.
RealParameter & registerParameter(const std::string &name, double *parpointer)
void setName(const std::string &name)
void registerVector(const std::string &base_name, kvector_t *p_vec, const std::string &units="nm")
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 iff_without_dw(const kvector_t q) const override final
Calculates the structure factor without Debye-Waller factor.
double meanDistance() const
kvector_t direction() const
InterferenceFunctionTwin * clone() const override final
Returns a clone of this ISample object.
RealParameter & setNonnegative()
RealParameter & setUnit(const std::string &name)