42 const std::string
name()
const override;
43 int version()
const override;
44 const std::string category()
const override;
45 const std::string summary()
const override;
52 double getAttribute(
const std::string &attrString)
const;
55 std::unordered_map<std::string, Kernel::IValidator_sptr>
m_validators;
57 size_t m_specCount = -1;
62 bool m_createIntermediateWorkspaces =
false;
63 bool m_findHighestDatapointInPeak =
false;
64 double m_iOverSigmaThreshold = 3.0;
65 bool m_mergeNearbyPeaks =
true;
66 bool m_centreBins =
true;
74 void initiateValidators();
75 std::pair<std::string, int> secondaryValidation()
const;
76 const std::string validatePeakExtentInput()
const;
77 const std::string validateWorkspaceIndexInput()
const;
78 void storeClassProperties();
80 void performConvolution(
const size_t dataIndex);
81 Tensor1D createKernel(
const int binCount)
const;
82 Tensor1D createSmoothKernel(
const size_t kernelSize)
const;
83 std::pair<size_t, bool> getKernelBinCount(
const HistogramData::HistogramX *xData)
const;
84 double getXDataValue(
const HistogramData::HistogramX *xData,
const size_t xIndex)
const;
85 Eigen::VectorXd centreBinsXData(
const HistogramData::HistogramX *xData)
const;
86 void extractPeaks(
const size_t dataIndex,
const Tensor1D &iOverSigma,
const HistogramData::HistogramX *xData,
88 size_t findPeakInRawData(
const int xIndex,
const TensorMap_const &yData,
size_t peakExtentBinNumber);
89 void storePeakResults(
const size_t dataIndex, std::vector<FindPeaksConvolve::PeakResult> &peakCentres);
90 void generateNormalPDF(
const int peakExtentBinNumber);
91 std::vector<std::string> createIntermediateWorkspaces(
const size_t dataIndex,
const Tensor1D &kernel,
93 const HistogramData::HistogramX *xData);
94 void outputIntermediateWorkspace(
const std::string &wsName,
const std::vector<double> &xData,
95 const std::vector<double> &yData);
98 std::unordered_map<std::string, API::ITableWorkspace_sptr>
99 createOutputTables(
const std::vector<std::string> &outputTblNames);
100 std::string populateOutputWorkspaces(
const std::vector<std::string> &outputTblNames,
101 const std::unordered_map<std::string, API::ITableWorkspace_sptr> &outputTbls);
103 const std::vector<std::string> &outputTblNames);