Mantid
|
Abstract base class for multi-dimension event workspaces (MDEventWorkspace). More...
#include <IMDEventWorkspace.h>
Public Member Functions | |
IMDEventWorkspace_uptr | clone () const |
Returns a clone of the workspace. More... | |
IMDEventWorkspace_uptr | cloneEmpty () const |
Returns a default-initialized clone of the workspace. More... | |
Mantid::API::MDNormalization | displayNormalization () const override=0 |
Mantid::API::MDNormalization | displayNormalizationHisto () const override=0 |
bool | fileNeedsUpdating () const |
virtual Mantid::API::BoxController_const_sptr | getBoxController () const =0 |
virtual Mantid::API::BoxController_sptr | getBoxController ()=0 |
virtual std::vector< std::string > | getBoxControllerStats () const =0 |
Returns some information about the box controller, to be displayed in the GUI, for example. More... | |
virtual void | getBoxes (std::vector< API::IMDNode * > &boxes, size_t maxDepth, bool leafOnly)=0 |
virtual std::string | getEventTypeName () const =0 |
Return the type of event contained, as a string. MDEvent or MDLeanEvent. More... | |
virtual std::vector< Mantid::Geometry::MDDimensionExtents< coord_t > > | getMinimumExtents (size_t depth=2) const =0 |
Get the minimum extents that hold the data. More... | |
virtual bool | hasOrientedLattice () const override |
IMDEventWorkspace () | |
Empty constructor. More... | |
virtual void | initialize ()=0 |
Perform initialization after dimensions (and others) have been set. More... | |
virtual bool | isFileBacked () const =0 |
IMDEventWorkspace & | operator= (const IMDEventWorkspace &)=delete |
virtual void | refreshCache ()=0 |
Refresh the cache (integrated signal of each box) More... | |
virtual void | setBox (API::IMDNode *box)=0 |
virtual void | setCoordinateSystem (const Mantid::Kernel::SpecialCoordinateSystem coordinateSystem)=0 |
virtual void | setDisplayNormalization (Mantid::API::MDNormalization preferredNormalization)=0 |
Preferred visual normalization method. More... | |
virtual void | setDisplayNormalizationHisto (Mantid::API::MDNormalization preferredNormalizationHisto)=0 |
Preferred visual normalizaiton method for any histo workspaces created from this. More... | |
virtual void | setFileBacked ()=0 |
set filebacked on the contained box More... | |
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) ) More... | |
virtual void | setMinRecursionDepth (size_t depth)=0 |
Recurse down to a minimum depth. More... | |
virtual size_t | sizeofEvent () const =0 |
Return the size(in bytes) for the event, which this workspace contains. More... | |
virtual void | splitAllIfNeeded (Kernel::ThreadScheduler *ts)=0 |
Split all boxes that exceed the split threshold. More... | |
virtual void | splitBox ()=0 |
Split the top-level MDBox into a MDGridBox. More... | |
bool | threadSafe () const override |
Is the workspace thread-safe. More... | |
Public Member Functions inherited from Mantid::API::IMDWorkspace | |
std::string | changeQConvention () |
virtual void | clearFileBacked (bool) |
if a workspace was filebacked, this should clear file-based status, delete file-based information and close related files. More... | |
virtual void | clearMDMasking ()=0 |
Clear existing masks. More... | |
std::unique_ptr< IMDWorkspace > | clone () const |
Returns a clone of the workspace. More... | |
std::unique_ptr< IMDWorkspace > | cloneEmpty () const |
Returns a default-initialized clone of the workspace. More... | |
std::unique_ptr< IMDIterator > | createIterator (Mantid::Geometry::MDImplicitFunction *function=nullptr) const |
Creates a single iterator and returns it. More... | |
virtual std::vector< std::unique_ptr< IMDIterator > > | createIterators (size_t suggestedNumCores=1, Mantid::Geometry::MDImplicitFunction *function=nullptr) const =0 |
Creates a new iterator pointing to the first cell in the workspace. More... | |
virtual MDNormalization | displayNormalization () const |
virtual MDNormalization | displayNormalizationHisto () const |
std::string | getConvention () const |
virtual LinePlot | getLinePlot (const Mantid::Kernel::VMD &start, const Mantid::Kernel::VMD &end, Mantid::API::MDNormalization normalize) const |
Method to generate a line plot through a MD-workspace. More... | |
virtual uint64_t | getNEvents () const =0 |
virtual uint64_t | getNPoints () const =0 |
Get the number of points associated with the workspace. More... | |
virtual signal_t | getSignalAtCoord (const coord_t *coords, const Mantid::API::MDNormalization &normalization) const =0 |
Returns the (normalized) signal at a given coordinates. More... | |
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. More... | |
virtual signal_t | getSignalWithMaskAtCoord (const coord_t *coords, const Mantid::API::MDNormalization &normalization) const =0 |
Returns the (normalized) signal at a given coordinates or 0 if the value. More... | |
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. More... | |
virtual Kernel::SpecialCoordinateSystem | getSpecialCoordinateSystem () const =0 |
virtual bool | hasOrientedLattice () const =0 |
IMDWorkspace (const Parallel::StorageMode storageMode=Parallel::StorageMode::Cloned) | |
Default constructor. More... | |
virtual bool | isMDHistoWorkspace () const |
virtual ITableWorkspace_sptr | makeBoxTable (size_t, size_t) |
this is the method to build table workspace from any workspace. More... | |
IMDWorkspace & | operator= (const IMDWorkspace &other)=delete |
void | setConvention (std::string convention) |
virtual void | setMDMasking (std::unique_ptr< Mantid::Geometry::MDImplicitFunction > maskingRegion)=0 |
Setter for the masking region. More... | |
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. More... | |
Workspace_uptr | cloneEmpty () const |
Returns a default-initialized clone of the workspace. More... | |
const std::string & | getComment () const |
Get the workspace comment. More... | |
const WorkspaceHistory & | getHistory () const |
Returns a reference to the WorkspaceHistory const. More... | |
virtual size_t | getMemorySize () const =0 |
Get the footprint in memory in bytes. More... | |
std::string | getMemorySizeAsStr () const |
Returns the memory footprint in sensible units. More... | |
const std::string & | getName () const override |
Get the workspace name. More... | |
virtual const std::string | getTitle () const |
Get the workspace title. More... | |
WorkspaceHistory & | history () |
Returns a reference to the WorkspaceHistory. More... | |
bool | isDirty (const int n=1) const |
Check whether other algorithms have been applied to the workspace by checking the history length. More... | |
virtual bool | isGroup () const |
Workspace & | operator= (const Workspace &other)=delete |
void | setComment (const std::string &) |
Set the comment field of the workspace. More... | |
virtual void | setTitle (const std::string &) |
Set the title of the workspace. More... | |
Parallel::StorageMode | storageMode () const |
Returns the storage mode (used for MPI runs) More... | |
bool | threadSafe () const override |
Marks the workspace as safe for multiple threads to edit data simutaneously. More... | |
Workspace (const Parallel::StorageMode storageMode=Parallel::StorageMode::Cloned) | |
~Workspace () | |
Public Member Functions inherited from Mantid::Kernel::DataItem | |
DataItem () | |
Default constructor. More... | |
DataItem (const DataItem &other) | |
Copy constructor Always makes a unique lock. More... | |
virtual | ~DataItem () |
Destructor. More... | |
virtual const std::string | id () const =0 |
A string ID for the class. More... | |
void | readLock () |
Acquires a read lock. More... | |
void | unlock () |
Public Member Functions inherited from Mantid::API::MDGeometry | |
void | addDimension (const std::shared_ptr< Mantid::Geometry::IMDDimension > &dim) |
Add a dimension. More... | |
void | addDimension (Mantid::Geometry::IMDDimension *dim) |
Add a dimension. More... | |
bool | allBasisNormalized () const |
void | clearOriginalWorkspaces () |
Clear original workspaces. More... | |
void | clearTransforms () |
Clear transforms. More... | |
virtual std::vector< coord_t > | estimateResolution () const |
Mantid::Kernel::VMD & | getBasisVector (size_t index) |
Get the basis vector (in the original workspace) for a dimension of this workspace. More... | |
const Mantid::Kernel::VMD & | getBasisVector (size_t index) const |
Get the basis vector (in the original workspace) for a dimension of this workspace. More... | |
virtual std::shared_ptr< const Mantid::Geometry::IMDDimension > | getDimension (size_t index) const |
Get a dimension. More... | |
size_t | getDimensionIndexById (const std::string &id) const |
Get the index of the dimension that matches the ID given. More... | |
size_t | getDimensionIndexByName (const std::string &name) const |
Get the index of the dimension that matches the name given. More... | |
virtual std::shared_ptr< const Mantid::Geometry::IMDDimension > | getDimensionWithId (std::string id) const |
Get a dimension. More... | |
std::string | getGeometryXML () const |
std::vector< std::shared_ptr< const Geometry::IMDDimension > > | getNonIntegratedDimensions () const |
Get non-collapsed dimensions. More... | |
size_t | getNumberTransformsFromOriginal () const |
Get the number of transforms defined from the original coordinate system. More... | |
size_t | getNumberTransformsToOriginal () const |
Get the number of transforms defined to the original coordinate system. More... | |
virtual size_t | getNumDims () const |
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). More... | |
std::shared_ptr< const Mantid::Geometry::IMDDimension > | getTDimension () const |
Get the t-dimension mapping. More... | |
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. More... | |
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. More... | |
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 More... | |
std::shared_ptr< const Mantid::Geometry::IMDDimension > | getXDimension () const |
Get the x-dimension mapping. More... | |
std::shared_ptr< const Mantid::Geometry::IMDDimension > | getYDimension () const |
Get the y-dimension mapping. More... | |
std::shared_ptr< const Mantid::Geometry::IMDDimension > | getZDimension () const |
Get the z-dimension mapping. More... | |
bool | hasOriginalWorkspace (size_t index=0) const |
void | initGeometry (const std::vector< std::shared_ptr< Geometry::IMDDimension > > &dimensions) |
Initialize the geometry. More... | |
MDGeometry () | |
Constructor. More... | |
MDGeometry (const MDGeometry &other) | |
Copy Constructor. More... | |
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. More... | |
void | setOrigin (const Mantid::Kernel::VMD &orig) |
Sets the origin of this geometry. More... | |
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). More... | |
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. More... | |
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. More... | |
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 More... | |
void | transformDimensions (std::vector< double > &scaling, std::vector< double > &offset) |
Transform the dimensions contained in this geometry x' = x*scaling + offset. More... | |
virtual | ~MDGeometry () |
Destructor. More... | |
Public Member Functions inherited from Mantid::API::MultipleExperimentInfos | |
uint16_t | addExperimentInfo (const ExperimentInfo_sptr &ei) |
Add a new ExperimentInfo to this MDEventWorkspace. More... | |
void | copyExperimentInfos (const MultipleExperimentInfos &other) |
Copy the experiment infos from another. More... | |
ExperimentInfo_sptr | getExperimentInfo (const uint16_t expInfoIndex) |
Get the ExperimentInfo for the given Experiment-Info Index. More... | |
ExperimentInfo_const_sptr | getExperimentInfo (const uint16_t expInfoIndex) const |
Get the ExperimentInfo for the given Experiment-Info Index. More... | |
uint16_t | getNumExperimentInfo () const |
bool | hasOrientedLattice () const |
MultipleExperimentInfos ()=default | |
MultipleExperimentInfos (const MultipleExperimentInfos &other) | |
Copy constructor. More... | |
MultipleExperimentInfos & | operator= (const MultipleExperimentInfos &other) |
void | setExperimentInfo (const uint16_t expInfoIndex, ExperimentInfo_sptr ei) |
Replace the ExperimentInfo entry at a given place. More... | |
virtual | ~MultipleExperimentInfos ()=default |
Protected Member Functions | |
IMDEventWorkspace (const IMDEventWorkspace &)=default | |
Protected copy constructor. May be used by childs for cloning. More... | |
const std::string | toString () const override |
Serializes the object to a string. More... | |
Protected Member Functions inherited from Mantid::API::IMDWorkspace | |
IMDWorkspace (const IMDWorkspace &)=default | |
Protected copy constructor. May be used by childs for cloning. More... | |
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. More... | |
const std::string | toString () const override |
Serializes the object to a string. More... | |
Protected Member Functions inherited from Mantid::API::Workspace | |
void | setStorageMode (Parallel::StorageMode mode) |
Sets the storage mode (used for MPI runs) More... | |
Workspace (const Workspace &) | |
Protected copy constructor. May be used by childs for cloning. More... | |
Protected Member Functions inherited from Mantid::Kernel::DataItem | |
Poco::RWLock * | getLock () const |
Private method to access the RWLock object. More... | |
Protected Member Functions inherited from Mantid::API::MDGeometry | |
void | deleteNotificationReceived (const std::shared_ptr< const Workspace > &deleted) |
Function called when observer objects recieves a notification. More... | |
Protected Member Functions inherited from Mantid::API::MultipleExperimentInfos | |
const std::string | toString () const |
Returns a string description of the object. More... | |
Protected Attributes | |
bool | m_fileNeedsUpdating |
Marker set to true when a file-backed workspace needs its back-end file updated (by calling SaveMD(UpdateFileBackEnd=1) ) More... | |
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. More... | |
std::vector< std::shared_ptr< Geometry::IMDDimension > > | m_dimensions |
Vector of the dimensions used, in the order X Y Z t, etc. More... | |
std::unique_ptr< MDGeometryNotificationHelper > | m_notificationHelper |
Helper that deals with notifications and observing the ADS. More... | |
Mantid::Kernel::VMD | m_origin |
Vector of the origin (in the original workspace) that corresponds to 0,0,0... in this workspace. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
Private Member Functions | |
IMDEventWorkspace * | doClone () const override=0 |
Virtual clone method. Not implemented to force implementation in children. More... | |
IMDEventWorkspace * | doCloneEmpty () const override=0 |
Virtual cloneEmpty method. More... | |
Abstract base class for multi-dimension event workspaces (MDEventWorkspace).
This class will handle as much of the common operations as possible; but since MDEventWorkspace is a templated class, that makes some aspects impossible.
Definition at line 36 of file IMDEventWorkspace.h.
Mantid::API::IMDEventWorkspace::IMDEventWorkspace | ( | ) |
Empty constructor.
Definition at line 20 of file IMDEventWorkspace.cpp.
|
protecteddefault |
Protected copy constructor. May be used by childs for cloning.
|
inline |
Returns a clone of the workspace.
Definition at line 41 of file IMDEventWorkspace.h.
|
inline |
Returns a default-initialized clone of the workspace.
Definition at line 44 of file IMDEventWorkspace.h.
|
overridepure virtual |
Reimplemented from Mantid::API::IMDWorkspace.
Implemented in Mantid::DataObjects::MDEventWorkspace.
|
overridepure virtual |
Reimplemented from Mantid::API::IMDWorkspace.
Implemented in Mantid::DataObjects::MDEventWorkspace.
|
overrideprivatepure virtual |
Virtual clone method. Not implemented to force implementation in children.
Implements Mantid::API::IMDWorkspace.
Implemented in Mantid::DataObjects::MDEventWorkspace.
|
overrideprivatepure virtual |
Virtual cloneEmpty method.
Not implemented to force implementation in children.
Implements Mantid::API::IMDWorkspace.
Implemented in Mantid::DataObjects::MDEventWorkspace.
bool Mantid::API::IMDEventWorkspace::fileNeedsUpdating | ( | ) | const |
Definition at line 26 of file IMDEventWorkspace.cpp.
References m_fileNeedsUpdating.
Referenced by Mantid::MDAlgorithms::CloneMDWorkspace::doClone(), and Mantid::MDAlgorithms::SaveMD::doSaveEvents().
|
pure virtual |
Implemented in Mantid::DataObjects::MDEventWorkspace.
|
pure virtual |
Implemented in Mantid::DataObjects::MDEventWorkspace.
Referenced by export_IMDEventWorkspace().
|
pure virtual |
Returns some information about the box controller, to be displayed in the GUI, for example.
Implemented in Mantid::DataObjects::MDEventWorkspace.
Referenced by toString().
|
pure virtual |
Implemented in Mantid::DataObjects::MDEventWorkspace.
|
pure virtual |
Return the type of event contained, as a string. MDEvent or MDLeanEvent.
Implemented in Mantid::DataObjects::MDEventWorkspace.
|
pure virtual |
Get the minimum extents that hold the data.
Implemented in Mantid::DataObjects::MDEventWorkspace.
|
inlineoverridevirtual |
Implements Mantid::API::IMDWorkspace.
Definition at line 103 of file IMDEventWorkspace.h.
|
pure virtual |
Perform initialization after dimensions (and others) have been set.
Implemented in Mantid::DataObjects::MDEventWorkspace.
|
pure virtual |
Implemented in Mantid::DataObjects::MDEventWorkspace.
Referenced by threadSafe().
|
delete |
|
pure virtual |
Refresh the cache (integrated signal of each box)
Implemented in Mantid::DataObjects::MDEventWorkspace.
|
pure virtual |
Implemented in Mantid::DataObjects::MDEventWorkspace.
|
pure virtual |
Implemented in Mantid::DataObjects::MDEventWorkspace.
|
pure virtual |
Preferred visual normalization method.
Implemented in Mantid::DataObjects::MDEventWorkspace.
Referenced by export_IMDEventWorkspace().
|
pure virtual |
Preferred visual normalizaiton method for any histo workspaces created from this.
Implemented in Mantid::DataObjects::MDEventWorkspace.
Referenced by export_IMDEventWorkspace().
|
pure virtual |
set filebacked on the contained box
Implemented in Mantid::DataObjects::MDEventWorkspace.
void Mantid::API::IMDEventWorkspace::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) )
value | :: marker value |
Definition at line 33 of file IMDEventWorkspace.cpp.
References m_fileNeedsUpdating, and value.
Referenced by Mantid::MDAlgorithms::MinusMD::doMinus(), Mantid::MDAlgorithms::MergeMD::doPlus(), Mantid::MDAlgorithms::SaveMD::doSaveEvents(), Mantid::MDAlgorithms::DivideMD::execEventScalar(), Mantid::MDAlgorithms::MultiplyMD::execEventScalar(), and Mantid::MDAlgorithms::FlippingRatioCorrectionMD::executeTemplatedMDE().
|
pure virtual |
Recurse down to a minimum depth.
Implemented in Mantid::DataObjects::MDEventWorkspace.
|
pure virtual |
Return the size(in bytes) for the event, which this workspace contains.
Implemented in Mantid::DataObjects::MDEventWorkspace.
|
pure virtual |
Split all boxes that exceed the split threshold.
Implemented in Mantid::DataObjects::MDEventWorkspace.
References Mantid::Kernel::threadSafe().
|
pure virtual |
Split the top-level MDBox into a MDGridBox.
Implemented in Mantid::DataObjects::MDEventWorkspace.
|
overridevirtual |
Is the workspace thread-safe.
For MDEventWorkspaces, this means operations on separate boxes in separate threads. Don't try to write to the same box on different threads.
Implements Mantid::Kernel::DataItem.
Definition at line 42 of file IMDEventWorkspace.cpp.
References isFileBacked().
|
overrideprotectedvirtual |
Serializes the object to a string.
Implements Mantid::Kernel::DataItem.
Definition at line 44 of file IMDEventWorkspace.cpp.
References getBoxControllerStats(), Mantid::API::IMDWorkspace::getNPoints(), Mantid::API::MultipleExperimentInfos::toString(), and Mantid::API::IMDWorkspace::toString().
|
protected |
Marker set to true when a file-backed workspace needs its back-end file updated (by calling SaveMD(UpdateFileBackEnd=1) )
Definition at line 114 of file IMDEventWorkspace.h.
Referenced by fileNeedsUpdating(), and setFileNeedsUpdating().