12#include "MantidMDAlgorithms/DllConfig.h"
19class IMDHistoWorkspace;
22namespace MDAlgorithms {
27 std::vector<double> &psi, std::vector<double> &gl,
28 std::vector<double> &gs, std::vector<double> &efix);
31bool MANTID_MDALGORITHMS_DLL
dataExists(
const std::string &data_name);
35std::string MANTID_MDALGORITHMS_DLL
filterToNew(std::vector<std::string> &input_data,
36 std::vector<std::string> ¤t_data, std::vector<double> &psi,
37 std::vector<double> &gl, std::vector<double> &gs,
38 std::vector<double> &efix);
42bool appearsInCurrentData(
const std::string &data_source, std::vector<std::string> ¤t_data);
47 const std::string &create_alg_name,
48 const std::string &accumulate_alg_name);
53 std::unordered_set<std::string> &historical_data_sources);
59extern void MANTID_MDALGORITHMS_DLL
padParameterVector(std::vector<double> ¶m_vector,
const size_t grow_to_size);
65 const std::string name()
const override;
66 int version()
const override;
67 const std::vector<std::string>
seeAlso()
const override {
return {
"MergeMD"}; }
68 const std::string category()
const override;
69 const std::string summary()
const override;
77 const std::vector<double> &psi,
const std::vector<double> &gl,
78 const std::vector<double> &gs,
const std::vector<double> &efix,
79 const std::string &filename,
const bool filebackend);
81 std::map<std::string, std::string> validateInputs()
override;
Data processor algorithm to be used as a parent to workflow algorithms.
This class stores information about the Workspace History used by algorithms on a workspace and the e...
AccumulateMD : Algorithm for appending new data to a MDHistoWorkspace.
const std::vector< std::string > seeAlso() const override
std::shared_ptr< IMDEventWorkspace > IMDEventWorkspace_sptr
Shared pointer to Mantid::API::IMDEventWorkspace.
void MANTID_MDALGORITHMS_DLL insertDataSources(const std::string &data_sources, std::unordered_set< std::string > &historical_data_sources)
Extract names of data sources from workspace history and form a set of historical data sources.
std::string MANTID_MDALGORITHMS_DLL filterToNew(std::vector< std::string > &input_data, std::vector< std::string > ¤t_data, std::vector< double > &psi, std::vector< double > &gl, std::vector< double > &gs, std::vector< double > &efix)
Reduce the vector of input data to only data files and workspaces which are not found in the vector o...
void MANTID_MDALGORITHMS_DLL padParameterVector(std::vector< double > ¶m_vector, const size_t grow_to_size)
Pad vector of parameters to given length.
bool MANTID_MDALGORITHMS_DLL dataExists(const std::string &data_name)
Check if the named data source is an existing workspace or file.
bool fileExists(const std::string &filename)
Test if a file with the given full path name exists.
bool appearsInCurrentData(const std::string &data_source, std::vector< std::string > ¤t_data)
Check if the named data source is in the vector of data currently in the workspace.
std::vector< std::string > getHistoricalDataSources(const API::WorkspaceHistory &ws_history, const std::string &create_alg_name, const std::string &accumulate_alg_name)
Return a vector of the names of files and workspaces which have been previously added to the workspac...
std::string MANTID_MDALGORITHMS_DLL filterToExistingSources(std::vector< std::string > &input_data, std::vector< double > &psi, std::vector< double > &gl, std::vector< double > &gs, std::vector< double > &efix)
Reduce the vector of input data to only data files and workspaces which can be found.
Helper class which provides the Collimation Length for SANS instruments.