Mantid
Loading...
Searching...
No Matches
CalculateCarpenterSampleCorrection.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2018 ISIS Rutherford Appleton Laboratory UKRI,
4// NScD Oak Ridge National Laboratory, European Spallation Source,
5// Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
6// SPDX - License - Identifier: GPL - 3.0 +
7#pragma once
8
10#include "MantidAlgorithms/DllConfig.h"
11#include "MantidHistogramData/Points.h"
12#include <vector>
13
14namespace Mantid {
15namespace Algorithms {
22public:
24 const std::string name() const override;
25
27 int version() const override;
28 const std::vector<std::string> seeAlso() const override {
29 return {"CarpenterSampleCorrection", "CylinderAbsorption", "MonteCarloAbsorption",
30 "MayersSampleCorrection", "PearlMCAbsorption", "VesuvioCalculateMS"};
31 }
32
34 const std::string category() const override;
35
37 const std::string summary() const override {
38 return "Calculates both absorption and multiple scattering corrections, "
39 "originally used to correct vanadium spectrum at IPNS.";
40 }
41
42private:
43 // Overridden Algorithm methods
44 void init() override;
45 void exec() override;
46
48 void calculate_abs_correction(const double angle_deg, const double radius, const double coeff1, const double coeff2,
49 const double coeff3, const HistogramData::Points &wavelength,
50 HistogramData::HistogramY &y_val);
51
52 void calculate_ms_correction(const double angle_deg, const double radius, const double coeff1, const double coeff2,
53 const double coeff3, const HistogramData::Points &wavelength,
54 HistogramData::HistogramY &y_val);
55
56 API::MatrixWorkspace_sptr createOutputWorkspace(const API::MatrixWorkspace_sptr &inputWS, const std::string &) const;
57 void deleteWorkspace(const API::MatrixWorkspace_sptr &workspace);
59};
60
61} // namespace Algorithms
62} // namespace Mantid
IPeaksWorkspace_sptr workspace
Definition: IndexPeaks.cpp:114
double radius
Definition: Rasterize.cpp:31
Data processor algorithm to be used as a parent to workflow algorithms.
Multiple scattering absorption correction, originally used to correct vanadium spectrum at IPNS.
const std::string summary() const override
Summary of algorithms purpose.
const std::vector< std::string > seeAlso() const override
std::shared_ptr< MatrixWorkspace > MatrixWorkspace_sptr
shared pointer to the matrix workspace base class
Helper class which provides the Collimation Length for SANS instruments.