|
Mantid
|
Templated super-class of a multi-dimensional event "box". More...
#include <MDBoxBase.h>
Public Types | |
| using | sptr = std::shared_ptr< MDBoxBase< MDE, nd > > |
| Convenience typedef for a shared pointer to a this type of class. | |
Public Member Functions | |
| virtual size_t | addEvent (const MDE &point)=0 |
| Add a single event. | |
| virtual size_t | addEvents (const std::vector< MDE > &events) |
| Add several events, starting and stopping at particular point in a vector. | |
| virtual size_t | addEventsUnsafe (const std::vector< MDE > &events) |
| Add all of the events contained in a vector, with: | |
| virtual size_t | addEventUnsafe (const MDE &point)=0 |
| Add a single event, with no mutex locking. | |
| virtual void | calculateGridCaches () |
| void | calcVolume () override |
| Compute the volume of the box by simply multiplying each dimension range. | |
| 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. | |
| const IMDNode * | getBoxAtCoord (const coord_t *) override |
| Returns the lowest-level box at the given coordinates. | |
| Mantid::API::BoxController * | getBoxController () const override |
| Mantid::API::BoxController * | getBoxController () override |
| coord_t | getBoxSize (size_t d) |
| For testing: return the internal-stored size of each box in each dimension. | |
| void | getCenter (coord_t *const center) const override |
| Get the center of the box. | |
| unsigned int | getCoordType () const override |
| uint32_t | getDepth () const override |
| For testing, mostly: return the recursion depth of this box. | |
| signal_t | getError () const override |
| Returns the integrated error from all points within. | |
| signal_t | getErrorSquared () const override |
| Returns the integrated error squared from all points within. | |
| virtual signal_t | getErrorSquaredNormalized () const |
| Returns the integrated error squared from all points within, normalized for the cell volume. | |
| virtual std::vector< MDE > * | getEventsCopy ()=0 |
| Return a copy of contained events. | |
| 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. | |
| std::string | getEventType () const override |
| Mantid::Geometry::MDDimensionExtents< coord_t > & | getExtents (size_t dim) override |
| Get the extents for this box. | |
| std::string | getExtentsStr () const |
| Returns the extents as a string, for convenience. | |
| size_t | getID () const override |
| coord_t | getInverseVolume () const override |
| Return the inverse of the volume of the cell. | |
| const IMDNode * | getParent () const override |
| Return a pointer to the parent box (const) | |
| IMDNode * | getParent () override |
| Return a pointer to the parent box. | |
| signal_t | getSignal () const override |
| Returns the integrated signal from all points within. | |
| signal_t | getSignalNormalized () const override |
| Returns the integrated signal from all points within, normalized for the cell volume. | |
| virtual signal_t | getTotalWeight () const |
| Returns the total weight of all events within. | |
| std::vector< Mantid::Kernel::VMD > | getVertexes () const override |
| Return the vertices of corners of the box. | |
| std::unique_ptr< coord_t[]> | getVertexesArray (size_t &numVertices) const override |
| Return the vertices of every corner of the box, but as a bare array of length numVertices * nd. | |
| std::unique_ptr< coord_t[]> | getVertexesArray (size_t &numVertices, const size_t outDimensions, const bool *maskDim) const override |
| Return the vertices of every corner of the box, but to a reduced number of dimensions. | |
| coord_t | getVolume () const |
| Return the volume of the cell. | |
| 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. | |
| 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. | |
| bool | isLeaf () const override final |
| Is this node a leaf: getNumChildren() == 0. | |
| MDBoxBase (const MDBoxBase< MDE, nd > &box, Mantid::API::BoxController *const otherBC) | |
| Copy constructor. | |
| MDBoxBase (Mantid::API::BoxController *const boxController, const uint32_t depth, const size_t boxID, const std::vector< Mantid::Geometry::MDDimensionExtents< coord_t > > &extentsVector) | |
| Constructor with extents. | |
| MDBoxBase (Mantid::API::BoxController *const boxController=nullptr, const uint32_t depth=0, const size_t boxID=UNDEF_SIZET) | |
| Default constructor. | |
| void | setDepth (uint32_t depth) |
| For testing, mostly: set the recursion depth of this box. | |
| void | setErrorSquared (const signal_t ErrorSquared) override |
| Sets the integrated error squared from all points within (mostly used for testing) | |
| 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. | |
| void | setExtents (double min[nd], double max[nd]) |
| Set the extents of this box. | |
| void | setExtents (size_t dim, double min, double max) |
| Set the extents of this box. | |
| void | setID (const size_t &newID) override |
| sets the special id, which specify the position of this node in the chain linearly ordered nodes | |
| void | setInverseVolume (const coord_t invVolume) override |
| Sets the inverse of the volume of the cell. | |
| void | setParent (IMDNode *parent) override |
| Return a pointer to the parent box. | |
| void | setSignal (const signal_t signal) override |
| Sets the integrated signal from all points within (mostly used for testing) | |
| virtual void | setTotalWeight (const signal_t total) |
| Sets the total weight from all points within (mostly used for testing) | |
| void | transformDimensions (std::vector< double > &scaling, std::vector< double > &offset) override |
| Transform the dimensions contained in this box x' = x*scaling + offset. | |
Public Member Functions inherited from Mantid::API::IMDNode | |
| virtual 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)=0 |
| Add a single event defined by its components. | |
| virtual 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 > &goniometerIndex, const std::vector< uint32_t > &detectorId)=0 |
| Add several events from the vector of event parameters. | |
| virtual void | buildAndAddEventUnsafe (const signal_t Signal, const signal_t errorSq, const std::vector< coord_t > &point, uint16_t expInfoIndex, uint16_t goniometerIndex, uint32_t detectorId)=0 |
| Add a single event, with no mutex locking. | |
| virtual void | calculateCentroid (coord_t *) const =0 |
| Calculate the centroid of this box and all sub-boxes. | |
| virtual void | calculateCentroid (coord_t *, const int) const =0 |
| Calculate the centroid of this box and all sub-boxes. | |
| virtual void | clear ()=0 |
| Clear all contained data including precalculated averages. | |
| virtual void | clearDataFromMemory ()=0 |
| drop event data from memory but keep averages | |
| virtual void | clearFileBacked (bool loadFileData)=0 |
| if node was fileBacked, the method clears file-backed information | |
| virtual void | getBoxes (std::vector< IMDNode * > &boxes, size_t maxDepth, bool leafOnly)=0 |
| Fill a vector with all the boxes who are the childred of this one up to a certain depth. | |
| virtual void | getBoxes (std::vector< IMDNode * > &boxes, size_t maxDepth, bool leafOnly, Mantid::Geometry::MDImplicitFunction *function)=0 |
| Fill a vector with all the boxes who are the childred of this one up to a certain depth and selected by the function. | |
| virtual coord_t * | getCentroid () const =0 |
| Get the centroid of this box and all sub-boxes. | |
| virtual IMDNode * | getChild (size_t index)=0 |
| Return the indexth child MDBoxBase. | |
| virtual size_t | getDataInMemorySize () const =0 |
| get size of the data located in memory, it is equivalent to getNPoints above for memory based workspace but may be different for file based one ; | |
| virtual Kernel::ISaveable * | getISaveable () const =0 |
| Return the pointer to the sconst tructure responsible for saving the box on disk if the workspace occupies too much memory. | |
| virtual Kernel::ISaveable * | getISaveable ()=0 |
| Return the pointer to the structure responsible for saving the box on disk if the workspace occupies too much memory. | |
| virtual bool | getIsMasked () const =0 |
| Getter for the masking. | |
| virtual uint64_t | getNPoints () const =0 |
| Get total number of points both in memory and on file if present;. | |
| virtual size_t | getNumChildren () const =0 |
| Get the # of children MDBoxBase'es (non-recursive) | |
| virtual size_t | getNumDims () const =0 |
| Get number of dimensions, the box with this interface has. | |
| virtual size_t | getNumMDBoxes () const =0 |
| Get the total # of unsplit MDBoxes contained. | |
| virtual signal_t | getSignalByNEvents () const |
| virtual uint64_t | getTotalDataSize () const =0 |
| virtual bool | isBox () const =0 |
| virtual void | loadAndAddFrom (API::IBoxControllerIO *const, uint64_t, size_t)=0 |
| Load the additional box data of specified size from the disk location provided using the class, respoinsible for the file IO and append them to the box. | |
| virtual void | loadAndAddFrom (API::IBoxControllerIO *const, uint64_t, size_t, std::vector< coord_t > &)=0 |
| Load the additional box data of specified size from the disk location provided using the class, respoinsible for the file IO and append them to the box. | |
| virtual void | mask ()=0 |
| Setter for masking the box. | |
| virtual void | refreshCache (Kernel::ThreadScheduler *=nullptr)=0 |
| Recalculate signal etc. | |
| virtual void | reserveMemoryForLoad (uint64_t)=0 |
| virtual void | saveAt (API::IBoxControllerIO *const, uint64_t) const =0 |
| Save the box at specific disk position using the class, respoinsible for the file IO. | |
| virtual void | setChildren (const std::vector< IMDNode * > &boxes, const size_t indexStart, const size_t indexEnd)=0 |
| Sets the children from a vector of children. | |
| virtual void | setFileBacked ()=0 |
| initiate the structure responsible for swapping the box on HDD if out of memory with default parameters (it does not know its place on HDD and was not saved). | |
| virtual void | setFileBacked (const uint64_t, const size_t, const bool)=0 |
| initiate the structure responsible for swapping the box on HDD if out of memory. | |
| virtual void | splitAllIfNeeded (Mantid::Kernel::ThreadScheduler *=nullptr)=0 |
| Split sub-boxes, if this is possible and neede for this box. | |
| virtual void | unmask ()=0 |
| Setter for unmasking the box. | |
| virtual | ~IMDNode ()=default |
| This is an interface to MDBox or MDGridBox of an MDWorkspace. | |
Protected Member Functions | |
| template<typename EventIterator > | |
| void | calcCaches (const EventIterator &begin, const EventIterator &end) |
| Calculates caches if the events are known. | |
Protected Attributes | |
| Mantid::Geometry::MDDimensionExtents< coord_t > | extents [nd] |
| Array of MDDimensionStats giving the extents and other stats on the box dimensions. | |
| Mantid::API::BoxController *const | m_BoxController |
| The box splitting controller, shared with all boxes in the hierarchy. | |
| coord_t | m_centroid [nd] |
| std::mutex | m_dataMutex |
| Mutex for modifying the event list or box averages. | |
| uint32_t | m_depth |
| Recursion depth. | |
| signal_t | m_errorSquared |
| Cached total error (squared) from all points within. | |
| size_t | m_fileID |
| The id which specify location of this box in a linear chain of ordered boxes (e.g. | |
| coord_t | m_inverseVolume |
| Inverse of the volume of the cell, to be used for normalized signal. | |
| Mantid::API::IMDNode * | m_parent |
| Pointer to the parent of this box. NULL if no parent. | |
| signal_t | m_signal |
| Cached total signal from all points within. | |
| signal_t | m_totalWeight |
| Cached total weight of all events Set when refreshCache() is called. | |
Private Member Functions | |
| MDBoxBase (const MDBoxBase< MDE, nd > &box) | |
Additional Inherited Members | |
Static Public Member Functions inherited from Mantid::API::IMDNode | |
| static bool | CompareFilePosition (const IMDNode *const a, const IMDNode *const b) |
| Helper method for sorting MDBoxBasees by file position. | |
| static void | sortObjByID (std::vector< IMDNode * > &boxes) |
| Static method for sorting a list of MDBoxBase pointers by their file position, ascending. | |
Templated super-class of a multi-dimensional event "box".
To be subclassed by MDBox<> and MDGridBox<>
A box is a container of MDEvents within a certain range of values within the nd dimensions. This range defines a n-dimensional "box" or rectangular prism.
| nd | :: the number of dimensions that each MDLeanEvent will be tracking. an int > 0. |
Definition at line 49 of file MDBoxBase.h.
| using Mantid::DataObjects::MDBoxBase::sptr = std::shared_ptr<MDBoxBase<MDE, nd> > |
Convenience typedef for a shared pointer to a this type of class.
Definition at line 347 of file MDBoxBase.h.
| Mantid::DataObjects::MDBoxBase::MDBoxBase | ( | Mantid::API::BoxController *const | boxController = nullptr, |
| const uint32_t | depth = 0, |
||
| const size_t | boxID = UNDEF_SIZET |
||
| ) |
Default constructor.
Definition at line 21 of file MDBoxBase.hxx.
| Mantid::DataObjects::MDBoxBase::MDBoxBase | ( | Mantid::API::BoxController *const | boxController, |
| const uint32_t | depth, | ||
| const size_t | boxID, | ||
| const std::vector< Mantid::Geometry::MDDimensionExtents< coord_t > > & | extentsVector | ||
| ) |
Constructor with extents.
Definition at line 34 of file MDBoxBase.hxx.
References Mantid::Geometry::d, and UNDEF_SIZET.
| Mantid::DataObjects::MDBoxBase::MDBoxBase | ( | const MDBoxBase< MDE, nd > & | box, |
| Mantid::API::BoxController *const | otherBC | ||
| ) |
Copy constructor.
Copies the extents, volume, depth, etc.
| box | :: incoming box to copy. |
| otherBC | :: if present, other (different from the current one) box controller pointer |
Definition at line 59 of file MDBoxBase.hxx.
References Mantid::Geometry::d, and extents.
|
private |
|
pure virtual |
Add a single event.
Implemented in Mantid::DataObjects::MDGridBox, and Mantid::DataObjects::MDBox.
Referenced by Mantid::MDAlgorithms::ConvertToDiffractionMDWorkspace::convertEventList(), Mantid::MDAlgorithms::MergeMD::doPlus(), and Mantid::MDAlgorithms::SliceMD::slice().
|
virtual |
Add several events, starting and stopping at particular point in a vector.
Bounds checking IS performed, and events outside the range are rejected.
NOTE: You must call refreshCache() after you are done, to calculate the nPoints, signal and error.
| events | :: vector of events to be copied. |
Reimplemented in Mantid::DataObjects::MDBox.
Definition at line 231 of file MDBoxBase.hxx.
References Mantid::Geometry::d, and Mantid::Geometry::x.
Referenced by Mantid::MDAlgorithms::MinusMD::doMinus(), and Mantid::MDAlgorithms::PlusMD::doPlus().
|
virtual |
Add all of the events contained in a vector, with:
| events | :: Vector of MDEvent |
Reimplemented in Mantid::DataObjects::MDBox.
Definition at line 264 of file MDBoxBase.hxx.
|
pure virtual |
Add a single event, with no mutex locking.
Implemented in Mantid::DataObjects::MDGridBox, and Mantid::DataObjects::MDBox.
|
protected |
Calculates caches if the events are known.
| EventIterator | :: iterator which points to event in some collection |
| begin | :: iterator to start |
| end | :: iterator before end (not included) |
Weight processing
Definition at line 357 of file MDBoxBase.h.
References Mantid::Geometry::d.
Referenced by Mantid::DataObjects::MDBox::MDBox().
|
inlinevirtual |
Reimplemented in Mantid::DataObjects::MDGridBox.
Definition at line 296 of file MDBoxBase.h.
|
inlineoverridevirtual |
Compute the volume of the box by simply multiplying each dimension range.
Call this after setExtents() is set for all dimensions. This is saved for getSignalNormalized()
Floating point multiplication is much faster than division, so cache 1/volume.
Implements Mantid::API::IMDNode.
Definition at line 208 of file MDBoxBase.h.
References Mantid::Geometry::d.
|
overridepure virtual |
Find the centroid around a sphere.
Implements Mantid::API::IMDNode.
Implemented in Mantid::DataObjects::MDBox, and Mantid::DataObjects::MDGridBox.
Referenced by Mantid::MDAlgorithms::CentroidPeaksMD2::integrate().
|
inlineoverridevirtual |
Returns the lowest-level box at the given coordinates.
Implements Mantid::API::IMDNode.
Definition at line 86 of file MDBoxBase.h.
|
inlineoverridevirtual |
Implements Mantid::API::IMDNode.
Definition at line 129 of file MDBoxBase.h.
Referenced by Mantid::MDAlgorithms::MinusMD::doMinus(), and Mantid::MDAlgorithms::PlusMD::doPlus().
|
inlineoverridevirtual |
Implements Mantid::API::IMDNode.
Definition at line 131 of file MDBoxBase.h.
|
inline |
For testing: return the internal-stored size of each box in each dimension.
Definition at line 192 of file MDBoxBase.h.
References Mantid::Geometry::d.
Referenced by Mantid::MDAlgorithms::CompareMDWorkspaces::compare2Boxes().
|
inlineoverridevirtual |
Get the center of the box.
| center | :: bare array of size[nd] that will get set with the mid-point of each dimension. |
Implements Mantid::API::IMDNode.
Definition at line 199 of file MDBoxBase.h.
References Mantid::Geometry::d.
Referenced by Mantid::MDAlgorithms::IntegratePeaksMD2::findEllipsoid().
|
inlineoverridevirtual |
Implements Mantid::API::IMDNode.
Definition at line 64 of file MDBoxBase.h.
|
inlineoverridevirtual |
For testing, mostly: return the recursion depth of this box.
0 is the top-level box, 1 is one deeper, etc.
Implements Mantid::API::IMDNode.
Definition at line 275 of file MDBoxBase.h.
Referenced by Mantid::MDAlgorithms::QueryMDWorkspace::getBoxData(), Mantid::DataObjects::MDEventWorkspace< MDE, nd >::makeBoxTable(), Mantid::DataObjects::MDGridBox::splitAllIfNeeded(), and Mantid::DataObjects::MDGridBox::splitContents().
|
inlineoverridevirtual |
Returns the integrated error from all points within.
Implements Mantid::API::IMDNode.
Definition at line 226 of file MDBoxBase.h.
|
inlineoverridevirtual |
Returns the integrated error squared from all points within.
Implements Mantid::API::IMDNode.
Definition at line 231 of file MDBoxBase.h.
Referenced by Mantid::MDAlgorithms::BinMD::binMDBox().
|
inlinevirtual |
Returns the integrated error squared from all points within, normalized for the cell volume.
Definition at line 269 of file MDBoxBase.h.
|
pure virtual |
Return a copy of contained events.
Implemented in Mantid::DataObjects::MDBox, and Mantid::DataObjects::MDGridBox.
|
inlineoverridevirtual |
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.
Does nothing for GridBox
Implements Mantid::API::IMDNode.
Definition at line 93 of file MDBoxBase.h.
|
inlineoverridevirtual |
Implements Mantid::API::IMDNode.
Definition at line 61 of file MDBoxBase.h.
|
inlineoverridevirtual |
Get the extents for this box.
Implements Mantid::API::IMDNode.
Definition at line 173 of file MDBoxBase.h.
|
inline |
Returns the extents as a string, for convenience.
Definition at line 177 of file MDBoxBase.h.
References Mantid::Geometry::d.
Referenced by Mantid::DataObjects::MDEventWorkspace< MDE, nd >::makeBoxTable().
|
inlineoverridevirtual |
Implements Mantid::API::IMDNode.
Definition at line 70 of file MDBoxBase.h.
Referenced by Mantid::DataObjects::MDEventWorkspace< MDE, nd >::makeBoxTable().
|
inlineoverridevirtual |
Return the inverse of the volume of the cell.
Implements Mantid::API::IMDNode.
Definition at line 289 of file MDBoxBase.h.
|
inlineoverridevirtual |
Return a pointer to the parent box (const)
Implements Mantid::API::IMDNode.
Definition at line 83 of file MDBoxBase.h.
|
inlineoverridevirtual |
Return a pointer to the parent box.
Implements Mantid::API::IMDNode.
Definition at line 80 of file MDBoxBase.h.
|
inlineoverridevirtual |
Returns the integrated signal from all points within.
Implements Mantid::API::IMDNode.
Definition at line 221 of file MDBoxBase.h.
Referenced by Mantid::MDAlgorithms::BinMD::binMDBox().
|
inlineoverridevirtual |
Returns the integrated signal from all points within, normalized for the cell volume.
Implements Mantid::API::IMDNode.
Definition at line 263 of file MDBoxBase.h.
Referenced by Mantid::MDAlgorithms::FindPeaksMD::findPeaks().
|
inlinevirtual |
Returns the total weight of all events within.
Typically this is equal to the number of events (weight of 1 per event)
Definition at line 237 of file MDBoxBase.h.
|
overridevirtual |
Return the vertices of corners of the box.
Implements Mantid::API::IMDNode.
Definition at line 91 of file MDBoxBase.hxx.
References Mantid::Geometry::d.
|
overridevirtual |
Return the vertices of every corner of the box, but as a bare array of length numVertices * nd.
| [out] | numVertices | :: returns the number of vertices in the array. |
Implements Mantid::API::IMDNode.
Definition at line 132 of file MDBoxBase.hxx.
Referenced by Mantid::MDAlgorithms::BinMD::binMDBox().
|
overridevirtual |
Return the vertices of every corner of the box, but to a reduced number of dimensions.
Essentially, this is a projection of the vertexes from nd down to a lower (or equal) number of dimensions. Redundant vertexes are NOT included.
| [out] | numVertices | :: returns the number of vertices in the array. |
| outDimensions | :: the number of dimensions in the output array (must be
| |
| maskDim | :: nd-sized array of a mask, with TRUE for the dimensions to |
KEEP. The number of TRUEs in maskDim MUST be equal to outDimensions, and this is not checked for here (for performance).
| if | outDimensions == 0 |
Implements Mantid::API::IMDNode.
Definition at line 181 of file MDBoxBase.hxx.
|
inline |
Return the volume of the cell.
Definition at line 285 of file MDBoxBase.h.
|
overridepure virtual |
Cylinder (peak) integration.
Implements Mantid::API::IMDNode.
Implemented in Mantid::DataObjects::MDBox, and Mantid::DataObjects::MDGridBox.
Referenced by Mantid::MDAlgorithms::IntegratePeaksMD::integrate(), and Mantid::MDAlgorithms::IntegratePeaksMD2::integrate().
|
overridepure virtual |
Sphere (peak) integration.
Implements Mantid::API::IMDNode.
Implemented in Mantid::DataObjects::MDBox, and Mantid::DataObjects::MDGridBox.
Referenced by Mantid::MDAlgorithms::IntegratePeaksMD::integrate(), and Mantid::MDAlgorithms::IntegratePeaksMD2::integrate().
|
inlinefinaloverridevirtual |
Is this node a leaf: getNumChildren() == 0.
Implements Mantid::API::IMDNode.
Definition at line 66 of file MDBoxBase.h.
|
inline |
For testing, mostly: set the recursion depth of this box.
SHOULD NOT BE CALLED OUTSIDE OF TESTS!
| depth | :: split recursion depth |
Definition at line 281 of file MDBoxBase.h.
|
inlineoverridevirtual |
Sets the integrated error squared from all points within (mostly used for testing)
| ErrorSquared | :: new squared error. |
Implements Mantid::API::IMDNode.
Definition at line 251 of file MDBoxBase.h.
|
inlineoverridevirtual |
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.
Does nothing for GridBox (may be temporary) – can be combined with build and add events
Implements Mantid::API::IMDNode.
Definition at line 99 of file MDBoxBase.h.
|
inline |
Set the extents of this box.
| min | :: min edge of the dimension |
| max | :: max edge of the dimension |
Definition at line 164 of file MDBoxBase.h.
|
inline |
Set the extents of this box.
| dim | :: index of dimension |
| min | :: min edge of the dimension |
| max | :: max edge of the dimension |
Dangerous function with side effects as volume and possibly other box statistics has to be recalculated after this excecuted. has not done so because of productivity reasons;
Definition at line 152 of file MDBoxBase.h.
Referenced by Mantid::DataObjects::MDEventsTestHelper::makeMDBox1(), Mantid::DataObjects::MDEventsTestHelper::makeMDBox3(), and Mantid::DataObjects::MDEventsTestHelper::makeRecursiveMDGridBox().
|
inlineoverridevirtual |
sets the special id, which specify the position of this node in the chain linearly ordered nodes
Implements Mantid::API::IMDNode.
Definition at line 73 of file MDBoxBase.h.
|
inlineoverridevirtual |
Sets the inverse of the volume of the cell.
| invVolume | :: value to set. |
Implements Mantid::API::IMDNode.
Definition at line 294 of file MDBoxBase.h.
|
inlineoverridevirtual |
Return a pointer to the parent box.
Implements Mantid::API::IMDNode.
Definition at line 77 of file MDBoxBase.h.
|
inlineoverridevirtual |
Sets the integrated signal from all points within (mostly used for testing)
| signal | :: new Signal amount. |
Implements Mantid::API::IMDNode.
Definition at line 244 of file MDBoxBase.h.
|
inlinevirtual |
Sets the total weight from all points within (mostly used for testing)
| total | :: new weight amount. |
Definition at line 257 of file MDBoxBase.h.
|
overridevirtual |
Transform the dimensions contained in this box x' = x*scaling + offset.
| scaling | :: multiply each coordinate by this value. |
| offset | :: after multiplying, add this offset. |
Implements Mantid::API::IMDNode.
Definition at line 78 of file MDBoxBase.hxx.
References Mantid::Geometry::d.
Referenced by Mantid::MDAlgorithms::TransformMD::doTransform(), and Mantid::DataObjects::MDGridBox::transformDimensions().
|
protected |
Array of MDDimensionStats giving the extents and other stats on the box dimensions.
Definition at line 309 of file MDBoxBase.h.
Referenced by MDBoxBase().
|
protected |
The box splitting controller, shared with all boxes in the hierarchy.
Definition at line 325 of file MDBoxBase.h.
|
mutableprotected |
Definition at line 311 of file MDBoxBase.h.
|
protected |
Mutex for modifying the event list or box averages.
Definition at line 340 of file MDBoxBase.h.
|
protected |
Recursion depth.
Definition at line 331 of file MDBoxBase.h.
|
mutableprotected |
Cached total error (squared) from all points within.
Set when refreshCache() is called.
Definition at line 318 of file MDBoxBase.h.
|
protected |
The id which specify location of this box in a linear chain of ordered boxes (e.g.
on file). Calculated algorithmically
Definition at line 338 of file MDBoxBase.h.
|
protected |
Inverse of the volume of the cell, to be used for normalized signal.
Definition at line 328 of file MDBoxBase.h.
|
protected |
Pointer to the parent of this box. NULL if no parent.
Definition at line 334 of file MDBoxBase.h.
|
mutableprotected |
Cached total signal from all points within.
Set when refreshCache() is called.
Definition at line 314 of file MDBoxBase.h.
|
mutableprotected |
Cached total weight of all events Set when refreshCache() is called.
Definition at line 322 of file MDBoxBase.h.