10#include "MantidCrystal/DllConfig.h"
12#include <boost/scoped_ptr.hpp>
20class ImplClusterRegister;
28 using MapCluster = std::map<size_t, std::shared_ptr<ICluster>>;
34 void add(
const size_t &label,
const std::shared_ptr<ICluster> &cluster);
40 MapCluster clusters(std::vector<DisjointElement> &elements)
const;
50 boost::scoped_ptr<ImplClusterRegister>
m_Impl;
ClusterRegister : A fly-weight ICluster regeister.
std::map< size_t, std::shared_ptr< ICluster > > MapCluster
Cluster map.
virtual ~ClusterRegister()
Destructor.
boost::scoped_ptr< ImplClusterRegister > m_Impl
Pointer to implementation.
DisjointElement : Cluster item used in a disjoint-set data structure.
Helper class which provides the Collimation Length for SANS instruments.