|
Mantid
|
Templated class for the multi-dimensional event workspace. More...
#include <MDEventWorkspace.h>
Public Types | |
| using | MDEventType = MDE |
| Typedef to access the MDEventType. | |
| using | sptr = std::shared_ptr< MDEventWorkspace< MDE, nd > > |
| Typedef for a shared pointer of this kind of event workspace. | |
Public Member Functions | |
| size_t | addEvent (const MDE &event) |
| Add a single event to this workspace. | |
| size_t | addEvents (const std::vector< MDE > &events) |
| Add a vector of MDEvents to the workspace. | |
| void | clearFileBacked (bool LoadFileBackedData) override |
| if workspace was file-backed, this should clear file-backed information and close back-up files. | |
| void | clearMDMasking () override |
| Clear masking. | |
| std::unique_ptr< MDEventWorkspace > | clone () const |
| Returns a clone of the workspace. | |
| std::unique_ptr< MDEventWorkspace > | cloneEmpty () const |
| Returns a default-initialized clone of the workspace. | |
| std::vector< std::unique_ptr< Mantid::API::IMDIterator > > | createIterators (size_t suggestedNumCores=1, Mantid::Geometry::MDImplicitFunction *function=nullptr) const override |
| Creates a new iterator pointing to the first cell (box) in the workspace. | |
| Mantid::API::MDNormalization | displayNormalization () const override |
| Return the preferred normalization to use for visualization. | |
| Mantid::API::MDNormalization | displayNormalizationHisto () const override |
| Return the preferred normalization preference for subsequent histoworkspaces. | |
| std::vector< coord_t > | estimateResolution () const override |
| MDBoxBase< MDE, nd > * | getBox () |
| const MDBoxBase< MDE, nd > * | getBox () const |
| std::set< coord_t > | getBoxBoundaryBisectsOnLine (const Kernel::VMD &start, const Kernel::VMD &end, const size_t num_d, const Kernel::VMD &dir, const coord_t length) const |
| Get ordered list of positions-along-the-line that lie halfway between points where the line crosses box boundaries. | |
| Mantid::API::BoxController_const_sptr | getBoxController () const override |
| Returns the BoxController used in this workspace. | |
| Mantid::API::BoxController_sptr | getBoxController () override |
| Returns the BoxController used in this workspace. | |
| std::vector< std::string > | getBoxControllerStats () const override |
| Returns some information about the box controller, to be displayed in the GUI, for example. | |
| void | getBoxes (std::vector< API::IMDNode * > &boxes, size_t maxDepth, bool leafOnly) override |
| std::string | getEventTypeName () const override |
| Get the data type (id) of the events in the workspace. | |
| LinePlot | getLinePlot (const Mantid::Kernel::VMD &start, const Mantid::Kernel::VMD &end, API::MDNormalization normalize) const override |
| Obtain coordinates for a line plot through a MDWorkspace. | |
| size_t | getMemorySize () const override |
| std::vector< Mantid::Geometry::MDDimensionExtents< coord_t > > | getMinimumExtents (size_t depth=2) const override |
| Get a vector of the minimum extents that still contain all the events in the workspace. | |
| uint64_t | getNEvents () const override |
| signal_t | getNormalizedError (const API::IMDNode *box, const Mantid::API::MDNormalization &normalization) const |
| signal_t | getNormalizedSignal (const API::IMDNode *box, const Mantid::API::MDNormalization &normalization) const |
| uint64_t | getNPoints () const override |
| Returns the total number of points (events) in this workspace. | |
| size_t | getNumDims () const override |
| Returns the number of dimensions in this workspace. | |
| signal_t | getSignalAtCoord (const coord_t *coords, const Mantid::API::MDNormalization &normalization) const override |
| Returns the (normalized) signal at a given coordinates. | |
| signal_t | getSignalWithMaskAtCoord (const coord_t *coords, const Mantid::API::MDNormalization &normalization) const override |
| Returns the (normalized) signal at a given coordinates. | |
| Kernel::SpecialCoordinateSystem | getSpecialCoordinateSystem () const override |
| Get the coordinate system. | |
| const std::string | id () const override |
| Get the data type (id) of the workspace. | |
| void | initialize () override |
| Perform initialization after dimensions (and others) have been set. | |
| bool | isFileBacked () const override |
| bool | isGridBox () |
| Return true if the underlying box is a MDGridBox. | |
| bool | isInBounds (const coord_t *coords) const |
| Mantid::API::ITableWorkspace_sptr | makeBoxTable (size_t start, size_t num) override |
| Create a table of data about the boxes contained. | |
| MDEventWorkspace (Mantid::API::MDNormalization preferredNormalization=Mantid::API::MDNormalization::VolumeNormalization, Mantid::API::MDNormalization preferredNormalizationHisto=Mantid::API::MDNormalization::VolumeNormalization) | |
| Constructor. | |
| MDEventWorkspace< MDE, nd > & | operator= (const MDEventWorkspace< MDE, nd > &other)=delete |
| void | refreshCache () override |
| Refresh the cache of # of points, signal, and error. | |
| void | setBox (API::IMDNode *box) override |
| Set the base-level box contained within. | |
| void | setCoordinateSystem (const Kernel::SpecialCoordinateSystem coordSystem) override |
| Set the coordinate system. | |
| void | setDisplayNormalization (Mantid::API::MDNormalization preferredNormalization) override |
| Preferred visual normalization method. | |
| void | setDisplayNormalizationHisto (Mantid::API::MDNormalization preferredNormalizationHisto) override |
| Preferred visual normalizaiton method for any histo workspaces created from this. | |
| void | setFileBacked () override |
| set filebacked on the contained box | |
| virtual void | setFileBacked (const std::string &fileName) |
| make the workspace file backed if it has not been already file backed; | |
| void | setMDMasking (std::unique_ptr< Mantid::Geometry::MDImplicitFunction > maskingRegion) override |
| Apply masking. | |
| void | setMinRecursionDepth (size_t minDepth) override |
| Recurse box structure down to a minimum depth. | |
| size_t | sizeofEvent () const override |
| return the size (in bytes) of an event, this workspace contains | |
| void | splitAllIfNeeded (Kernel::ThreadScheduler *ts) override |
| Goes through all the sub-boxes and splits them if they contain enough events to be worth it. | |
| void | splitBox () override |
| Split the contained MDBox into a MDGridBox or MDSplitBox, if it is not that already. | |
| void | splitTrackedBoxes (Kernel::ThreadScheduler *ts) |
| Goes through the MDBoxes that were tracked by the BoxController as being too large, and splits them. | |
| virtual | ~MDEventWorkspace () override=default |
Public Member Functions inherited from Mantid::API::IMDEventWorkspace | |
| IMDEventWorkspace_uptr | clone () const |
| Returns a clone of the workspace. | |
| IMDEventWorkspace_uptr | cloneEmpty () const |
| Returns a default-initialized clone of the workspace. | |
| bool | fileNeedsUpdating () const |
| virtual bool | hasOrientedLattice () const override |
| IMDEventWorkspace () | |
| Empty constructor. | |
| IMDEventWorkspace & | operator= (const IMDEventWorkspace &)=delete |
| void | setFileNeedsUpdating (bool value) |
| Sets the marker set to true when a file-backed workspace needs its back-end file updated (by calling SaveMD(UpdateFileBackEnd=1) ) | |
| bool | threadSafe () const override |
| Is the workspace thread-safe. | |
Public Member Functions inherited from Mantid::API::IMDWorkspace | |
| std::string | changeQConvention () |
| std::unique_ptr< IMDWorkspace > | clone () const |
| Returns a clone of the workspace. | |
| std::unique_ptr< IMDWorkspace > | cloneEmpty () const |
| Returns a default-initialized clone of the workspace. | |
| std::unique_ptr< IMDIterator > | createIterator (Mantid::Geometry::MDImplicitFunction *function=nullptr) const |
| Creates a single iterator and returns it. | |
| const std::string & | getConvention () const |
| signal_t | getSignalAtVMD (const Mantid::Kernel::VMD &coords, const Mantid::API::MDNormalization &normalization=Mantid::API::VolumeNormalization) const |
| Returns the signal (normalized by volume) at a given coordinates. | |
| signal_t | getSignalWithMaskAtVMD (const Mantid::Kernel::VMD &coords, const Mantid::API::MDNormalization &normalization=Mantid::API::VolumeNormalization) const |
| Returns the signal (normalized by volume) at a given coordinates or 0 if masked. | |
| IMDWorkspace () | |
| Default constructor. | |
| virtual bool | isMDHistoWorkspace () const |
| IMDWorkspace & | operator= (const IMDWorkspace &other)=delete |
| void | setConvention (std::string convention) |
| Sets the convention of the workspace. | |
Public Member Functions inherited from Mantid::API::Workspace | |
| Workspace_uptr | clone () const |
| Returns a clone (copy) of the workspace with covariant return type in all derived classes. | |
| Workspace_uptr | cloneEmpty () const |
| Returns a default-initialized clone of the workspace. | |
| const std::string & | getComment () const |
| Get the workspace comment. | |
| const WorkspaceHistory & | getHistory () const |
| Returns a reference to the WorkspaceHistory const. | |
| std::string | getMemorySizeAsStr () const |
| Returns the memory footprint in sensible units. | |
| const std::string & | getName () const override |
| Get the workspace name. | |
| const std::string & | getPythonVariableName () const |
| virtual const std::string | getTitle () const |
| Get the workspace title. | |
| WorkspaceHistory & | history () |
| Returns a reference to the WorkspaceHistory. | |
| bool | isDirty (const int n=1) const |
| Check whether other algorithms have been applied to the workspace by checking the history length. | |
| virtual bool | isGroup () const |
| Workspace & | operator= (const Workspace &other)=delete |
| void | setComment (const std::string &) |
| Set the comment field of the workspace. | |
| void | setPythonVariableName (const std::string &) |
| virtual void | setTitle (const std::string &) |
| Set the title of the workspace. | |
| bool | threadSafe () const override |
| Marks the workspace as safe for multiple threads to edit data simutaneously. | |
| Workspace () | |
| ~Workspace () | |
Public Member Functions inherited from Mantid::Kernel::DataItem | |
| DataItem () | |
| Default constructor. | |
| DataItem (const DataItem &other) | |
| Copy constructor Always makes a unique lock. | |
| virtual | ~DataItem () |
| Destructor. | |
| void | readLock () |
| Acquires a read lock. | |
| void | unlock () |
Public Member Functions inherited from Mantid::API::MDGeometry | |
| void | addDimension (const std::shared_ptr< Mantid::Geometry::IMDDimension > &dim) |
| Add a dimension. | |
| void | addDimension (Mantid::Geometry::IMDDimension *dim) |
| Add a dimension. | |
| bool | allBasisNormalized () const |
| void | clearOriginalWorkspaces () |
| Clear original workspaces. | |
| void | clearTransforms () |
| Clear transforms. | |
| Mantid::Kernel::VMD & | getBasisVector (size_t index) |
| Get the basis vector (in the original workspace) for a dimension of this workspace. | |
| const Mantid::Kernel::VMD & | getBasisVector (size_t index) const |
| Get the basis vector (in the original workspace) for a dimension of this workspace. | |
| virtual std::shared_ptr< const Mantid::Geometry::IMDDimension > | getDimension (size_t index) const |
| Get a dimension. | |
| size_t | getDimensionIndexById (const std::string &id) const |
| Get the index of the dimension that matches the ID given. | |
| size_t | getDimensionIndexByName (const std::string &name) const |
| Get the index of the dimension that matches the name given. | |
| virtual std::shared_ptr< const Mantid::Geometry::IMDDimension > | getDimensionWithId (std::string id) const |
| Get a dimension. | |
| std::string | getGeometryXML () const |
| std::vector< std::shared_ptr< const Geometry::IMDDimension > > | getNonIntegratedDimensions () const |
| Get non-collapsed dimensions. | |
| size_t | getNumberTransformsFromOriginal () const |
| Get the number of transforms defined from the original coordinate system. | |
| size_t | getNumberTransformsToOriginal () const |
| Get the number of transforms defined to the original coordinate system. | |
| virtual size_t | getNumNonIntegratedDims () const |
| Mantid::Kernel::VMD & | getOrigin () |
| const Mantid::Kernel::VMD & | getOrigin () const |
| std::shared_ptr< Workspace > | getOriginalWorkspace (size_t index=0) const |
| Get the "original" workspace (the workspace that was the source for a binned MDWorkspace). | |
| std::shared_ptr< const Mantid::Geometry::IMDDimension > | getTDimension () const |
| Get the t-dimension mapping. | |
| Mantid::API::CoordTransform const * | getTransformFromOriginal (size_t index=0) const |
| Get the Coordinate Transformation that goes from the original workspace to this workspace's coordinates. | |
| Mantid::API::CoordTransform const * | getTransformToOriginal (size_t index=0) const |
| Get the Coordinate Transformation that goes from THIS workspace's coordinates to the ORIGINAL workspace's coordinates. | |
| const Kernel::DblMatrix & | getWTransf () const |
| get the transformation from Qin crystal cartezian coordinate system to Q in orthogonal or real HKL coordiate system alined with arbitrary slicing plane | |
| std::shared_ptr< const Mantid::Geometry::IMDDimension > | getXDimension () const |
| Get the x-dimension mapping. | |
| std::shared_ptr< const Mantid::Geometry::IMDDimension > | getYDimension () const |
| Get the y-dimension mapping. | |
| std::shared_ptr< const Mantid::Geometry::IMDDimension > | getZDimension () const |
| Get the z-dimension mapping. | |
| bool | hasOriginalWorkspace (size_t index=0) const |
| void | initGeometry (const std::vector< std::shared_ptr< Geometry::IMDDimension > > &dimensions) |
| Initialize the geometry. | |
| MDGeometry () | |
| Constructor. | |
| MDGeometry (const MDGeometry &other) | |
| Copy Constructor. | |
| size_t | numOriginalWorkspaces () const |
| MDGeometry & | operator= (const MDGeometry &other) |
| void | setBasisVector (size_t index, const Mantid::Kernel::VMD &vec) |
| Set the basis vector (in the original workspace) for a dimension of this workspace. | |
| void | setOrigin (const Mantid::Kernel::VMD &orig) |
| Sets the origin of this geometry. | |
| void | setOriginalWorkspace (std::shared_ptr< Workspace > ws, size_t index=0) |
| Set the "original" workspace (the workspace that was the source for a binned MDWorkspace). | |
| void | setTransformFromOriginal (Mantid::API::CoordTransform *transform, size_t index=0) |
| Sets the Coordinate Transformation that goes from the original workspace to this workspace's coordinates. | |
| void | setTransformToOriginal (Mantid::API::CoordTransform *transform, size_t index=0) |
| Sets the Coordinate Transformation that goes from THIS workspace's coordinates to the ORIGINAL workspace's coordinates. | |
| void | setWTransf (const Kernel::DblMatrix &WTransf) |
| set the transformation from Q in crystal cartezian coordinate system to Q in orthogonal or real HKL coordiate system alined with arbitrary slicing plane | |
| void | transformDimensions (std::vector< double > const &scaling, std::vector< double > const &offset) |
| Transform the dimensions contained in this geometry x' = x*scaling + offset. | |
| virtual | ~MDGeometry () |
| Destructor. | |
Public Member Functions inherited from Mantid::API::MultipleExperimentInfos | |
| uint16_t | addExperimentInfo (const ExperimentInfo_sptr &ei) |
| Add a new ExperimentInfo to this MDEventWorkspace. | |
| void | copyExperimentInfos (const MultipleExperimentInfos &other) |
| Copy the experiment infos from another. | |
| ExperimentInfo_sptr | getExperimentInfo (const uint16_t expInfoIndex) |
| Get the ExperimentInfo for the given Experiment-Info Index. | |
| ExperimentInfo_const_sptr | getExperimentInfo (const uint16_t expInfoIndex) const |
| Get the ExperimentInfo for the given Experiment-Info Index. | |
| uint16_t | getNumExperimentInfo () const |
| bool | hasOrientedLattice () const |
| MultipleExperimentInfos ()=default | |
| MultipleExperimentInfos (const MultipleExperimentInfos &other) | |
| Copy constructor. | |
| MultipleExperimentInfos & | operator= (const MultipleExperimentInfos &other) |
| void | setExperimentInfo (const uint16_t expInfoIndex, ExperimentInfo_sptr ei) |
| Replace the ExperimentInfo entry at a given place. | |
| virtual | ~MultipleExperimentInfos ()=default |
Protected Member Functions | |
| void | getBoundariesInDimension (const Mantid::Kernel::VMD &start, const Mantid::Kernel::VMD &dir, const size_t num_boundaries, const coord_t length, const coord_t dir_current_dim, const coord_t box_size, std::set< coord_t > &mid_points) const |
| Insert box bisects in position-along-line coords in a single dimension. | |
| MDEventWorkspace (const MDEventWorkspace< MDE, nd > &other) | |
| Protected copy constructor. May be used by childs for cloning. | |
Protected Member Functions inherited from Mantid::API::IMDEventWorkspace | |
| IMDEventWorkspace (const IMDEventWorkspace &)=default | |
| Protected copy constructor. May be used by childs for cloning. | |
| const std::string | toString () const override |
| Serializes the object to a string. | |
Protected Member Functions inherited from Mantid::API::IMDWorkspace | |
| IMDWorkspace (const IMDWorkspace &)=default | |
| Protected copy constructor. May be used by childs for cloning. | |
| void | makeSinglePointWithNaN (std::vector< coord_t > &x, std::vector< signal_t > &y, std::vector< signal_t > &e) const |
| Make a single point with NaN as the signal and error This can be returned when there would otherwise be nothing to plot. | |
| const std::string | toString () const override |
| Serializes the object to a string. | |
Protected Member Functions inherited from Mantid::API::Workspace | |
| Workspace (const Workspace &) | |
| Protected copy constructor. May be used by childs for cloning. | |
Protected Member Functions inherited from Mantid::Kernel::DataItem | |
| Poco::RWLock * | getLock () const |
| Private method to access the RWLock object. | |
Protected Member Functions inherited from Mantid::API::MDGeometry | |
| void | deleteNotificationReceived (const std::shared_ptr< const Workspace > &replaced) |
| Function called when observer objects recieves a notification. | |
| void | replaceNotificationReceived (const std::shared_ptr< const Workspace > &deleted) |
| Function called when observer detects a workspace is replaced. | |
Protected Member Functions inherited from Mantid::API::MultipleExperimentInfos | |
| const std::string | toString () const |
| Returns a string description of the object. | |
Protected Attributes | |
| std::unique_ptr< MDBoxBase< MDE, nd > > | data |
| MDBox containing all of the events in the workspace. | |
| API::BoxController_sptr | m_BoxController |
| Box controller in use. | |
| Mantid::API::MDNormalization | m_displayNormalization |
| Display normalization for the event workspace itself. | |
| Mantid::API::MDNormalization | m_displayNormalizationHisto |
| Display normalization to pass onto generated histo workspaces. | |
Protected Attributes inherited from Mantid::API::IMDEventWorkspace | |
| bool | m_fileNeedsUpdating |
| Marker set to true when a file-backed workspace needs its back-end file updated (by calling SaveMD(UpdateFileBackEnd=1) ) | |
Protected Attributes inherited from Mantid::API::MDGeometry | |
| std::vector< Mantid::Kernel::VMD > | m_basisVectors |
| Vector of the basis vector (in the original workspace) for each dimension of this workspace. | |
| std::vector< std::shared_ptr< Geometry::IMDDimension > > | m_dimensions |
| Vector of the dimensions used, in the order X Y Z t, etc. | |
| std::unique_ptr< MDGeometryNotificationHelper > | m_notificationHelper |
| Helper that deals with notifications and observing the ADS. | |
| Mantid::Kernel::VMD | m_origin |
| Vector of the origin (in the original workspace) that corresponds to 0,0,0... in this workspace. | |
| std::vector< std::shared_ptr< Workspace > > | m_originalWorkspaces |
| Pointer to the original workspace(s), if this workspace is a coordinate transformation from an original workspace. | |
| std::vector< std::shared_ptr< const Mantid::API::CoordTransform > > | m_transforms_FromOriginal |
| Coordinate Transformation that goes from the original workspace to this workspace's coordinates. | |
| std::vector< std::shared_ptr< const Mantid::API::CoordTransform > > | m_transforms_ToOriginal |
| Coordinate Transformation that goes from this workspace's coordinates to the original workspace coordinates. | |
| Kernel::DblMatrix | m_Wtransf |
| the matrix which transforms momentums from orthogonal Q-system to Orthogonal HKL or non-orthogonal HKL system alighned WRT to arbitrary coordinate system requested See the UB matrix formalizm, pg 7 for further details on implementation. | |
Private Member Functions | |
| MDEventWorkspace * | doClone () const override |
| Virtual clone method. Not implemented to force implementation in children. | |
| MDEventWorkspace * | doCloneEmpty () const override |
| Virtual cloneEmpty method. | |
Private Attributes | |
| Kernel::SpecialCoordinateSystem | m_coordSystem |
Templated class for the multi-dimensional event workspace.
| MDE | :: the type of MDEvent in the workspace. This can be, e.g. MDLeanEvent<nd> or MDEvent<nd> |
| nd | :: the number of dimensions that each MDEvent will be tracking. an usigned int > 0. nd must match the number of dimensions in the MDE type! |
Definition at line 37 of file MDEventWorkspace.h.
| using Mantid::DataObjects::MDEventWorkspace< MDE, nd >::MDEventType = MDE |
Typedef to access the MDEventType.
Definition at line 43 of file MDEventWorkspace.h.
| using Mantid::DataObjects::MDEventWorkspace< MDE, nd >::sptr = std::shared_ptr<MDEventWorkspace<MDE, nd> > |
Typedef for a shared pointer of this kind of event workspace.
Definition at line 41 of file MDEventWorkspace.h.
| Mantid::DataObjects::MDEventWorkspace< MDE, nd >::MDEventWorkspace | ( | Mantid::API::MDNormalization | preferredNormalization = Mantid::API::MDNormalization::VolumeNormalization, |
| Mantid::API::MDNormalization | preferredNormalizationHisto = Mantid::API::MDNormalization::VolumeNormalization |
||
| ) |
Constructor.
Definition at line 52 of file MDEventWorkspace.hxx.
|
overridevirtualdefault |
|
protected |
Protected copy constructor. May be used by childs for cloning.
Copy constructor.
Definition at line 64 of file MDEventWorkspace.hxx.
| size_t Mantid::DataObjects::MDEventWorkspace< MDE, nd >::addEvent | ( | const MDE & | event | ) |
Add a single event to this workspace.
Automatic splitting is not performed after adding (call splitAllIfNeeded).
| event | :: event to add. |
Definition at line 537 of file MDEventWorkspace.hxx.
Referenced by Mantid::MDAlgorithms::MDEventWSWrapper::addMDDataND().
| size_t Mantid::DataObjects::MDEventWorkspace< MDE, nd >::addEvents | ( | const std::vector< MDE > & | events | ) |
Add a vector of MDEvents to the workspace.
| events | :: const ref. to a vector of events; they will be copied into the MDBox'es contained within. |
Definition at line 546 of file MDEventWorkspace.hxx.
|
overridevirtual |
if workspace was file-backed, this should clear file-backed information and close back-up files.
If the workspace was filebacked, this would clear file-backed information from the workspace nodes and close the files responsible for file backing.
| LoadFileBackedData | – if true, load all data initially backed to hdd when breaking connection between the file and the workspace. if false, data on hdd are lost if not previously loaded in memory and the workspace is generally corrupted (used in destructor) |
Reimplemented from Mantid::API::IMDWorkspace.
Definition at line 100 of file MDEventWorkspace.hxx.
|
overridevirtual |
Clear masking.
Clears ALL existing masks off the workspace.
Implements Mantid::API::IMDWorkspace.
Definition at line 802 of file MDEventWorkspace.hxx.
References Mantid::API::IMDNode::unmask().
|
inline |
Returns a clone of the workspace.
Definition at line 52 of file MDEventWorkspace.h.
Referenced by Mantid::MDAlgorithms::CloneMDWorkspace::doClone().
|
inline |
Returns a default-initialized clone of the workspace.
Definition at line 55 of file MDEventWorkspace.h.
|
overridevirtual |
Creates a new iterator pointing to the first cell (box) in the workspace.
| suggestedNumCores | :: split iterator over this many cores. |
| function | :: Optional MDImplicitFunction limiting the iterator |
Implements Mantid::API::IMDWorkspace.
Definition at line 228 of file MDEventWorkspace.hxx.
References Mantid::Kernel::threadSafe().
|
overridevirtual |
Return the preferred normalization to use for visualization.
Implements Mantid::API::IMDEventWorkspace.
Definition at line 859 of file MDEventWorkspace.hxx.
Referenced by Mantid::MDAlgorithms::SliceMD::slice().
|
overridevirtual |
Return the preferred normalization preference for subsequent histoworkspaces.
Implements Mantid::API::IMDEventWorkspace.
Definition at line 846 of file MDEventWorkspace.hxx.
Referenced by Mantid::MDAlgorithms::SliceMD::slice().
|
inlineoverrideprivatevirtual |
Virtual clone method. Not implemented to force implementation in children.
Implements Mantid::API::IMDEventWorkspace.
Definition at line 212 of file MDEventWorkspace.h.
|
inlineoverrideprivatevirtual |
Virtual cloneEmpty method.
Not implemented to force implementation in children.
Implements Mantid::API::IMDEventWorkspace.
Definition at line 214 of file MDEventWorkspace.h.
|
overridevirtual |
Reimplemented from Mantid::API::MDGeometry.
Definition at line 197 of file MDEventWorkspace.hxx.
References Mantid::Geometry::d.
|
protected |
Insert box bisects in position-along-line coords in a single dimension.
Insert positions-along-the-line that lie halfway between points where the line crosses box boundaries in a single dimension of the workspace into ordered set.
| start | :: coords of the start of the line |
| dir | :: vector of the direction of the line |
| num_boundaries | :: maximum number of boundary crossings possible if all boxes are the size of the smallest box |
| length | :: the length of the line |
| dir_current_dim | :: component of the line direction in this dimension |
| box_size | :: the minimum box size in this dimension |
| mid_points | :: ordered set of halfway points between box crossings |
Definition at line 672 of file MDEventWorkspace.hxx.
|
inline |
Definition at line 152 of file MDEventWorkspace.h.
Referenced by Mantid::MDAlgorithms::QTransform::applyCorrection(), Mantid::MDAlgorithms::ApplyDetailedBalanceMD::applyDetailedBalance(), Mantid::MDAlgorithms::PolarizationAngleCorrectionMD::applyPolarizationAngleCorrection(), Mantid::MDAlgorithms::SpectralMomentMD::applyScaling(), Mantid::MDAlgorithms::BinMD::binByIterating(), Mantid::MDAlgorithms::CompareMDWorkspaces::compareMDEventWorkspaces(), Mantid::MDAlgorithms::DgsScatteredTransmissionCorrectionMD::correctForTransmission(), Mantid::MDAlgorithms::MinusMD::doMinus(), Mantid::MDAlgorithms::MergeMD::doPlus(), Mantid::MDAlgorithms::PlusMD::doPlus(), Mantid::MDAlgorithms::TransformMD::doTransform(), Mantid::MDAlgorithms::DivideMD::execEventScalar(), Mantid::MDAlgorithms::MultiplyMD::execEventScalar(), Mantid::MDAlgorithms::FlippingRatioCorrectionMD::executeTemplatedMDE(), Mantid::MDAlgorithms::IntegratePeaksMD2::findEllipsoid(), Mantid::MDAlgorithms::FindPeaksMD::findPeaks(), Mantid::MDAlgorithms::QueryMDWorkspace::getBoxData(), Mantid::MDAlgorithms::CentroidPeaksMD2::integrate(), Mantid::MDAlgorithms::IntegratePeaksMD::integrate(), Mantid::MDAlgorithms::IntegratePeaksMD2::integrate(), and Mantid::MDAlgorithms::SliceMD::slice().
|
inline |
Definition at line 156 of file MDEventWorkspace.h.
| std::set< coord_t > Mantid::DataObjects::MDEventWorkspace< MDE, nd >::getBoxBoundaryBisectsOnLine | ( | const Kernel::VMD & | start, |
| const Kernel::VMD & | end, | ||
| const size_t | num_d, | ||
| const Kernel::VMD & | dir, | ||
| const coord_t | length | ||
| ) | const |
Get ordered list of positions-along-the-line that lie halfway between points where the line crosses box boundaries.
| start | :: coords of the start of the line |
| end | :: coords of the end of the line |
| num_d | :: number of dimensions |
| dir | :: vector of the direction of the line |
| length | :: the length of the line |
Definition at line 626 of file MDEventWorkspace.hxx.
References Mantid::Geometry::d.
|
inlineoverridevirtual |
Returns the BoxController used in this workspace.
Implements Mantid::API::IMDEventWorkspace.
Definition at line 111 of file MDEventWorkspace.h.
|
inlineoverridevirtual |
Returns the BoxController used in this workspace.
Implements Mantid::API::IMDEventWorkspace.
Definition at line 108 of file MDEventWorkspace.h.
Referenced by Mantid::MDAlgorithms::BinMD::binByIterating(), Mantid::MDAlgorithms::CloneMDWorkspace::doClone(), Mantid::MDAlgorithms::LoadMD::doLoad(), Mantid::MDAlgorithms::SaveMD::doSaveEvents(), Mantid::MDAlgorithms::DivideMD::execEventScalar(), Mantid::MDAlgorithms::MultiplyMD::execEventScalar(), Mantid::MDAlgorithms::FlippingRatioCorrectionMD::executeTemplatedMDE(), Mantid::MDAlgorithms::CreateMDWorkspace::finish(), Mantid::MDAlgorithms::QueryMDWorkspace::getBoxData(), and Mantid::MDAlgorithms::SliceMD::slice().
|
overridevirtual |
Returns some information about the box controller, to be displayed in the GUI, for example.
Implements Mantid::API::IMDEventWorkspace.
Definition at line 386 of file MDEventWorkspace.hxx.
|
inlineoverridevirtual |
Implements Mantid::API::IMDEventWorkspace.
Definition at line 138 of file MDEventWorkspace.h.
|
overridevirtual |
Get the data type (id) of the events in the workspace.
Implements Mantid::API::IMDEventWorkspace.
Definition at line 141 of file MDEventWorkspace.hxx.
|
overridevirtual |
Obtain coordinates for a line plot through a MDWorkspace.
Cross the workspace from start to end points, recording the signal along the line halfway between each bin boundary that the line crosses
| start | :: coordinates of the start point of the line |
| end | :: coordinates of the end point of the line |
| normalize | :: how to normalize the signal |
Reimplemented from Mantid::API::IMDWorkspace.
Definition at line 729 of file MDEventWorkspace.hxx.
References Mantid::Kernel::normalize().
|
overridevirtual |
Implements Mantid::API::Workspace.
Definition at line 514 of file MDEventWorkspace.hxx.
|
overridevirtual |
Get a vector of the minimum extents that still contain all the events in the workspace.
| depth | :: recursion depth to which to search. This will determine the resolution to which the extents will be found. |
Implements Mantid::API::IMDEventWorkspace.
Definition at line 359 of file MDEventWorkspace.hxx.
References Mantid::Geometry::d, Mantid::Geometry::MDDimensionExtents< T >::expand(), Mantid::API::IMDNode::getExtents(), and Mantid::API::IMDNode::getNPoints().
|
inlineoverridevirtual |
Implements Mantid::API::IMDWorkspace.
Definition at line 70 of file MDEventWorkspace.h.
Referenced by Mantid::MDAlgorithms::SliceMD::slice().
| signal_t Mantid::DataObjects::MDEventWorkspace< MDE, nd >::getNormalizedError | ( | const API::IMDNode * | box, |
| const Mantid::API::MDNormalization & | normalization | ||
| ) | const |
Definition at line 296 of file MDEventWorkspace.hxx.
References Mantid::API::NoNormalization, Mantid::API::NumEventsNormalization, and Mantid::API::VolumeNormalization.
| signal_t Mantid::DataObjects::MDEventWorkspace< MDE, nd >::getNormalizedSignal | ( | const API::IMDNode * | box, |
| const Mantid::API::MDNormalization & | normalization | ||
| ) | const |
Definition at line 278 of file MDEventWorkspace.hxx.
References Mantid::API::IMDNode::getInverseVolume(), Mantid::API::IMDNode::getNPoints(), and Mantid::API::IMDNode::getSignal().
|
overridevirtual |
Returns the total number of points (events) in this workspace.
Implements Mantid::API::IMDWorkspace.
Definition at line 149 of file MDEventWorkspace.hxx.
Referenced by Mantid::MDAlgorithms::LoadMD::doLoad(), Mantid::MDAlgorithms::MinusMD::doMinus(), and Mantid::MDAlgorithms::MergeMD::doPlus().
|
overridevirtual |
Returns the number of dimensions in this workspace.
Reimplemented from Mantid::API::MDGeometry.
Definition at line 145 of file MDEventWorkspace.hxx.
Referenced by Mantid::MDAlgorithms::DgsScatteredTransmissionCorrectionMD::correctForTransmission().
|
overridevirtual |
Returns the (normalized) signal at a given coordinates.
| coords | :: nd-sized array of coordinates |
| normalization | :: how to normalize the signal. |
Implements Mantid::API::IMDWorkspace.
Definition at line 268 of file MDEventWorkspace.hxx.
|
overridevirtual |
Returns the (normalized) signal at a given coordinates.
Get the signal at a particular coordinate in the workspace or return 0 if masked.
| coords | :: numDimensions-sized array of the coordinates to look at |
| normalization | : Normalisation to use. |
Implements Mantid::API::IMDWorkspace.
Definition at line 332 of file MDEventWorkspace.hxx.
|
overridevirtual |
Get the coordinate system.
Get the coordinate system (if any) to use.
Implements Mantid::API::IMDWorkspace.
Definition at line 815 of file MDEventWorkspace.hxx.
Referenced by Mantid::MDAlgorithms::CentroidPeaksMD2::integrate(), Mantid::MDAlgorithms::IntegratePeaksMD::integrate(), Mantid::MDAlgorithms::IntegratePeaksMD2::integrate(), and Mantid::MDAlgorithms::SliceMD::slice().
|
overridevirtual |
Get the data type (id) of the workspace.
Implements Mantid::Kernel::DataItem.
Definition at line 131 of file MDEventWorkspace.hxx.
Referenced by Mantid::MDAlgorithms::FindPeaksMD::findPeaks().
|
overridevirtual |
Perform initialization after dimensions (and others) have been set.
Perform initialization after m_dimensions (and others) have been set.
This sets the size of the box.
Implements Mantid::API::IMDEventWorkspace.
Definition at line 110 of file MDEventWorkspace.hxx.
References Mantid::Geometry::d.
Referenced by Mantid::MDAlgorithms::SliceMD::slice().
|
inlineoverridevirtual |
Implements Mantid::API::IMDEventWorkspace.
Definition at line 116 of file MDEventWorkspace.h.
Referenced by Mantid::MDAlgorithms::QTransform::applyCorrection(), Mantid::MDAlgorithms::ApplyDetailedBalanceMD::applyDetailedBalance(), Mantid::MDAlgorithms::PolarizationAngleCorrectionMD::applyPolarizationAngleCorrection(), Mantid::MDAlgorithms::SpectralMomentMD::applyScaling(), Mantid::MDAlgorithms::CompareMDWorkspaces::compareMDEventWorkspaces(), Mantid::MDAlgorithms::DgsScatteredTransmissionCorrectionMD::correctForTransmission(), Mantid::MDAlgorithms::MergeMD::doPlus(), Mantid::MDAlgorithms::SaveMD::doSaveEvents(), Mantid::MDAlgorithms::TransformMD::doTransform(), Mantid::MDAlgorithms::DivideMD::execEventScalar(), Mantid::MDAlgorithms::MultiplyMD::execEventScalar(), Mantid::MDAlgorithms::FlippingRatioCorrectionMD::executeTemplatedMDE(), and Mantid::MDAlgorithms::SliceMD::slice().
|
inline |
Return true if the underlying box is a MDGridBox.
Definition at line 149 of file MDEventWorkspace.h.
| bool Mantid::DataObjects::MDEventWorkspace< MDE, nd >::isInBounds | ( | const coord_t * | coords | ) | const |
Definition at line 314 of file MDEventWorkspace.hxx.
References Mantid::Geometry::d, and Mantid::Geometry::x.
|
overridevirtual |
Create a table of data about the boxes contained.
Reimplemented from Mantid::API::IMDWorkspace.
Definition at line 447 of file MDEventWorkspace.hxx.
References Mantid::DataObjects::MDBoxBase::getDepth(), Mantid::DataObjects::MDBoxBase::getExtentsStr(), Mantid::DataObjects::MDBoxBase::getID(), Mantid::API::IMDNode::getISaveable(), Mantid::API::IMDNode::getNumChildren(), and UNUSED_ARG.
|
delete |
|
overridevirtual |
Refresh the cache of # of points, signal, and error.
NOTE: This is performed in parallel using a threadpool.
Implements Mantid::API::IMDEventWorkspace.
Definition at line 609 of file MDEventWorkspace.hxx.
Referenced by Mantid::DataObjects::FakeMD::addFakeEllipsoid(), Mantid::DataObjects::FakeMD::addFakePeak(), Mantid::DataObjects::FakeMD::addFakeUniformData(), Mantid::MDAlgorithms::LoadMD::doLoad(), Mantid::MDAlgorithms::MinusMD::doMinus(), Mantid::MDAlgorithms::DivideMD::execEventScalar(), Mantid::MDAlgorithms::MultiplyMD::execEventScalar(), Mantid::MDAlgorithms::FlippingRatioCorrectionMD::executeTemplatedMDE(), and Mantid::MDAlgorithms::SliceMD::slice().
|
inlineoverridevirtual |
Set the base-level box contained within.
Used in file loading
Implements Mantid::API::IMDEventWorkspace.
Definition at line 160 of file MDEventWorkspace.h.
Referenced by Mantid::MDAlgorithms::LoadMD::doLoad().
|
overridevirtual |
Set the coordinate system.
Set the coordinate system (if any) to use.
| coordSystem | : Coordinate system to use. |
Implements Mantid::API::IMDEventWorkspace.
Definition at line 830 of file MDEventWorkspace.hxx.
Referenced by Mantid::MDAlgorithms::LoadMD::doLoad(), and Mantid::MDAlgorithms::SliceMD::slice().
|
overridevirtual |
Preferred visual normalization method.
Set the display normalization.
| preferredNormalization | : Display normalization preference. |
Implements Mantid::API::IMDEventWorkspace.
Definition at line 852 of file MDEventWorkspace.hxx.
|
overridevirtual |
Preferred visual normalizaiton method for any histo workspaces created from this.
Set the display normalization for any subsequently generated histoworkspaces.
| preferredNormalizationHisto | : Display normalization preference to pass on to generated histo workspaces. |
Implements Mantid::API::IMDEventWorkspace.
Definition at line 838 of file MDEventWorkspace.hxx.
|
overridevirtual |
set filebacked on the contained box
Implements Mantid::API::IMDEventWorkspace.
Definition at line 90 of file MDEventWorkspace.hxx.
|
virtual |
make the workspace file backed if it has not been already file backed;
Make workspace file backed if it has not been already file backed.
| fileName | – short or full file name of the file, which should be used as the file back end |
Definition at line 84 of file MDEventWorkspace.hxx.
|
overridevirtual |
Apply masking.
Setter for the masking region.
| maskingRegion | : Implicit function defining mask region. |
Implements Mantid::API::IMDWorkspace.
Definition at line 785 of file MDEventWorkspace.hxx.
References Mantid::API::IMDNode::clear(), Mantid::API::IMDNode::clearFileBacked(), and Mantid::API::IMDNode::mask().
|
overridevirtual |
Recurse box structure down to a minimum depth.
This will split all boxes so that all MDBoxes are at the depth indicated. 0 = no splitting, 1 = one level of splitting, etc.
WARNING! This should ONLY be called before adding any events to a workspace.
WARNING! Be careful using this since it can quickly create a huge number of boxes = (SplitInto ^ (MinRercursionDepth * NumDimensions))
| minDepth | :: minimum recursion depth. |
| std::runtime_error | if there is not enough memory for the boxes. |
Implements Mantid::API::IMDEventWorkspace.
Definition at line 165 of file MDEventWorkspace.hxx.
References Mantid::Kernel::MemoryStats::availMem(), Mantid::DataObjects::MDGridBox::getNumChildren(), and Mantid::DataObjects::MDGridBox::splitContents().
Referenced by Mantid::MDAlgorithms::CreateMDWorkspace::finish().
|
inlineoverridevirtual |
return the size (in bytes) of an event, this workspace contains
Implements Mantid::API::IMDEventWorkspace.
Definition at line 130 of file MDEventWorkspace.h.
|
overridevirtual |
Goes through all the sub-boxes and splits them if they contain enough events to be worth it.
| ts | :: optional ThreadScheduler * that will be used to parallelize recursive splitting. Set to NULL to do it serially. |
Implements Mantid::API::IMDEventWorkspace.
Definition at line 575 of file MDEventWorkspace.hxx.
Referenced by Mantid::DataObjects::FakeMD::addFakeEllipsoid(), Mantid::DataObjects::FakeMD::addFakePeak(), Mantid::DataObjects::FakeMD::addFakeUniformData(), Mantid::MDAlgorithms::MinusMD::doMinus(), Mantid::MDAlgorithms::MergeMD::doPlus(), and Mantid::MDAlgorithms::SliceMD::slice().
|
overridevirtual |
Split the contained MDBox into a MDGridBox or MDSplitBox, if it is not that already.
Implements Mantid::API::IMDEventWorkspace.
Definition at line 552 of file MDEventWorkspace.hxx.
Referenced by Mantid::DataObjects::FakeMD::addFakeEllipsoid(), Mantid::DataObjects::FakeMD::addFakePeak(), Mantid::DataObjects::FakeMD::addFakeUniformData(), Mantid::MDAlgorithms::CreateMDWorkspace::finish(), and Mantid::MDAlgorithms::SliceMD::slice().
| void Mantid::DataObjects::MDEventWorkspace< MDE, nd >::splitTrackedBoxes | ( | Kernel::ThreadScheduler * | ts | ) |
Goes through the MDBoxes that were tracked by the BoxController as being too large, and splits them.
| ts | :: optional ThreadScheduler * that will be used to parallelize recursive splitting. |
Definition at line 583 of file MDEventWorkspace.hxx.
References UNUSED_ARG.
|
protected |
MDBox containing all of the events in the workspace.
Definition at line 203 of file MDEventWorkspace.h.
|
protected |
Box controller in use.
Definition at line 200 of file MDEventWorkspace.h.
|
private |
Definition at line 216 of file MDEventWorkspace.h.
|
protected |
Display normalization for the event workspace itself.
Definition at line 207 of file MDEventWorkspace.h.
|
protected |
Display normalization to pass onto generated histo workspaces.
Definition at line 209 of file MDEventWorkspace.h.