9#include "MantidGeometry/DllConfig.h"
55 BraggScatterer_sptr createScatterer(
const std::string &name,
const std::string &properties =
"")
const;
58 template <
class C>
void subscribeScatterer() {
59 auto instantiator = std::make_unique<Kernel::Instantiator<C, BraggScatterer>>();
62 subscribe(scatterer->name(), std::move(instantiator));
78EXTERN_MANTID_GEOMETRY
template class MANTID_GEOMETRY_DLL
83#define DECLARE_BRAGGSCATTERER(classname) \
85 Mantid::Kernel::RegistrationHelper register_scatterer_##classname( \
86 ((Mantid::Geometry::BraggScattererFactory::Instance().subscribeScatterer<classname>()), 0)); \
The dynamic factory is a base dynamic factory for serving up objects in response to requests from oth...
Manage the lifetime of a class intended to be a singleton.
std::shared_ptr< BraggScatterer > BraggScatterer_sptr
Helper class which provides the Collimation Length for SANS instruments.
Policy class controlling creation of the singleton Implementation classes should mark their default c...