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

Variation on the TableWorkspace with a set of pre-defined columns used to store diffs on Workspaces. More...

#include <MementoTableWorkspace.h>

Inheritance diagram for Mantid::DataObjects::MementoTableWorkspace:
Mantid::DataObjects::TableWorkspace Mantid::API::ITableWorkspace Mantid::API::Workspace Mantid::Kernel::DataItem

Public Member Functions

std::unique_ptr< MementoTableWorkspaceclone () const
 Returns a clone of the workspace. More...
 
std::unique_ptr< MementoTableWorkspacecloneEmpty () const
 Returns a default-initialized clone of the workspace. More...
 
 MementoTableWorkspace (int nRows=0)
 Constructor. More...
 
MementoTableWorkspaceoperator= (const MementoTableWorkspace &)=delete
 
- Public Member Functions inherited from Mantid::DataObjects::TableWorkspace
API::Column_sptr addColumn (const std::string &type, const std::string &name) override
 Creates a new column. More...
 
template<class U >
cell_cast (size_t nRow, const std::string &col_name) const
 
template<class U >
cell_cast (size_t nRow, size_t nCol) const
 Casts cells through converting their values to/from double without type checking; Can produce stuped results in case if the type is in any way not related to double. More...
 
std::unique_ptr< TableWorkspaceclone () const
 Returns a clone of the workspace. More...
 
std::unique_ptr< TableWorkspacecloneEmpty () const
 Returns a default-initialized clone of the workspace. More...
 
size_t columnCount () const override
 Number of columns in the workspace. More...
 
void find (API::Boolean value, size_t &row, size_t col) override
 This method finds the row and column index of an API::Bollean value in a table workspace. More...
 
void find (const Mantid::Kernel::V3D &value, size_t &row, size_t col) override
 This method finds the row and column index of an Mantid::Kernel::V3D cell value in a table workspace. More...
 
void find (const std::string &value, size_t &row, size_t col) override
 This method finds the row and column index of an string cell value in a table workspace. More...
 
void find (double value, size_t &row, size_t col) override
 This method finds the row and column index of an double cell value in a table workspace. More...
 
void find (float value, size_t &row, size_t col) override
 This method finds the row and column index of an float value in a table workspace. More...
 
void find (size_t value, size_t &row, size_t col) override
 This method finds the row and column index of an integer cell value in a table workspace. More...
 
template<class T >
T * getColDataArray (const std::string &name)
 Non-throwing access to the pointer to the column data array for the column with given name. More...
 
template<class T >
T * getColDataArray (const std::string &name) const
 Non-throwing const access to the pointer to the column data array for the column with given name. More...
 
API::Column_const_sptr getColumn (const std::string &name) const override
 Gets the shared pointer to a column. More...
 
API::Column_sptr getColumn (const std::string &name) override
 Gets the shared pointer to a column. More...
 
API::Column_const_sptr getColumn (size_t index) const override
 Gets the shared pointer to a column by index - return none-modifyable column. More...
 
API::Column_sptr getColumn (size_t index) override
 Gets the shared pointer to a column. More...
 
std::vector< std::string > getColumnNames () const override
 Returns a vector of all column names. More...
 
template<class T >
std::vector< T > & getColVector (const std::string &name)
 get access to the column vector for column with given name . More...
 
template<class T >
const std::vector< T > & getColVector (const std::string &name) const
 get access to column vector for column with given name
More...
 
template<class T >
std::vector< T > & getColVector (size_t index)
 get access to column vector for index i. More...
 
template<class T >
const std::vector< T > & getColVector (size_t index) const
 get constant access to column vector for index i. More...
 
API::LogManager_const_sptr getLogs () const override
 Get constant access to shared pointer containing workspace porperties. More...
 
size_t getMemorySize () const override
 Get the footprint in memory in KB. More...
 
const std::string id () const override
 Return the workspace typeID. More...
 
size_t insertRow (size_t index) override
 Inserts a row before row pointed to by index and fills it with default vales. More...
 
API::LogManager_sptr logs () override
 Get access to shared pointer containing workspace porperties. More...
 
TableWorkspaceoperator= (const TableWorkspace &other)=delete
 
void removeColumn (const std::string &name) override
 Removes a column. More...
 
void removeRow (size_t index) override
 Delets a row if it exists. More...
 
size_t rowCount () const override
 Number of rows in the workspace. More...
 
void setRowCount (size_t count) override
 Resizes the workspace. More...
 
void sort (std::vector< std::pair< std::string, bool > > &criteria) override
 Sort this table. More...
 
 TableWorkspace (size_t nrows=0)
 Constructor. More...
 
- Public Member Functions inherited from Mantid::API::ITableWorkspace
virtual Column_sptr addColumn (const std::string &type, const std::string &name)=0
 Creates a new column. More...
 
