Mantid
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
Mantid::DataObjects::MDBox Class Reference

Templated class for a multi-dimensional event "box". More...

#include <MDBox.h>

Inheritance diagram for Mantid::DataObjects::MDBox:
Mantid::DataObjects::MDBoxBase< MDE, nd >

Public Types

using EventIterator = typename std::vector< MDE >::const_iterator
 
using sptr = std::shared_ptr< MDBox< MDE, nd > >
 Typedef for a shared pointer to a MDBox. More...
 
using vec_t = std::vector< MDE >
 Typedef for a vector of the conatined events. More...
 
- Public Types inherited from Mantid::DataObjects::MDBoxBase< MDE, nd >
using sptr = std::shared_ptr< MDBoxBase< MDE, nd > >
 Convenience typedef for a shared pointer to a this type of class. More...
 

Public Member Functions

size_t addEvent (const MDE &Evnt) override
 Add a single event. More...
 
size_t addEvents (const std::vector< MDE > &events) override
 
size_t addEventsUnsafe (const std::vector< MDE > &events) override
 
size_t addEventUnsafe (const MDE &Evnt) override
 Add a single event, with no mutex locking. More...
 
void buildAndAddEvent (const signal_t Signal, const signal_t errorSq, const std::vector< coord_t > &point, uint16_t expInfoIndex, uint16_t goniometerIndex, uint32_t detectorId) override
 
size_t buildAndAddEvents (const std::vector< signal_t > &sigErrSq, const std::vector< coord_t > &Coord, const std::vector< uint16_t > &expInfoIndex, const std::vector< uint16_t > &goniometernIndex, const std::vector< uint32_t > &detectorId) override
 
void buildAndAddEventUnsafe (const signal_t Signal, const signal_t errorSq, const std::vector< coord_t > &point, uint16_t expInfoIndex, uint16_t goniometernIndex, uint32_t detectorId) override
 
void calculateCentroid (coord_t *centroid) const override
 
void calculateCentroid (coord_t *centroid, const int expInfoIndex) const override
 
void calculateDimensionStats (MDDimensionStats *stats) const
 
void centerpointBin (MDBin< MDE, nd > &bin, bool *fullyContained) const override
 Perform centerpoint binning of events. More...
 
void centroidSphere (Mantid::API::CoordTransform &radiusTransform, const coord_t radiusSquared, coord_t *centroid, signal_t &signal) const override
 Find the centroid around a sphere. More...
 
void clear () override
 
void clearDataFromMemory () override
 drop events data from memory but keep averages (and file-backed info) More...
 
void clearFileBacked (bool loadDiskBackedData) override
 
void generalBin (MDBin< MDE, nd > &bin, Mantid::Geometry::MDImplicitFunction &function) const override
 General binning method for any shape. More...
 
void getBoxes (std::vector< API::IMDNode * > &boxes, size_t maxDepth, bool leafOnly, Mantid::Geometry::MDImplicitFunction *function) override
 
void getBoxes (std::vector< API::IMDNode * > &boxes, size_t, bool) override
 
void getBoxes (std::vector< API::IMDNode * > &outBoxes, const std::function< bool(API::IMDNode *)> &cond) final override
 
void getBoxes (std::vector< MDBoxBase< MDE, nd > * > &boxes, size_t maxDepth, bool leafOnly, Mantid::Geometry::MDImplicitFunction *function)
 
void getBoxes (std::vector< MDBoxBase< MDE, nd > * > &boxes, size_t, bool)
 
coord_tgetCentroid () const override
 
API::IMDNodegetChild (size_t) override
 Return the indexth child MDBoxBase. More...
 
const std::vector< MDE > & getConstEvents () const
 Get vector of constant events to use. More...
 
size_t getDataInMemorySize () const override
 
std::vector< MDE > & getEvents ()
 Get vector of events to change. More...
 
const std::vector< MDE > & getEvents () const
 
std::vector< MDE > * getEventsCopy () override
 Return a copy of contained events. More...
 
void getEventsData (std::vector< coord_t > &coordTable, size_t &nColumns) const override
 
