Mantid
|
StructureFactorCalculatorSummation. More...
#include <StructureFactorCalculatorSummation.h>
Public Member Functions | |
StructureFactor | getF (const Kernel::V3D &hkl) const override |
Returns the structure factor obtained from the stored scatterers. More... | |
StructureFactorCalculatorSummation () | |
Public Member Functions inherited from Mantid::Geometry::StructureFactorCalculator | |
virtual StructureFactor | getF (const Kernel::V3D &hkl) const =0 |
In implementations this method should return the structure factor for the specified HKL. More... | |
virtual std::vector< StructureFactor > | getFs (const std::vector< Kernel::V3D > &hkls) const |
Returns structure factors for each HKL in the container. More... | |
virtual double | getFSquared (const Kernel::V3D &hkl) const |
Returns F^2 for the given HKL, calling StructureFactorCalculator::getF(). More... | |
virtual std::vector< double > | getFsSquared (const std::vector< Kernel::V3D > &hkls) const |
Returns structure factors for each HKL in the container. More... | |
void | setCrystalStructure (const CrystalStructure &crystalStructure) |
Sets the crystal structure for which to calculate structure factors. More... | |
virtual | ~StructureFactorCalculator ()=default |
Protected Member Functions | |
void | crystalStructureSetHook (const CrystalStructure &crystalStructure) override |
Calls updateUnitCellScatterers() to rebuild the complete list of scatterers. More... | |
std::string | getV3DasString (const Kernel::V3D &point) const |
Return V3D as string without losing precision. More... | |
void | updateUnitCellScatterers (const CrystalStructure &crystalStructure) |
Rebuilds the internal list of scatterers. More... | |
virtual void | crystalStructureSetHook (const CrystalStructure &crystalStructure) |
This function is called from StructureFactorCalculator::setCrystalStructure() and can be overriden to perform additional actions. More... | |
Protected Attributes | |
CompositeBraggScatterer_sptr | m_unitCellScatterers |
StructureFactorCalculatorSummation.
This implementation of StructureFactorCalculator uses the summation method provided by BraggScatterer and its sub-classes. It obtains all scatterers in the unit cell by combining the space group and the scatterers located in the asymmetric unit (both taken from CrystalStructure) and stores them.
@author Michael Wedel, ESS @date 05/09/2015
Definition at line 25 of file StructureFactorCalculatorSummation.h.
Mantid::Geometry::StructureFactorCalculatorSummation::StructureFactorCalculatorSummation | ( | ) |
Definition at line 16 of file StructureFactorCalculatorSummation.cpp.
References Mantid::DataObjects::create().
|
overrideprotectedvirtual |
Calls updateUnitCellScatterers() to rebuild the complete list of scatterers.
Reimplemented from Mantid::Geometry::StructureFactorCalculator.
Definition at line 25 of file StructureFactorCalculatorSummation.cpp.
References updateUnitCellScatterers().
|
overridevirtual |
Returns the structure factor obtained from the stored scatterers.
Implements Mantid::Geometry::StructureFactorCalculator.
Definition at line 20 of file StructureFactorCalculatorSummation.cpp.
References m_unitCellScatterers.
|
protected |
Return V3D as string without losing precision.
Definition at line 69 of file StructureFactorCalculatorSummation.cpp.
Referenced by updateUnitCellScatterers().
|
protected |
Rebuilds the internal list of scatterers.
This method extracts two items from the supplied CrystalStructure object, the list of scatterers in the asymmetric unit and the space group. Then it generates all equivalent positions and creates a complete list of scatterers.
crystalStructure | :: CrystalStructure for structure factor calculation. |
Definition at line 38 of file StructureFactorCalculatorSummation.cpp.
References Mantid::Geometry::CrystalStructure::getScatterers(), getV3DasString(), m_unitCellScatterers, position, and Mantid::Geometry::CrystalStructure::spaceGroup().
Referenced by crystalStructureSetHook().
|
protected |
Definition at line 36 of file StructureFactorCalculatorSummation.h.
Referenced by getF(), and updateUnitCellScatterers().