10#include "MantidDataObjects/DllConfig.h"
18namespace DataObjects {
45 std::unique_ptr<GroupingWorkspace>
clone()
const {
return std::unique_ptr<GroupingWorkspace>(doClone()); }
48 std::unique_ptr<GroupingWorkspace>
cloneEmpty()
const {
return std::unique_ptr<GroupingWorkspace>(doCloneEmpty()); }
52 const std::string
id()
const override {
return "GroupingWorkspace"; }
54 void makeDetectorIDToGroupMap(std::map<detid_t, int> &detIDToGroup, int64_t &ngroups)
const;
55 void makeDetectorIDToGroupVector(std::vector<int> &detIDToGroup, int64_t &ngroups)
const;
56 int getTotalGroups()
const;
57 std::vector<int> getGroupIDs(
const bool includeUnsetGroup =
true)
const;
58 std::vector<detid_t> getDetectorIDsOfGroup(
const int groupID)
const;
65 int translateToGroupID(
const int n)
const;
83#ifndef DataObjects_EXPORTS
87extern template class MANTID_DATAOBJECTS_DLL WorkspaceProperty<DataObjects::GroupingWorkspace>;
MANTID_DATAOBJECTS_EXTERN_TEMPLATE(Mantid::Kernel::PropertyWithValue< std::shared_ptr< Mantid::DataObjects::GroupingWorkspace > >)
A GroupingWorkspace is a subclass of Workspace2D where each spectrum has a single number entry,...
GroupingWorkspace(const GroupingWorkspace &)=default
Protected copy constructor. May be used by childs for cloning.
std::unique_ptr< GroupingWorkspace > cloneEmpty() const
Returns a default-initialized clone of the workspace.
std::unique_ptr< GroupingWorkspace > clone() const
Returns a clone of the workspace.
GroupingWorkspace * doCloneEmpty() const override
Virtual cloneEmpty method.
GroupingWorkspace & operator=(const GroupingWorkspace &)=delete
GroupingWorkspace(const std::vector< detid_t > &detids)
Constructor, building from a list of detector IDs.
GroupingWorkspace()=default
const std::string id() const override
Gets the name of the workspace type.
GroupingWorkspace * doClone() const override
Virtual clone method. Not implemented to force implementation in children.
The concrete, templated class for properties.
std::shared_ptr< const GroupingWorkspace > GroupingWorkspace_const_sptr
shared pointer to a const GroupingWorkspace
std::shared_ptr< GroupingWorkspace > GroupingWorkspace_sptr
shared pointer to the GroupingWorkspace class
std::shared_ptr< const Instrument > Instrument_const_sptr
Shared pointer to an const instrument object.
Helper class which provides the Collimation Length for SANS instruments.