Kernel::ISaveablegetISaveable () const override
 
Kernel::ISaveablegetISaveable () override
 
bool getIsMasked () const override
 
uint64_t getNPoints () const override
 
size_t getNumChildren () const override
 Get the # of children MDBoxBase'es (non-recursive) More...
 
size_t getNumDims () const override
 
size_t getNumMDBoxes () const override
 
uint64_t getTotalDataSize () const override
 
void integrateCylinder (Mantid::API::CoordTransform &radiusTransform, const coord_t radius, const coord_t length, signal_t &signal, signal_t &errorSquared, std::vector< signal_t > &signal_fit) const override
 Cylinder (peak) integration. More...
 
void integrateSphere (Mantid::API::CoordTransform &radiusTransform, const coord_t radiusSquared, signal_t &signal, signal_t &errorSquared, const coord_t innerRadiusSquared=0.0, const bool useOnePercentBackgroundCorrection=true) const override
 Sphere (peak) integration. More...
 
bool isBox () const override
 
bool isDataAdded () const
 
void loadAndAddFrom (API::IBoxControllerIO *const, uint64_t, size_t) override
 
void loadAndAddFrom (API::IBoxControllerIO *const, uint64_t, size_t, std::vector< coord_t > &) override
 
void mask () override
 Setter for masking the box. More...
 
 MDBox (const MDBox< MDE, nd > &other, Mantid::API::BoxController *const otherBC)
 
 MDBox (Mantid::API::BoxController *const bc, const uint32_t depth, const std::vector< Mantid::Geometry::MDDimensionExtents< coord_t > > &extentsVector, EventIterator begin, EventIterator end)
 
 MDBox (Mantid::API::BoxController *const splitter, const uint32_t depth, const std::vector< Mantid::Geometry::MDDimensionExtents< coord_t > > &extentsVector, const size_t nBoxEvents=UNDEF_SIZET, const size_t boxID=UNDEF_SIZET)
 
 MDBox (Mantid::API::BoxController *const splitter, const uint32_t depth=0, const size_t nBoxEvents=UNDEF_SIZET, const size_t boxID=UNDEF_SIZET)
 
 MDBox (Mantid::API::BoxController_sptr &splitter, const uint32_t depth, const std::vector< Mantid::Geometry::MDDimensionExtents< coord_t > > &extentsVector, const size_t nBoxEvents=UNDEF_SIZET, const size_t boxID=UNDEF_SIZET)
 
 MDBox (Mantid::API::BoxController_sptr &splitter, const uint32_t depth=0, const size_t nBoxEvents=UNDEF_SIZET, const size_t boxID=UNDEF_SIZET)
 
void refreshCache (Kernel::ThreadScheduler *=nullptr) override
 Recalculate signal and various averages dependent on signal and the signal coordinates. More...
 
void releaseEvents ()
 
void reserveMemoryForLoad (uint64_t) override
 
void saveAt (API::IBoxControllerIO *const, uint64_t) const override
 
void setChildren (const std::vector< API::IMDNode * > &, const size_t, const size_t) override
 Sets the children from a vector of children. More...
 
void setEventsData (const std::vector< coord_t > &coordTable) override
 
void setFileBacked () override
 
void setFileBacked (const uint64_t, const size_t, const bool) override
 
void splitAllIfNeeded (Mantid::Kernel::ThreadScheduler *=nullptr) override
 
void transformDimensions (std::vector< double > &scaling, std::vector< double > &offset) override
 
void unmask () override
 Setter for unmasking the box. More...
 
 ~MDBox () override
 
- Public Member Functions inherited from Mantid::DataObjects::MDBoxBase< MDE, nd >
virtual size_t addEvent (const MDE &point)=0
 Add a single event. More...
 
virtual size_t addEvents (const std::vector< MDE > &events)
 
virtual size_t addEventsUnsafe (const std::vector< MDE > &events)
 
virtual size_t addEventUnsafe (const MDE &point)=0
 Add a single event, with no mutex locking. More...
 
