12#include "MantidAPI/DllConfig.h"
62 virtual bool next(
size_t skip) = 0;
81 virtual std::unique_ptr<coord_t[]>
getVertexesArray(
size_t &numVertices,
const size_t outDimensions,
82 const bool *maskDim)
const = 0;
std::map< DeltaEMode::Type, std::string > index
This is an interface to an iterator of an IMDWorkspace.
virtual int32_t getInnerDetectorID(size_t index) const =0
For a given event/point in this box, return the detector ID.
virtual std::vector< size_t > findNeighbourIndexes() const =0
Find neighbouring indexes vertex touching.
virtual std::unique_ptr< coord_t[]> getVertexesArray(size_t &numVertices) const =0
Return a list of vertexes defining the volume pointed to.
virtual std::vector< size_t > findNeighbourIndexesFaceTouching() const =0
Find neighbouring indexes face touching.
virtual signal_t getNormalizedError() const =0
Returns the normalized error for this box.
virtual signal_t getError() const =0
Returns the total error for this box.
virtual coord_t getInnerPosition(size_t index, size_t dimension) const =0
Returns the position of a given event for a given dimension.
virtual uint16_t getInnerGoniometerIndex(size_t index) const =0
For a given event/point in this box, return the goniometer index.
virtual bool isWithinBounds(size_t index) const =0
Is index reachable by the iterator.
virtual signal_t getNormalizedSignal() const =0
Returns the normalized signal for this box.
virtual size_t getNumEvents() const =0
Returns the number of events/points contained in this box.
virtual Mantid::Kernel::VMD getCenter() const =0
Returns the position of the center of the box pointed to.
virtual bool valid() const =0
Is the current position of the iterator valid?
virtual ~IMDIterator()=default
virtual uint16_t getInnerExpInfoIndex(size_t index) const =0
For a given event/point in this box, return the associated experiment-info index.
virtual size_t getDataSize() const =0
Get the size of the data (number of entries that will be iterated through)
virtual signal_t getInnerError(size_t index) const =0
Returns the error of a given event.
Mantid::API::MDNormalization m_normalization
Normalization method for getNormalizedSignal()
virtual std::unique_ptr< coord_t[]> getVertexesArray(size_t &numVertices, const size_t outDimensions, const bool *maskDim) const =0
Return a list of vertexes defining the volume pointed to, enable masking of dimensions.
virtual bool next(size_t skip)=0
Advance, skipping a certain number of cells.
virtual bool next()=0
Advance to the next cell.
virtual signal_t getSignal() const =0
Returns the total signal for this box.
virtual signal_t getInnerSignal(size_t index) const =0
Returns the signal of a given event.
virtual size_t getLinearIndex() const =0
Get the linear index.
virtual void jumpTo(size_t index)=0
Jump to the index^th cell.
virtual bool getIsMasked() const =0
Returns true if masking is used.
MDNormalization
Enum describing different ways to normalize the signal in a MDWorkspace.
@ VolumeNormalization
Divide the signal by the volume of the box/bin.
@ NumEventsNormalization
Divide the signal by the number of events that contributed to it.
@ NoNormalization
Don't normalize = return raw counts.
Helper class which provides the Collimation Length for SANS instruments.
float coord_t
Typedef for the data type to use for coordinate axes in MD objects such as MDBox, MDEventWorkspace,...
double signal_t
Typedef for the signal recorded in a MDBox, etc.