12#include "MantidAlgorithms/DllConfig.h"
23namespace HistogramData {
52namespace MergeRunsParameter {
54static const std::string
SUM_MERGE =
"sample_logs_sum";
66 const std::string
name()
const override {
return "MergeRuns"; }
68 const std::string
summary()
const override {
69 return "Combines the data contained in an arbitrary number of input "
74 int version()
const override {
return 1; }
75 const std::vector<std::string>
seeAlso()
const override {
return {
"ConjoinWorkspaces"}; }
77 const std::string
category()
const override {
return "Transforms\\Merging"; }
79 bool useCustomInputPropertyName()
const override;
84 void fillHistory()
override;
91 void execHistogram(
const std::vector<std::string> &inputs);
92 void buildAdditionTables();
94 std::string fetchInputPropertyName()
const override;
111 for (
auto inWS = workspaces.begin(); inWS != workspaces.end(); ++inWS) {
112 outWS->history().addHistory((*inWS)->getHistory());
115 outWS->history().addHistory(m_history);
118 else if (isRecordingHistoryForChild() && m_parentHistory) {
119 m_parentHistory->addChildHistory(m_history);
125 bool validateInputsForEventWorkspaces(
const std::vector<std::string> &inputWorkspaces);
126 std::optional<std::vector<double>> checkRebinning();
127 static std::vector<double> calculateRebinParams(
const std::vector<double> &bins1,
const std::vector<double> &bins2);
128 static void noOverlapParams(
const HistogramData::HistogramX &X1,
const HistogramData::HistogramX &X2,
129 std::vector<double> ¶ms);
130 static void intersectionParams(
const HistogramData::HistogramX &X1,
size_t &i,
const HistogramData::HistogramX &X2,
131 std::vector<double> ¶ms);
132 static void inclusionParams(
const HistogramData::HistogramX &X1,
size_t &i,
const HistogramData::HistogramX &X2,
133 std::vector<double> ¶ms);
141 std::vector<Mantid::DataObjects::EventWorkspace_sptr>
m_inEventWS;
147 size_t m_outputSize = 0;
149 std::vector<SpectrumDefinition> buildScanIntervals(
const std::vector<SpectrumDefinition> &addeeSpecDefs,
IPeaksWorkspace_sptr workspace
std::map< std::string, std::string > validateInputs() override
Perform validation of ALL the input properties of the algorithm.
MutliPeriodGroupAlgorithm : Abstract algorithm.
const std::string name() const override
Algorithm's name for identification overriding a virtual method.
const std::string category() const override
Algorithm's category for identification overriding a virtual method.
void copyHistoryFromInputWorkspaces(const Container &workspaces)
Copy the history from the input workspaces to the output workspaces.
std::vector< Mantid::DataObjects::EventWorkspace_sptr > m_inEventWS
List of input EVENT workspaces.
std::unique_ptr< API::Progress > m_progress
Progress reporting.
int version() const override
Algorithm's version for identification overriding a virtual method.
const std::string summary() const override
Summary of algorithms purpose.
std::vector< AdditionTable > m_tables
Addition tables for event workspaces.
const std::vector< std::string > seeAlso() const override
Function to return all of the seeAlso algorithms related to this algorithm.
std::list< API::MatrixWorkspace_sptr > m_inMatrixWS
List of input matrix workspace.
std::vector< std::pair< int, int > > AdditionTable
An addition table is a list of pairs: First int = workspace index in the EW being added,...
Models a Container is used to hold a sample in the beam.
Geometry::DetectorInfo is an intermediate step towards a DetectorInfo that is part of Instrument-2....
std::shared_ptr< Workspace > Workspace_sptr
shared pointer to Mantid::API::Workspace
std::shared_ptr< MatrixWorkspace > MatrixWorkspace_sptr
shared pointer to the matrix workspace base class
static const std::string FAIL_MERGE_TOLERANCES
static const std::string WARN_MERGE_TOLERANCES
static const std::string WARN_MERGE
static const std::string FAIL_MERGE
static const std::string SUM_MERGE
MergeRuns parameter names of the paramter file for sample log merging.
static const std::string TIME_SERIES_MERGE
static const std::string LIST_MERGE
Helper class which provides the Collimation Length for SANS instruments.