virtual void calculateGridCaches ()
 
void calcVolume () override
 Compute the volume of the box by simply multiplying each dimension range. More...
 
virtual void centerpointBin (MDBin< MDE, nd > &bin, bool *fullyContained) const=0
 Perform centerpoint binning of events. More...
 
void centroidSphere (Mantid::API::CoordTransform &radiusTransform, const coord_t radiusSquared, coord_t *centroid, signal_t &signal) const override=0
 Find the centroid around a sphere. More...
 
virtual void generalBin (MDBin< MDE, nd > &bin, Mantid::Geometry::MDImplicitFunction &function) const=0
 General binning method for any shape. More...
 
const IMDNodegetBoxAtCoord (const coord_t *) override
 Returns the lowest-level box at the given coordinates. More...
 
Mantid::API::BoxControllergetBoxController () const override
 
Mantid::API::BoxControllergetBoxController () override
 
coord_t getBoxSize (size_t d)
 For testing: return the internal-stored size of each box in each dimension. More...
 
void getCenter (coord_t *const center) const override
 Get the center of the box. More...
 
unsigned int getCoordType () const override
 
uint32_t getDepth () const override
 For testing, mostly: return the recursion depth of this box. More...
 
signal_t getError () const override
 Returns the integrated error from all points within. More...
 
signal_t getErrorSquared () const override
 Returns the integrated error squared from all points within. More...
 
virtual signal_t getErrorSquaredNormalized () const
 Returns the integrated error squared from all points within, normalized for the cell volume. More...
 
virtual std::vector< MDE > * getEventsCopy ()=0
 Return a copy of contained events. More...
 
void getEventsData (std::vector< coord_t > &, size_t &nColumns) const override
 The method to convert events in a box into a table of coodrinates/signal/errors casted into coord_t type Used to conver events into plain data array. More...
 
std::string getEventType () const override
 
Mantid::Geometry::MDDimensionExtents< coord_t > & getExtents (size_t dim) override
 Get the extents for this box. More...
 
std::string getExtentsStr () const
 Returns the extents as a string, for convenience. More...
 
size_t getID () const override
 
coord_t getInverseVolume () const override
 Return the inverse of the volume of the cell. More...
 
const IMDNodegetParent () const override
 Return a pointer to the parent box (const) More...
 
IMDNodegetParent () override
 Return a pointer to the parent box. More...
 
signal_t getSignal () const override
 Returns the integrated signal from all points within. More...
 
signal_t getSignalNormalized () const override
 Returns the integrated signal from all points within, normalized for the cell volume. More...
 
virtual signal_t getTotalWeight () const
 Returns the total weight of all events within. More...
 
std::vector< Mantid::Kernel::VMDgetVertexes () const override
 
std::unique_ptr< coord_t[]> getVertexesArray (size_t &numVertices) const override
 
std::unique_ptr< coord_t[]> getVertexesArray (size_t &numVertices, const size_t outDimensions, const bool *maskDim) const override
 
coord_t getVolume () const
 Return the volume of the cell. More...
 
void integrateCylinder (Mantid::API::CoordTransform &radiusTransform, const coord_t radius, const coord_t length, signal_t &signal, signal_t &errorSquared, std::vector< signal_t > &signal_fit) const override=0
 Cylinder (peak) integration. More...
 
void integrateSphere (Mantid::API::CoordTransform &radiusTransform, const coord_t radiusSquared, signal_t &signal, signal_t &errorSquared, const coord_t innerRadiusSquared=0.0, const bool useOnePercentBackgroundCorrection=true) const override=0
 Sphere (peak) integration. More...
 
bool isLeaf () const override final
 Is this node a leaf: getNumChildren() == 0. More...
 
 MDBoxBase (const MDBoxBase< MDE, nd > &box, Mantid::API::BoxController *const otherBC)
 
 MDBoxBase (Mantid::API::BoxController *const boxController, const uint32_t depth, const size_t boxID, const std::vector< Mantid::Geometry::MDDimensionExtents< coord_t > > &extentsVector)
 
 MDBoxBase (Mantid::API::BoxController *const boxController=nullptr, const uint32_t depth=0, const size_t boxID=UNDEF_SIZET)
 
