10#include "MantidCrystal/DllConfig.h"
12#include <boost/tuple/tuple.hpp>
18class IMDHistoWorkspace;
33 virtual void writeTo(std::shared_ptr<Mantid::API::IMDHistoWorkspace> ws)
const = 0;
42 virtual size_t size()
const = 0;
ICluster : Abstract cluster.
virtual size_t getLabel() const =0
Get the cluster label.
virtual void setRootCluster(ICluster const *root)=0
Set the root cluster.
virtual void writeTo(std::shared_ptr< Mantid::API::IMDHistoWorkspace > ws) const =0
Apply labels to the workspace.
virtual void toUniformMinimum(std::vector< DisjointElement > &disjointSet)=0
Resolve the proper label for this cluster.
boost::tuple< double, double > ClusterIntegratedValues
virtual size_t getRepresentitiveIndex() const =0
Get a represetiative index of the cluster.
virtual size_t size() const =0
Number of indexes tracked.
virtual size_t getOriginalLabel() const =0
Get the originally set label.
virtual bool containsLabel(const size_t &label) const =0
Is the label contained in the cluster.
virtual ~ICluster()=default
Virtual destructor.
virtual void addIndex(const size_t &index)=0
Track a linear IMDHistoWorkspace index that belongs to the cluster.
virtual ClusterIntegratedValues integrate(std::shared_ptr< const Mantid::API::IMDHistoWorkspace > ws) const =0
integrate the cluster
Helper class which provides the Collimation Length for SANS instruments.
Peak indexing algorithm, which works by assigning multiple possible HKL values to each peak and then ...