Mantid
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Typedefs | Functions
SymmetryElementFactory.h File Reference
#include "MantidGeometry/Crystal/SymmetryElement.h"
#include "MantidGeometry/Crystal/SymmetryOperation.h"
#include "MantidGeometry/DllConfig.h"
#include "MantidKernel/RegistrationHelper.h"
#include "MantidKernel/SingletonHolder.h"
#include <map>
#include <memory>
#include <unordered_set>

Go to the source code of this file.

Classes

class  Mantid::Geometry::AbstractSymmetryElementGenerator
 SymmetryElementFactoryImpl does not generate SymmetryElement objects directly. More...
 
class  Mantid::Geometry::SymmetryElementFactoryImpl
 This factory takes a SymmetryOperation and generates the corresponding SymmetryElement. More...
 
class  Mantid::Geometry::SymmetryElementIdentityGenerator
 This implementation of AbstractSymmetryElementGenerator produces only identity elements. More...
 
class  Mantid::Geometry::SymmetryElementInversionGenerator
 This implementation of AbstractSymmetryElementGenerator produces only inversion elements. More...
 
class  Mantid::Geometry::SymmetryElementMirrorGenerator
 SymmetryElementMirrorGenerator also inherits from SymmetryElementWithAxisGenerator. More...
 
class  Mantid::Geometry::SymmetryElementRotationGenerator
 SymmetryElementRotationGenerator inherits from SymmetryElementWithAxisGenerator, using its methods for determination of rotation axis and translations in case of screw axes. More...
 
class  Mantid::Geometry::SymmetryElementTranslationGenerator
 This implementation of AbstractSymmetryElementGenerator produces only translation elements. More...
 
class  Mantid::Geometry::SymmetryElementWithAxisGenerator
 SymmetryElementWithAxisGenerator does not create any elements directly, it serves as a base for SymmetryElementRotationGenerator and SymmetryAxisMirrorGenerator, which have in common that the axis of the symmetry element as well as any potential translations must be determined. More...
 

Namespaces

namespace  Mantid
 Helper class which provides the Collimation Length for SANS instruments.
 
namespace  Mantid::Geometry
 
namespace  Mantid::Kernel
 

Macros

#define DECLARE_SYMMETRY_ELEMENT_GENERATOR(classname)
 

Typedefs

using Mantid::Geometry::AbstractSymmetryElementGenerator_sptr = std::shared_ptr< AbstractSymmetryElementGenerator >
 
using Mantid::Geometry::SymmetryElementFactory = Mantid::Kernel::SingletonHolder< SymmetryElementFactoryImpl >
 

Functions

MANTID_GEOMETRY_DLL gsl_matrix * Mantid::Geometry::getGSLIdentityMatrix (size_t rows, size_t cols)
 Returns a GSL-indentity matrix. More...
 
MANTID_GEOMETRY_DLL gsl_matrix * Mantid::Geometry::getGSLMatrix (const Kernel::IntMatrix &matrix)
 Returns a GSL-matrix for the given IntMatrix. More...
 

Macro Definition Documentation

◆ DECLARE_SYMMETRY_ELEMENT_GENERATOR

#define DECLARE_SYMMETRY_ELEMENT_GENERATOR (   classname)
Value:
namespace { \
Mantid::Kernel::RegistrationHelper register_symmetry_element_generator_##classname(( \
(Mantid::Geometry::SymmetryElementFactory::Instance().subscribeSymmetryElementGenerator<classname>(#classname)), \
0)); \
}
This class is simply used in the subscription of classes into the various factories in Mantid.
static T & Instance()
Return a reference to the Singleton instance, creating it if it does not already exist Creation is do...

Definition at line 235 of file SymmetryElementFactory.h.