10#include "MantidDataHandling/DllConfig.h"
21namespace DataHandling {
29 const std::string
name()
const override {
return "LoadFullprofResolution"; }
32 int version()
const override {
return 1; }
33 const std::vector<std::string>
seeAlso()
const override {
return {
"LoadFullprofFile"}; }
36 const std::string
category()
const override {
return "Diffraction\\DataHandling"; }
38 const std::string
summary()
const override {
39 return "Load Fullprof's resolution (.irf) file to one or multiple "
40 "TableWorkspace(s) and/or where this is supported."
41 " See description section, translate fullprof resolution fitting "
42 "parameter into Mantid equivalent fitting parameters.";
50 std::string ¶meterXMLString);
53 static void addALFBEParameter(
const API::Column_const_sptr &, Poco::XML::Document *mDoc, Poco::XML::Element *parent,
54 const std::string ¶mName);
57 static void addSigmaParameters(
const API::Column_const_sptr &, Poco::XML::Document *mDoc, Poco::XML::Element *parent);
60 static void addGammaParameters(
const API::Column_const_sptr &, Poco::XML::Document *mDoc, Poco::XML::Element *parent);
64 Poco::XML::Element *parent);
68 Poco::XML::Element *parent);
72 Poco::XML::Element *parent);
82 static std::string getXMLParameterName(
const std::string &name);
85 static void createBankToWorkspaceMap(
const std::vector<int> &banks,
const std::vector<int> &workspaces,
86 std::map<int, size_t> &workspaceOfBank);
98 void loadFile(
const std::string &filename, std::vector<std::string> &lines);
101 int getProfNumber(
const std::vector<std::string> &lines);
104 void scanBanks(
const std::vector<std::string> &lines,
const bool useFileBankIDs, std::vector<int> &banks,
105 std::map<int, int> &bankstartindexmap, std::map<int, int> &bankendindexmap);
108 void parseResolutionStrings(std::map<std::string, double> ¶mmap,
const std::vector<std::string> &lines,
109 const bool useFileBankIDs,
int bankid,
int startlineindex,
int endlineindex,
112 void parseBankLine(std::string line,
double &cwl,
int &bankid);
124 double parseDoubleValue(
const std::string &
value,
const std::string &label = std::string());
double value
The value of the point.
Base class from which all concrete algorithm classes should be derived.
LoadFullprofResolution : Load Fullprof resolution (.irf) file to TableWorkspace(s)
const std::string summary() const override
Summary of algorithms purpose.
void parseProfile9()
Parse 1 bank of lines of profile 9.
const std::string name() const override
Algorithm's name for identification overriding a virtual method.
void parseProfile10()
Parse 1 bank of lines of profile 10.
const std::string category() const override
Algorithm's category for identification overriding a virtual method.
const std::vector< std::string > seeAlso() const override
Function to return all of the seeAlso (these are not validated) algorithms related to this algorithm....
int searchProfile()
Search token for profile number.
int version() const override
Algorithm's version for identification overriding a virtual method.
static std::map< std::string, size_t > m_rowNumbers
Place to store the row numbers.
std::shared_ptr< ITableWorkspace > ITableWorkspace_sptr
shared pointer to Mantid::API::ITableWorkspace
std::shared_ptr< const Column > Column_const_sptr
std::shared_ptr< MatrixWorkspace > MatrixWorkspace_sptr
shared pointer to the matrix workspace base class
std::shared_ptr< TableWorkspace > TableWorkspace_sptr
shared pointer to Mantid::DataObjects::TableWorkspace
Helper class which provides the Collimation Length for SANS instruments.