12#include "MantidAlgorithms/DllConfig.h"
16#include <boost/optional.hpp>
22namespace HistogramData {
51namespace MergeRunsParameter {
53static const std::string
SUM_MERGE =
"sample_logs_sum";
65 const std::string
name()
const override {
return "MergeRuns"; }
67 const std::string
summary()
const override {
68 return "Combines the data contained in an arbitrary number of input "
73 int version()
const override {
return 1; }
74 const std::vector<std::string>
seeAlso()
const override {
return {
"ConjoinWorkspaces"}; }
76 const std::string
category()
const override {
return "Transforms\\Merging"; }
78 bool useCustomInputPropertyName()
const override;
83 void fillHistory()
override;
90 void execHistogram(
const std::vector<std::string> &inputs);
91 void buildAdditionTables();
93 std::string fetchInputPropertyName()
const override;
110 for (
auto inWS = workspaces.begin(); inWS != workspaces.end(); ++inWS) {
111 outWS->history().addHistory((*inWS)->getHistory());
114 outWS->history().addHistory(m_history);
117 else if (isRecordingHistoryForChild() && m_parentHistory) {
118 m_parentHistory->addChildHistory(m_history);
124 bool validateInputsForEventWorkspaces(
const std::vector<std::string> &inputWorkspaces);
125 boost::optional<std::vector<double>> checkRebinning();
126 static std::vector<double> calculateRebinParams(
const std::vector<double> &bins1,
const std::vector<double> &bins2);
127 static void noOverlapParams(
const HistogramData::HistogramX &X1,
const HistogramData::HistogramX &X2,
128 std::vector<double> ¶ms);
129 static void intersectionParams(
const HistogramData::HistogramX &X1,
size_t &i,
const HistogramData::HistogramX &X2,
130 std::vector<double> ¶ms);
131 static void inclusionParams(
const HistogramData::HistogramX &X1,
size_t &i,
const HistogramData::HistogramX &X2,
132 std::vector<double> ¶ms);
140 std::vector<Mantid::DataObjects::EventWorkspace_sptr>
m_inEventWS;
146 size_t m_outputSize = 0;
148 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.