10#include "MantidGeometry/DllConfig.h"
34 virtual double getFSquared(
const Kernel::V3D &hkl)
const;
36 virtual std::vector<StructureFactor> getFs(
const std::vector<Kernel::V3D> &hkls)
const;
37 virtual std::vector<double> getFsSquared(
const std::vector<Kernel::V3D> &hkls)
const;
40 virtual void crystalStructureSetHook(
const CrystalStructure &crystalStructure);
45namespace StructureFactorCalculatorFactory {
49 std::shared_ptr<T> calculator = std::make_shared<T>();
50 calculator->setCrystalStructure(crystalStructure);
Three components are required to describe a crystal structure:
StructureFactorCalculator.
virtual ~StructureFactorCalculator()=default
virtual StructureFactor getF(const Kernel::V3D &hkl) const =0
In implementations this method should return the structure factor for the specified HKL.
std::unique_ptr< T > create(const P &parent, const IndexArg &indexArg, const HistArg &histArg)
This is the create() method that all the other create() methods call.
std::shared_ptr< StructureFactorCalculator > StructureFactorCalculator_sptr
std::complex< double > StructureFactor
Helper class which provides the Collimation Length for SANS instruments.