Mantid
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
Mantid::Geometry::StructureFactorCalculator Class Referenceabstract

StructureFactorCalculator. More...

#include <StructureFactorCalculator.h>

Inheritance diagram for Mantid::Geometry::StructureFactorCalculator:
Mantid::Geometry::StructureFactorCalculatorSummation

Public Member Functions

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< StructureFactorgetFs (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

virtual void crystalStructureSetHook (const CrystalStructure &crystalStructure)
 This function is called from StructureFactorCalculator::setCrystalStructure() and can be overriden to perform additional actions. More...
 

Detailed Description

StructureFactorCalculator.

This is a base class for concrete structure factor calculators. It is used to logically separate this calculation from CrystalStructure so that different methods of calculation can be used. For actual implementations please consult the available sub-classes.

 @author Michael Wedel, ESS
 @date 05/09/2015

Definition at line 25 of file StructureFactorCalculator.h.

Constructor & Destructor Documentation

◆ ~StructureFactorCalculator()

virtual Mantid::Geometry::StructureFactorCalculator::~StructureFactorCalculator ( )
virtualdefault

Member Function Documentation

◆ crystalStructureSetHook()

void Mantid::Geometry::StructureFactorCalculator::crystalStructureSetHook ( const CrystalStructure crystalStructure)
protectedvirtual

This function is called from StructureFactorCalculator::setCrystalStructure() and can be overriden to perform additional actions.

Reimplemented in Mantid::Geometry::StructureFactorCalculatorSummation.

Definition at line 74 of file StructureFactorCalculator.cpp.

References UNUSED_ARG.

Referenced by setCrystalStructure().

◆ getF()

virtual StructureFactor Mantid::Geometry::StructureFactorCalculator::getF ( const Kernel::V3D hkl) const
pure virtual

In implementations this method should return the structure factor for the specified HKL.

Implemented in Mantid::Geometry::StructureFactorCalculatorSummation.

Referenced by getFs(), and getFSquared().

◆ getFs()

std::vector< StructureFactor > Mantid::Geometry::StructureFactorCalculator::getFs ( const std::vector< Kernel::V3D > &  hkls) const
virtual

Returns structure factors for each HKL in the container.

The default implementation uses StructureFactorCalculator::getF() to get the structure factor for each HKL. This behavior can be overriden in sub-classes for example to implement this in a more efficient way.

Parameters
hkls:: Vector of HKLs.
Returns
:: Vector of structure factors for the given HKLs.

Definition at line 43 of file StructureFactorCalculator.cpp.

References getF().

◆ getFSquared()

double Mantid::Geometry::StructureFactorCalculator::getFSquared ( const Kernel::V3D hkl) const
virtual

Returns F^2 for the given HKL, calling StructureFactorCalculator::getF().

Definition at line 27 of file StructureFactorCalculator.cpp.

References getF().

Referenced by getFsSquared().

◆ getFsSquared()

std::vector< double > Mantid::Geometry::StructureFactorCalculator::getFsSquared ( const std::vector< Kernel::V3D > &  hkls) const
virtual

Returns structure factors for each HKL in the container.

The default implementation uses StructureFactorCalculator::getFSquared() with each HKL. This behavior can be overriden in sub-classes for example to implement this in a more efficient way.

Parameters
hkls:: Vector of HKLs.
Returns
:: Vector of squared structure factors for the given HKLs.

Definition at line 62 of file StructureFactorCalculator.cpp.

References getFSquared().

◆ setCrystalStructure()

void Mantid::Geometry::StructureFactorCalculator::setCrystalStructure ( const CrystalStructure crystalStructure)

Sets the crystal structure for which to calculate structure factors.

Additionally StructureFactorCalculator::crystalStructureSetHook() is called with the CrystalStructure. This function may be re-implemented by concrete structure factor calculators to perform other necessary actions that involve the crystal structure (for example extracting and storing members of it).

Parameters
crystalStructure:: Crystal structure for calculations.

Definition at line 22 of file StructureFactorCalculator.cpp.

References crystalStructureSetHook().


The documentation for this class was generated from the following files: