27 size_t beginWI = 0,
size_t endWI =
size_t(-1));
28 size_t getDataSize()
const override;
30 bool valid()
const override;
34 bool next(
size_t skip)
override;
36 void jumpTo(
size_t index)
override;
38 signal_t getNormalizedSignal()
const override;
40 signal_t getNormalizedError()
const override;
46 std::unique_ptr<coord_t[]> getVertexesArray(
size_t &numVertices)
const override;
48 std::unique_ptr<coord_t[]> getVertexesArray(
size_t &numVertices,
const size_t outDimensions,
49 const bool *maskDim)
const override;
53 size_t getNumEvents()
const override;
55 uint16_t getInnerExpInfoIndex(
size_t index)
const override;
57 uint16_t getInnerGoniometerIndex(
size_t index)
const override;
59 int32_t getInnerDetectorID(
size_t index)
const override;
61 coord_t getInnerPosition(
size_t index,
size_t dimension)
const override;
67 bool getIsMasked()
const override;
69 std::vector<size_t> findNeighbourIndexes()
const override;
71 std::vector<size_t> findNeighbourIndexesFaceTouching()
const override;
73 size_t getLinearIndex()
const override;
75 bool isWithinBounds(
size_t index)
const override;
78 void calcWorkspacePos(
size_t newWI);
IPeaksWorkspace_sptr workspace
std::map< DeltaEMode::Type, std::string > index
This is an interface to an iterator of an IMDWorkspace.
IMDIterator-compatible implementation of an iterator through a MatrixWorkspace.
Mantid::Kernel::VMD m_center
Coordinates of the center at the current iterator pos.
Mantid::Geometry::MDImplicitFunction * m_function
Implicit function to limit volume searched.
uint64_t m_max
The maximum linear index in the workspace.
bool m_isBinnedData
Is the matrix workspace binned (true) e.g. Y vector is 1 shorter than X.
double m_verticalBinSize
For numeric axes, this is the size of the bin in the vertical direction.
MantidVec m_X
Cached copies of X,Y,E at current workspace index.
bool m_errorIsCached
Error vector has been cached?
Mantid::Geometry::IMDDimension_const_sptr m_dimY
The Y (vertical, e.g. spectra) dimension.
size_t m_workspaceIndex
Workspace index of the spectrum we are looking at.
uint64_t m_pos
The linear position/index into the MDHistoWorkspace.
const SpectrumInfo & m_spectrumInfo
SpectrumInfo object, used for masking information.
size_t m_endWI
Workspace index at which the iterator ends.
size_t m_xIndex
x-index, index into the Y[] data array of the spectrum.
const MatrixWorkspace * m_ws
Workspace being iterated.
size_t m_beginWI
Workspace index at which the iterator begins.
std::vector< size_t > m_startIndices
vector of starting index of the unraveled data array
Base MatrixWorkspace Abstract Class.
API::SpectrumInfo is an intermediate step towards a SpectrumInfo that is part of Instrument-2....
An "ImplicitFunction" defining a hyper-cuboid-shaped region in N dimensions.
std::shared_ptr< const IMDDimension > IMDDimension_const_sptr
Shared Pointer to const IMDDimension.
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.
std::vector< double > MantidVec
typedef for the data storage used in Mantid matrix workspaces