10#include "MantidDataHandling/DllConfig.h"
11#include "MantidHistogramData/Histogram.h"
17namespace DataHandling {
38 const std::string name()
const override;
39 const std::string summary()
const override;
40 int version()
const override;
41 const std::vector<std::string>
seeAlso()
const override {
return {
"LoadSESANS"}; }
42 const std::string category()
const override;
43 std::map<std::string, std::string> validateInputs()
override;
48 const int MAX_HDR_LENGTH = 23;
51 const std::vector<std::string> fileExtensions{
".ses",
".SES",
".sesans",
".SESANS"};
52 const std::vector<std::string> mandatoryDoubleProperties{
"ThetaZMax",
"ThetaYMax",
"EchoConstant"};
59 void writeHeader(std::ofstream &outfile,
const std::string &name,
const std::string &
value);
61 std::vector<double> calculateSpinEchoLength(
const HistogramData::Points &wavelength)
const;
62 std::vector<double> calculateDepolarisation(
const HistogramData::HistogramY &yValues,
63 const HistogramData::Points &wavelength)
const;
64 Mantid::MantidVec calculateError(
const HistogramData::HistogramE &eValues,
const HistogramData::HistogramY &yValues,
65 const HistogramData::Points &wavelength)
const;
const int64_t TOLERANCE(1000000)
double value
The value of the point.
Base class from which all concrete algorithm classes should be derived.
SaveSESANS : Save a workspace in the SESANS file format.
const std::vector< std::string > seeAlso() const override
Function to return all of the seeAlso (these are not validated) algorithms related to this algorithm....
std::shared_ptr< const MatrixWorkspace > MatrixWorkspace_const_sptr
shared pointer to the matrix workspace base class (const version)
Helper class which provides the Collimation Length for SANS instruments.
std::vector< double > MantidVec
typedef for the data storage used in Mantid matrix workspaces
constexpr double EMPTY_DBL() noexcept
Returns what we consider an "empty" double within a property.