21 const IFormFactor& meso_form_factor,
double position_variance)
22 : m_lattice(lattice), mp_basis_form_factor(basis_form_factor.clone()),
23 mp_meso_form_factor(meso_form_factor.clone()), m_position_variance(position_variance)
50 std::vector<kvector_t> rec_vectors =
55 for (
const auto& rec : rec_vectors) {
62 result += dw_factor * basis_factor * meso_factor;
75 std::vector<kvector_t> rec_vectors =
79 Eigen::Matrix2cd result = Eigen::Matrix2cd::Zero();
80 for (
const auto& rec : rec_vectors) {
87 result += dw_factor * basis_factor * meso_factor;
107 auto q2 = q_i.
mag2();
std::complex< double > complex_t
Defines many exception classes in namespace Exceptionss.
Defines M_PI and some more mathematical constants.
BasicVector3D< std::complex< double > > cvector_t
BasicVector3D< double > kvector_t
double mag2() const
Returns magnitude squared of the vector.
double mag() const
Returns magnitude of the vector.
BasicVector3D< double > real() const
Returns real parts.
BasicVector3D< std::complex< double > > complex() const
Returns this, trivially converted to complex type.
void setName(const std::string &name)
Pure virtual interface for rotations.
A lattice with three basis vectors.
kvector_t getBasisVectorB() const
Returns basis vector b.
std::vector< kvector_t > reciprocalLatticeVectorsWithinRadius(const kvector_t input_vector, double radius) const
Computes a list of reciprocal lattice vectors within a specified distance of a given vector.
kvector_t getBasisVectorC() const
Returns basis vector c.
double volume() const
Returns the volume of the unit cell.
kvector_t getBasisVectorA() const
Returns basis vector a.
Holds all wavevector information relevant for calculating form factors.
double getWavelength() const
const double radius(5 *Units::nanometer)