void setDepth (uint32_t depth)
 For testing, mostly: set the recursion depth of this box. More...
 
void setErrorSquared (const signal_t ErrorSquared) override
 Sets the integrated error squared from all points within (mostly used for testing) More...
 
void setEventsData (const std::vector< coord_t > &) override
 The method to convert the table of data into vector of events Used to convert from a vector of values (2D table in Fortran representation (by rows) into box events. More...
 
void setExtents (double min[nd], double max[nd])
 Set the extents of this box. More...
 
void setExtents (size_t dim, double min, double max)
 Set the extents of this box. More...
 
void setID (const size_t &newID) override
 sets the special id, which specify the position of this node in the chain linearly ordered nodes More...
 
void setInverseVolume (const coord_t invVolume) override
 Sets the inverse of the volume of the cell. More...
 
void setParent (IMDNode *parent) override
 Return a pointer to the parent box. More...
 
void setSignal (const signal_t signal) override
 Sets the integrated signal from all points within (mostly used for testing) More...
 
virtual void setTotalWeight (const signal_t total)
 Sets the total weight from all points within (mostly used for testing) More...
 
void transformDimensions (std::vector< double > &scaling, std::vector< double > &offset) override
 

Protected Attributes

std::vector< MDE > data
 Vector of MDEvent's, in no particular order. More...
 
bool m_bIsMasked
 Flag indicating that masking has been applied. More...
 
std::unique_ptr< Kernel::ISaveablem_Saveable
 
- Protected Attributes inherited from Mantid::DataObjects::MDBoxBase< MDE, nd >
Mantid::Geometry::MDDimensionExtents< coord_textents [nd]
 Array of MDDimensionStats giving the extents and other stats on the box dimensions. More...
 
Mantid::API::BoxController *const m_BoxController
 The box splitting controller, shared with all boxes in the hierarchy. More...
 
coord_t m_centroid [nd]
 
std::mutex m_dataMutex
 Mutex for modifying the event list or box averages. More...
 
uint32_t m_depth
 Recursion depth. More...
 
signal_t m_errorSquared
 Cached total error (squared) from all points within. More...
 
size_t m_fileID
 The id which specify location of this box in a linear chain of ordered boxes (e.g. More...
 
coord_t m_inverseVolume
 Inverse of the volume of the cell, to be used for normalized signal. More...
 
Mantid::API::IMDNodem_parent
 Pointer to the parent of this box. NULL if no parent. More...
 
signal_t m_signal
 Cached total signal from all points within. More...
 
signal_t m_totalWeight
 Cached total weight of all events Set when refreshCache() is called. More...
 

Private Member Functions

void initMDBox (const size_t nBoxEvents)
 common part of mdBox constructor More...
 
 MDBox (const MDBox &)
 private default copy constructor as the only correct constructor is the one with the boxController; More...
 

Private Attributes

std::vector< coord_tm_tableData
 member to avoid reallocation More...
 

Additional Inherited Members

- Protected Member Functions inherited from Mantid::DataObjects::MDBoxBase< MDE, nd >
void calcCaches (const EventIterator &begin, const EventIterator &end)
 Calculates caches if the events are known. More...
 

Detailed Description

Templated class for a multi-dimensional event "box".

A box is a container of MDLeanEvent's within a certain range of values within the nd dimensions. This range defines a n-dimensional "box" or rectangular prism.

This class is a simple list of points with no more internal structure.

Template Parameters
nd:: the number of dimensions that each MDLeanEvent will be tracking. an int > 0.
Author
Janik Zikovsky, SNS
Date
Dec 7, 2010

Definition at line 45 of file MDBox.h.

Member Typedef Documentation

◆ EventIterator

using Mantid::DataObjects::MDBox::EventIterator = typename std::vector<MDE>::const_iterator

Definition at line 60 of file MDBox.h.

◆ sptr

using Mantid::DataObjects::MDBox::sptr = std::shared_ptr<MDBox<MDE, nd> >

Typedef for a shared pointer to a MDBox.

Definition at line 218 of file MDBox.h.

◆ vec_t

using Mantid::DataObjects::MDBox::vec_t = std::vector<MDE>

Typedef for a vector of the conatined events.

Definition at line 221 of file MDBox.h.

Constructor & Destructor Documentation

◆ MDBox() [1/7]

Mantid::DataObjects::MDBox::MDBox ( Mantid::API::BoxController_sptr splitter,
const uint32_t  depth = 0,
const size_t  nBoxEvents = UNDEF_SIZET,
const size_t  boxID = UNDEF_SIZET 
)

◆ MDBox() [2/7]

Mantid::DataObjects::MDBox::MDBox ( Mantid::API::BoxController *const  splitter,
const uint32_t  depth = 0,
const size_t  nBoxEvents = UNDEF_SIZET,
const size_t  boxID = UNDEF_SIZET 
)

◆ MDBox() [3/7]

Mantid::DataObjects::MDBox::MDBox ( Mantid::API::BoxController_sptr splitter,
const uint32_t  depth,
const std::vector< Mantid::Geometry::MDDimensionExtents< coord_t > > &  extentsVector,
const size_t  nBoxEvents = UNDEF_SIZET,
const size_t  boxID = UNDEF_SIZET 
)

◆ MDBox() [4/7]

Mantid::DataObjects::MDBox::MDBox ( Mantid::API::BoxController *const  splitter,
const uint32_t  depth,
const std::vector< Mantid::Geometry::MDDimensionExtents< coord_t > > &  extentsVector,
const size_t  nBoxEvents = UNDEF_SIZET,
const size_t  boxID = UNDEF_SIZET 
)

◆ MDBox() [5/7]

Mantid::DataObjects::MDBox::MDBox ( Mantid::API::BoxController *const  bc,
const uint32_t  depth,
const std::vector< Mantid::Geometry::MDDimensionExtents< coord_t > > &  extentsVector,
EventIterator  begin,
EventIterator  end 
)

◆ MDBox() [6/7]

Mantid::DataObjects::MDBox::MDBox ( const MDBox< MDE, nd > &  other,
Mantid::API::BoxController *const  otherBC 
)

◆ ~MDBox()

Mantid::DataObjects::MDBox::~MDBox ( )
override

◆ MDBox() [7/7]

Mantid::DataObjects::MDBox::MDBox ( const MDBox )
private

private default copy constructor as the only correct constructor is the one with the boxController;

Member Function Documentation

◆ addEvent()

size_t Mantid::DataObjects::MDBox::addEvent ( const MDE &  point)
overridevirtual

Add a single event.

Implements Mantid::DataObjects::MDBoxBase< MDE, nd >.

◆ addEvents()

size_t Mantid::DataObjects::MDBox::addEvents ( const std::vector< MDE > &  events)
overridevirtual

◆ addEventsUnsafe()

size_t Mantid::DataObjects::MDBox::addEventsUnsafe ( const std::vector< MDE > &  events)
overridevirtual

◆ addEventUnsafe()

size_t Mantid::DataObjects::MDBox::addEventUnsafe ( const MDE &  point)
overridevirtual

Add a single event, with no mutex locking.

Implements Mantid::DataObjects::MDBoxBase< MDE, nd >.

◆ buildAndAddEvent()

void Mantid::DataObjects::MDBox::buildAndAddEvent ( const signal_t  Signal,
const signal_t  errorSq,
const std::vector< coord_t > &  point,
uint16_t  expInfoIndex,
uint16_t  goniometerIndex,
uint32_t  detectorId 
)
override

◆ buildAndAddEvents()

size_t Mantid::DataObjects::MDBox::buildAndAddEvents ( const std::vector< signal_t > &  sigErrSq,
const std::vector< coord_t > &  Coord,
const std::vector< uint16_t > &  expInfoIndex,
const std::vector< uint16_t > &  goniometernIndex,
const std::vector< uint32_t > &  detectorId 
)
override

◆ buildAndAddEventUnsafe()

void Mantid::DataObjects::MDBox::buildAndAddEventUnsafe ( const signal_t  Signal,
const signal_t  errorSq,
const std::vector< coord_t > &  point,
uint16_t  expInfoIndex,
uint16_t  goniometernIndex,
uint32_t  detectorId 
)
override

◆ calculateCentroid() [1/2]

void Mantid::DataObjects::MDBox::calculateCentroid ( coord_t centroid) const
override

◆ calculateCentroid() [2/2]

void Mantid::DataObjects::MDBox::calculateCentroid ( coord_t centroid,
const int  expInfoIndex 
) const
override

◆ calculateDimensionStats()

void Mantid::DataObjects::MDBox::calculateDimensionStats ( MDDimensionStats stats) const

◆ centerpointBin()

void Mantid::DataObjects::MDBox::centerpointBin ( MDBin< MDE, nd > &  bin,
bool *  fullyContained 
) const
overridevirtual

Perform centerpoint binning of events.

Parameters
bin:: MDBin object giving the limits of events to accept.
fullyContained:: optional bool array sized [nd] of which dimensions are known to be fully contained (for MDSplitBox)

Implements Mantid::DataObjects::MDBoxBase< MDE, nd >.

◆ centroidSphere()

void Mantid::DataObjects::MDBox::centroidSphere ( Mantid::API::CoordTransform radiusTransform,
const coord_t  radiusSquared,
coord_t centroid,
signal_t signal 
) const
overridevirtual

Find the centroid around a sphere.

Implements Mantid::DataObjects::MDBoxBase< MDE, nd >.

◆ clear()

void Mantid::DataObjects::MDBox::clear ( )
override

◆ clearDataFromMemory()

void Mantid::DataObjects::MDBox::clearDataFromMemory ( )
override

drop events data from memory but keep averages (and file-backed info)

◆ clearFileBacked()

void Mantid::DataObjects::MDBox::clearFileBacked ( bool  loadDiskBackedData)
override

◆ generalBin()

void Mantid::DataObjects::MDBox::generalBin ( MDBin< MDE, nd > &  bin,
Mantid::Geometry::MDImplicitFunction function 
) const
overridevirtual

General binning method for any shape.

Implements Mantid::DataObjects::MDBoxBase< MDE, nd >.

◆ getBoxes() [1/5]

void Mantid::DataObjects::MDBox::getBoxes ( std::vector< API::IMDNode * > &  boxes,
size_t  maxDepth,
bool  leafOnly,
Mantid::Geometry::MDImplicitFunction function 
)
override

◆ getBoxes() [2/5]

void Mantid::DataObjects::MDBox::getBoxes ( std::vector< API::IMDNode * > &  boxes,
size_t  ,
bool   
)
override

◆ getBoxes() [3/5]

void Mantid::DataObjects::MDBox::getBoxes ( std::vector< API::IMDNode * > &  outBoxes,
const std::function< bool(API::IMDNode *)> &  cond 
)
finaloverride

◆ getBoxes() [4/5]

void Mantid::DataObjects::MDBox::getBoxes ( std::vector< MDBoxBase< MDE, nd > * > &  boxes,
size_t  maxDepth,
bool  leafOnly,
Mantid::Geometry::MDImplicitFunction function 
)

◆ getBoxes() [5/5]

void Mantid::DataObjects::MDBox::getBoxes ( std::vector< MDBoxBase< MDE, nd > * > &  boxes,
size_t  ,
bool   
)

◆ getCentroid()

coord_t * Mantid::DataObjects::MDBox::getCentroid ( ) const
override

◆ getChild()

API::IMDNode * Mantid::DataObjects::MDBox::getChild ( size_t  )
inlineoverride

Return the indexth child MDBoxBase.

Definition at line 100 of file MDBox.h.

◆ getConstEvents()

const std::vector< MDE > & Mantid::DataObjects::MDBox::getConstEvents ( ) const

Get vector of constant events to use.

Beware, that calling this funtion for file-based workspace sets dataBusy flag This flag prevents DB from clearing object from memory untill the events are released. One HAS TO call releaseEvents when finished using data on file-based WS to allow DB clearing them

Referenced by Mantid::MDAlgorithms::BinMD::binMDBox(), Mantid::MDAlgorithms::CompareMDWorkspaces::compare2Boxes(), Mantid::MDAlgorithms::MinusMD::doMinus(), Mantid::MDAlgorithms::MergeMD::doPlus(), Mantid::MDAlgorithms::PlusMD::doPlus(), and Mantid::MDAlgorithms::SliceMD::slice().

◆ getDataInMemorySize()

size_t Mantid::DataObjects::MDBox::getDataInMemorySize ( ) const
inlineoverride

Definition at line 87 of file MDBox.h.

◆ getEvents() [1/2]

std::vector< MDE > & Mantid::DataObjects::MDBox::getEvents ( )

Get vector of events to change.

Beware, that calling this funtion for file-based workspace sets both dataChanged and dataBusy flags first forces disk buffer to write the object contents to HDD when disk buffer is full and the second one prevents DB from clearing object from memory untill the events are released. One HAS TO call releaseEvents when finished using data on file-based WS

Referenced by Mantid::MDAlgorithms::ApplyDetailedBalanceMD::applyDetailedBalance(), Mantid::MDAlgorithms::DgsScatteredTransmissionCorrectionMD::correctForTransmission(), Mantid::MDAlgorithms::MultiplyMD::execEventScalar(), Mantid::MDAlgorithms::FlippingRatioCorrectionMD::executeTemplatedMDE(), and Mantid::MDAlgorithms::FindPeaksMD::findPeaks().

◆ getEvents() [2/2]

const std::vector< MDE > & Mantid::DataObjects::MDBox::getEvents ( ) const

◆ getEventsCopy()

std::vector< MDE > * Mantid::DataObjects::MDBox::getEventsCopy ( )
overridevirtual

Return a copy of contained events.

Implements Mantid::DataObjects::MDBoxBase< MDE, nd >.

◆ getEventsData()

void Mantid::DataObjects::MDBox::getEventsData ( std::vector< coord_t > &  coordTable,
size_t &  nColumns 
) const
override

◆ getISaveable() [1/2]

Kernel::ISaveable * Mantid::DataObjects::MDBox::getISaveable ( ) const
override

◆ getISaveable() [2/2]

Kernel::ISaveable * Mantid::DataObjects::MDBox::getISaveable ( )
override

◆ getIsMasked()

bool Mantid::DataObjects::MDBox::getIsMasked ( ) const
inlineoverride

Definition at line 191 of file MDBox.h.

◆ getNPoints()

uint64_t Mantid::DataObjects::MDBox::getNPoints ( ) const
override

◆ getNumChildren()

size_t Mantid::DataObjects::MDBox::getNumChildren ( ) const
inlineoverride

Get the # of children MDBoxBase'es (non-recursive)

Definition at line 94 of file MDBox.h.

◆ getNumDims()

size_t Mantid::DataObjects::MDBox::getNumDims ( ) const
override

◆ getNumMDBoxes()

size_t Mantid::DataObjects::MDBox::getNumMDBoxes ( ) const
override

◆ getTotalDataSize()

uint64_t Mantid::DataObjects::MDBox::getTotalDataSize ( ) const
inlineoverride

Definition at line 88 of file MDBox.h.

◆ initMDBox()

void Mantid::DataObjects::MDBox::initMDBox ( const size_t  nBoxEvents)
private

common part of mdBox constructor

◆ integrateCylinder()

void Mantid::DataObjects::MDBox::integrateCylinder ( Mantid::API::CoordTransform radiusTransform,
const coord_t  radius,
const coord_t  length,
signal_t signal,
signal_t errorSquared,
std::vector< signal_t > &  signal_fit 
) const
overridevirtual

Cylinder (peak) integration.

Implements Mantid::DataObjects::MDBoxBase< MDE, nd >.

◆ integrateSphere()

void Mantid::DataObjects::MDBox::integrateSphere ( Mantid::API::CoordTransform radiusTransform,
const coord_t  radiusSquared,
signal_t signal,
signal_t errorSquared,
const coord_t  innerRadiusSquared = 0.0,
const bool  useOnePercentBackgroundCorrection = true 
) const
overridevirtual

Sphere (peak) integration.

Implements Mantid::DataObjects::MDBoxBase< MDE, nd >.

◆ isBox()

bool Mantid::DataObjects::MDBox::isBox ( ) const
inlineoverride

Definition at line 97 of file MDBox.h.

◆ isDataAdded()

bool Mantid::DataObjects::MDBox::isDataAdded ( ) const
Returns
true if events were added to the box (using addEvent()) while the rest of the event list is cached to disk

◆ loadAndAddFrom() [1/2]

void Mantid::DataObjects::MDBox::loadAndAddFrom ( API::IBoxControllerIO * const  ,
uint64_t  ,
size_t   
)
override

◆ loadAndAddFrom() [2/2]

void Mantid::DataObjects::MDBox::loadAndAddFrom ( API::IBoxControllerIO * const  ,
uint64_t  ,
size_t  ,
std::vector< coord_t > &   
)
override

◆ mask()

void Mantid::DataObjects::MDBox::mask ( )
override

Setter for masking the box.

◆ refreshCache()

void Mantid::DataObjects::MDBox::refreshCache ( Kernel::ThreadScheduler = nullptr)
override

Recalculate signal and various averages dependent on signal and the signal coordinates.

◆ releaseEvents()

void Mantid::DataObjects::MDBox::releaseEvents ( )

◆ reserveMemoryForLoad()

void Mantid::DataObjects::MDBox::reserveMemoryForLoad ( uint64_t  )
override

◆ saveAt()

void Mantid::DataObjects::MDBox::saveAt ( API::IBoxControllerIO * const  ,
uint64_t   
) const
override

◆ setChildren()

void Mantid::DataObjects::MDBox::setChildren ( const std::vector< API::IMDNode * > &  ,
const  size_t,
const  size_t 
)
inlineoverride

Sets the children from a vector of children.

Definition at line 103 of file MDBox.h.

◆ setEventsData()

void Mantid::DataObjects::MDBox::setEventsData ( const std::vector< coord_t > &  coordTable)
override

◆ setFileBacked() [1/2]

void Mantid::DataObjects::MDBox::setFileBacked ( )
override

◆ setFileBacked() [2/2]

void Mantid::DataObjects::MDBox::setFileBacked ( const uint64_t  ,
const  size_t,
const bool   
)
override

◆ splitAllIfNeeded()

void Mantid::DataObjects::MDBox::splitAllIfNeeded ( Mantid::Kernel::ThreadScheduler = nullptr)
inlineoverride

Definition at line 157 of file MDBox.h.

◆ transformDimensions()

void Mantid::DataObjects::MDBox::transformDimensions ( std::vector< double > &  scaling,
std::vector< double > &  offset 
)
override

◆ unmask()

void Mantid::DataObjects::MDBox::unmask ( )
override

Setter for unmasking the box.

Member Data Documentation

◆ data

std::vector<MDE> Mantid::DataObjects::MDBox::data
mutableprotected

Vector of MDEvent's, in no particular order.

Definition at line 202 of file MDBox.h.

◆ m_bIsMasked

bool Mantid::DataObjects::MDBox::m_bIsMasked
protected

Flag indicating that masking has been applied.

Definition at line 205 of file MDBox.h.

◆ m_Saveable

std::unique_ptr<Kernel::ISaveable> Mantid::DataObjects::MDBox::m_Saveable
mutableprotected

Definition at line 200 of file MDBox.h.

◆ m_tableData

std::vector<coord_t> Mantid::DataObjects::MDBox::m_tableData
private

member to avoid reallocation

Definition at line 214 of file MDBox.h.


The documentation for this class was generated from the following file: