23#define DECLARE_MD_TRANSF(classname) \
25 Mantid::Kernel::RegistrationHelper register_alg_##classname( \
26 ((Mantid::MDAlgorithms::MDTransfFactory::Instance().subscribe<classname>(#classname)), 0)); \
28 const std::string Mantid::MDAlgorithms::classname::transfID() const { return #classname; }
30#define DECLARE_MD_TRANSFID(classname, regID) \
32 Mantid::Kernel::RegistrationHelper \
33 register_alg_##classname(((Mantid::MDAlgorithms::MDTransfFactory::Instance().subscribe<classname>(#regID)), 0)); \
35 const std::string Mantid::MDAlgorithms::classname::transfID() const { return #regID; }
40#include "MantidMDAlgorithms/DllConfig.h"
48namespace MDAlgorithms {
71 std::shared_ptr<MDTransfInterface>
create(
const std::string &className)
const override;
81 mutable std::map<std::string, std::shared_ptr<MDTransfInterface>>
m_createdTransf;
93EXTERN_MANTID_MDALGORITHMS
template class MANTID_MDALGORITHMS_DLL
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.
Creates instances of concrete transformations into multidimensional (MD) coordinates.
MDTransfFactoryImpl & operator=(const MDTransfFactoryImpl &)=delete
MDTransfFactoryImpl(const MDTransfFactoryImpl &)=delete
std::map< std::string, std::shared_ptr< MDTransfInterface > > m_createdTransf
Stores pointers to already created unit instances, with their name as the key.
std::unique_ptr< T > create(const P &parent, const IndexArg &indexArg, const HistArg &histArg)
This is the create() method that all the other create() methods call.
Helper class which provides the Collimation Length for SANS instruments.
Policy class controlling creation of the singleton Implementation classes should mark their default c...