Mantid
Loading...
Searching...
No Matches
SpaceGroupFactory Class Reference

This factory is used to create space group objects. More...

#include <SpaceGroupFactory.h>

Detailed Description

This factory is used to create space group objects.

Each space group should be created only once, which is why the factory works with prototypes that are cloned when a space group is requested more than once.

On the other hand, these prototypes should not be constructed when they are registered, because that might slow down startup of Mantid. As a solution, space groups are not stored in the factory directly, instead a generator is constructed on registration, which will do the prototype construction when it's actually required - and still only once.

In principle, any generator can be used through the template method subscribeUsingGenerator, which constructs the object and stores it as a base class pointer. For convenience there are two methods which provide a generator- and a table-based approach (subscribeGeneratedSpaceGroup and subscribeTabulatedSpaceGroup).

A third option is available, using a TransformationSpaceGroupGenerator, which generates a space group using the factory and transforms it using the specified transformation.

Author
Michael Wedel, Paul Scherrer Institut - SINQ
Date
08/10/2014

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