virtual bool addColumns (const std::string &type, const std::string &name, size_t n)
 Creates n new columns of the same type. More...
 
TableRowHelper appendRow ()
 Appends a row. More...
 
BooleanBool (size_t row, size_t col)
 Get the reference to the element in row row and column col if its type is bool. More...
 
template<class T >
T & cell (size_t row, size_t col)
 Get the reference to the element in row row and column col. More...
 
ITableWorkspace_uptr clone () const
 Returns a clone of the workspace. More...
 
ITableWorkspace_uptr cloneColumns (const std::vector< std::string > &colNames) const
 Returns a clone of the workspace. More...
 
ITableWorkspace_uptr cloneEmpty () const
 Returns a default-initialized clone of the workspace. More...
 
virtual size_t columnCount () const =0
 Number of columns in the workspace. More...
 
virtual bool customSort () const
 Does this type of TableWorkspace need a custom sorting call (e.g. More...
 
double & Double (size_t row, size_t col)
 Get the reference to the element in row row and column col if its type is double. More...
 
virtual void find (API::Boolean value, size_t &row, size_t col)=0
 find method to get the index of API::Boolean value cell in a table workspace More...
 
virtual void find (const Mantid::Kernel::V3D &value, size_t &row, size_t col)=0
 find method to get the index of Mantid::Kernel::V3D cell value in a table workspace More...
 
virtual void find (const std::string &value, size_t &row, size_t col)=0
 find method to get the index of cellstd::string value in a table workspace More...
 
virtual void find (double value, size_t &row, size_t col)=0
 find method to get the index of double cell value in a table workspace More...
 
virtual void find (float value, size_t &row, size_t col)=0
 find method to get the index of float cell value in a table workspace More...
 
virtual void find (size_t value, size_t &row, size_t col)=0
 find method to get the index of integer cell value in a table workspace More...
 
virtual Column_const_sptr getColumn (const std::string &name) const =0
 Gets the shared pointer to a column by name. More...
 
virtual Column_sptr getColumn (const std::string &name)=0
 Gets the shared pointer to a column by name. More...
 
virtual Column_const_sptr getColumn (size_t index) const =0
 Gets the shared pointer to a column by index - return none-modifyable column. More...
 
virtual Column_sptr getColumn (size_t index)=0
 Gets the shared pointer to a column by index. More...
 
virtual std::vector< std::string > getColumnNames () const =0
 Returns a vector of all column names. More...
 
TableRowHelper getFirstRow ()
 Creates a TableRow object for the first row (row == 0). More...
 
virtual API::LogManager_const_sptr getLogs () const =0
 Get constant access to shared pointer containing workspace properties. More...
 
template<class T >
T & getRef (const std::string &name, size_t index)
 Get a reference to a data element. More...
 
TableRowHelper getRow (size_t row)
 Creates a TableRow object for row row. More...
 
TableColumnHelper getVector (const std::string &name)
 Access the column with name name trough a ColumnVector object. More...
 
TableConstColumnHelper getVector (const std::string &name) const
 Access the column with name name trough a ColumnVector object. More...
 
const std::string id () const override
 Return the workspace typeID. More...
 
virtual size_t insertRow (size_t index)=0
 Inserts a row before row pointed to by index and fills it with default vales. More...
 
int & Int (size_t row, size_t col)
 Get the reference to the element in row row and column col if its type is int. More...
 
 ITableWorkspace ()
 Constructor. More...
 
virtual API::LogManager_sptr logs ()=0
 Get access to shared pointer containing workspace properties. More...
 
void modified ()
 If the workspace is the AnalysisDataService sends AfterReplaceNotification. More...
 
ITableWorkspaceoperator= (const ITableWorkspace &)=delete
 
virtual void removeColumn (const std::string &name)=0
 Removes a column. More...
 
virtual void removeRow (size_t index)=0
 Delets a row if it exists. More...
 
virtual size_t rowCount () const =0
 Number of rows in the workspace. More...
 
virtual void setRowCount (size_t count)=0
 Resizes the workspace. More...
 
virtual void sort (std::vector< std::pair< std::string, bool > > &criteria)
 Overridable method to custom-sort the workspace. More...
 
std::string & String (size_t row, size_t col)
 Get the reference to the element in row row and column col if its type is std::string. More...
 
const std::string toString () const override
 Serializes the object to a string. 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 WorkspaceHistorygetHistory () 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...
 
WorkspaceHistoryhistory ()
 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
 
Workspaceoperator= (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...
 
void readLock ()
 Acquires a read lock. More...
 
void unlock ()
 

Static Public Member Functions

static bool isMementoWorkspace (const Mantid::API::ITableWorkspace &candidate)
 Determines whether a given table workspace has columns in the same order, and exactly matching those for the MementoTableWorkspace schema. More...
 

Protected Member Functions

 MementoTableWorkspace (const MementoTableWorkspace &)=default
 Protected copy constructor. May be used by childs for cloning. More...
 
- Protected Member Functions inherited from Mantid::DataObjects::TableWorkspace
 TableWorkspace (const TableWorkspace &other)
 Protected copy constructor. May be used by childs for cloning. More...
 
- Protected Member Functions inherited from Mantid::API::ITableWorkspace
void insertInColumn (Column *c, size_t index)
 Insert a new element into a column. More...
 
 ITableWorkspace (const ITableWorkspace &)=default
 Protected copy constructor. May be used by childs for cloning. More...
 
void removeFromColumn (Column *c, size_t index)
 Remove an element from a column. More...
 
void resizeColumn (Column *c, size_t size)
 Resize a column. 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...
 

Private Member Functions

MementoTableWorkspacedoClone () const override
 Virtual clone method. Not implemented to force implementation in children. More...
 
MementoTableWorkspacedoCloneEmpty () const override
 Virtual cloneEmpty method. More...
 

Static Private Member Functions

static bool expectedColumn (const Mantid::API::Column_const_sptr &expected, const Mantid::API::Column_const_sptr &candidate)
 Determines whether the provided column has the same name and type as expected. More...
 

Detailed Description

Variation on the TableWorkspace with a set of pre-defined columns used to store diffs on Workspaces.

Author
Owen Arnold
Date
31/08/2011

Definition at line 22 of file MementoTableWorkspace.h.

Constructor & Destructor Documentation

◆ MementoTableWorkspace() [1/2]

Mantid::DataObjects::MementoTableWorkspace::MementoTableWorkspace ( int  nRows = 0)

Constructor.

Definition at line 57 of file MementoTableWorkspace.cpp.

References Mantid::DataObjects::TableWorkspace::addColumn().

◆ MementoTableWorkspace() [2/2]

Mantid::DataObjects::MementoTableWorkspace::MementoTableWorkspace ( const MementoTableWorkspace )
protecteddefault

Protected copy constructor. May be used by childs for cloning.

Member Function Documentation

◆ clone()

std::unique_ptr< MementoTableWorkspace > Mantid::DataObjects::MementoTableWorkspace::clone ( ) const
inline

Returns a clone of the workspace.

Definition at line 29 of file MementoTableWorkspace.h.

◆ cloneEmpty()

std::unique_ptr< MementoTableWorkspace > Mantid::DataObjects::MementoTableWorkspace::cloneEmpty ( ) const
inline

Returns a default-initialized clone of the workspace.

Definition at line 32 of file MementoTableWorkspace.h.

◆ doClone()

MementoTableWorkspace * Mantid::DataObjects::MementoTableWorkspace::doClone ( ) const
inlineoverrideprivatevirtual

Virtual clone method. Not implemented to force implementation in children.

Reimplemented from Mantid::API::ITableWorkspace.

Definition at line 41 of file MementoTableWorkspace.h.

◆ doCloneEmpty()

MementoTableWorkspace * Mantid::DataObjects::MementoTableWorkspace::doCloneEmpty ( ) const
inlineoverrideprivatevirtual

Virtual cloneEmpty method.

Not implemented to force implementation in children.

Implements Mantid::API::ITableWorkspace.

Definition at line 43 of file MementoTableWorkspace.h.

◆ expectedColumn()

bool Mantid::DataObjects::MementoTableWorkspace::expectedColumn ( const Mantid::API::Column_const_sptr expected,
const Mantid::API::Column_const_sptr candidate 
)
staticprivate

Determines whether the provided column has the same name and type as expected.

Parameters
expected: expected column name
candidate: ref to column to check
Returns
true if all expectations are met.

Definition at line 23 of file MementoTableWorkspace.cpp.

Referenced by isMementoWorkspace().

◆ isMementoWorkspace()

bool Mantid::DataObjects::MementoTableWorkspace::isMementoWorkspace ( const Mantid::API::ITableWorkspace candidate)
static

Determines whether a given table workspace has columns in the same order, and exactly matching those for the MementoTableWorkspace schema.

Parameters
candidate: ref to workspace to treat as a candidate for being a memento table workspace.
Returns
true if it is a MementoTableWorkspace.

Definition at line 42 of file MementoTableWorkspace.cpp.

References Mantid::API::ITableWorkspace::columnCount(), Mantid::DataObjects::TableWorkspace::columnCount(), expectedColumn(), Mantid::DataObjects::TableWorkspace::getColumn(), and Mantid::API::ITableWorkspace::getColumn().

◆ operator=()

MementoTableWorkspace & Mantid::DataObjects::MementoTableWorkspace::operator= ( const MementoTableWorkspace )
delete

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