10#include "MantidAPI/DllConfig.h"
51 virtual std::vector<Mantid::Geometry::MDDimensionExtents<coord_t>>
getMinimumExtents(
size_t depth = 2)
const = 0;
60 virtual void getBoxes(std::vector<API::IMDNode *> &boxes,
size_t maxDepth,
bool leafOnly) = 0;
85 bool fileNeedsUpdating()
const;
87 void setFileNeedsUpdating(
bool value);
103 virtual bool hasOrientedLattice()
const override {
return MultipleExperimentInfos::hasOrientedLattice(); }
111 const std::string toString()
const override;
double value
The value of the point.
Abstract base class for multi-dimension event workspaces (MDEventWorkspace).
virtual Mantid::API::BoxController_const_sptr getBoxController() const =0
Mantid::API::MDNormalization displayNormalizationHisto() const override=0
virtual Mantid::API::BoxController_sptr getBoxController()=0
IMDEventWorkspace_uptr clone() const
Returns a clone of the workspace.
virtual void setFileBacked()=0
set filebacked on the contained box
virtual void initialize()=0
Perform initialization after dimensions (and others) have been set.
virtual std::vector< Mantid::Geometry::MDDimensionExtents< coord_t > > getMinimumExtents(size_t depth=2) const =0
Get the minimum extents that hold the data.
virtual void setDisplayNormalizationHisto(Mantid::API::MDNormalization preferredNormalizationHisto)=0
Preferred visual normalizaiton method for any histo workspaces created from this.
virtual void splitBox()=0
Split the top-level MDBox into a MDGridBox.
virtual void setBox(API::IMDNode *box)=0
virtual bool hasOrientedLattice() const override
virtual void setDisplayNormalization(Mantid::API::MDNormalization preferredNormalization)=0
Preferred visual normalization method.
virtual std::vector< std::string > getBoxControllerStats() const =0
Returns some information about the box controller, to be displayed in the GUI, for example.
virtual void refreshCache()=0
Refresh the cache (integrated signal of each box)
IMDEventWorkspace & operator=(const IMDEventWorkspace &)=delete
Mantid::API::MDNormalization displayNormalization() const override=0
virtual void setCoordinateSystem(const Mantid::Kernel::SpecialCoordinateSystem coordinateSystem)=0
virtual void splitAllIfNeeded(Kernel::ThreadScheduler *ts)=0
Split all boxes that exceed the split threshold.
virtual size_t sizeofEvent() const =0
Return the size(in bytes) for the event, which this workspace contains.
virtual void getBoxes(std::vector< API::IMDNode * > &boxes, size_t maxDepth, bool leafOnly)=0
IMDEventWorkspace * doClone() const override=0
Virtual clone method. Not implemented to force implementation in children.
virtual std::string getEventTypeName() const =0
Return the type of event contained, as a string. MDEvent or MDLeanEvent.
virtual void setMinRecursionDepth(size_t depth)=0
Recurse down to a minimum depth.
virtual bool isFileBacked() const =0
IMDEventWorkspace * doCloneEmpty() const override=0
Virtual cloneEmpty method.
IMDEventWorkspace_uptr cloneEmpty() const
Returns a default-initialized clone of the workspace.
bool m_fileNeedsUpdating
Marker set to true when a file-backed workspace needs its back-end file updated (by calling SaveMD(Up...
IMDEventWorkspace(const IMDEventWorkspace &)=default
Protected copy constructor. May be used by childs for cloning.
Basic MD Workspace Abstract Class.
Small class that allows a MDEventWorkspace or a MDHistoWorkspace to hold several ExperimentInfo class...
The ThreadScheduler object defines how tasks are allocated to threads and in what order.
std::unique_ptr< IMDEventWorkspace > IMDEventWorkspace_uptr
unique pointer to Mantid::API::IMDEventWorkspace
std::shared_ptr< const BoxController > BoxController_const_sptr
Shared ptr to a const BoxController.
std::shared_ptr< BoxController > BoxController_sptr
Shared ptr to BoxController.
MDNormalization
Enum describing different ways to normalize the signal in a MDWorkspace.
SpecialCoordinateSystem
Special coordinate systems for Q3D.
std::enable_if< std::is_pointer< Arg >::value, bool >::type threadSafe(Arg workspace)
Thread-safety check Checks the workspace to ensure it is suitable for multithreaded access.
Helper class which provides the Collimation Length for SANS instruments.