70 const std::string
name()
const override {
return "LeBailFit"; }
72 const std::string
summary()
const override {
return "Do LeBail Fit to a spectrum of powder diffraction data. "; }
75 int version()
const override {
return 1; }
76 const std::vector<std::string>
seeAlso()
const override {
return {
"CreateLeBailFitInput",
"FitPowderDiffPeaks"}; }
79 const std::string
category()
const override {
return "Diffraction\\Fitting"; }
88 void processInputProperties();
92 void execPatternCalculation();
95 void execRefineBackground();
99 void createLeBailFunction();
105 void processInputBackground();
110 std::vector<double> &allpeaksvalues);
114 void parseInstrumentParametersTable();
117 void parseBraggPeaksParametersTable();
121 std::vector<std::string> &bkgdparnames, std::vector<double> &bkgdorderparams);
124 void exportBraggPeakParameterToTable();
127 void exportInstrumentParameterToTable(
const std::map<std::string, Parameter> ¶mmap);
130 void createOutputDataWorkspace();
134 void execRandomWalkMinimizer(
size_t maxcycles, std::map<std::string, Parameter> ¶mmap);
137 void doMarkovChain(
const std::map<std::string, Parameter> ¶mmap,
const Mantid::HistogramData::HistogramX &vecX,
138 const Mantid::HistogramData::HistogramY &vecPurePeak,
const std::vector<double> &vecBkgd,
142 void setupBuiltInRandomWalkStrategy();
147 void addParameterToMCMinimize(std::vector<std::string> &parnamesforMC,
const std::string &parname);
150 bool calculateDiffractionPattern(
const Mantid::HistogramData::HistogramX &vecX,
151 const Mantid::HistogramData::HistogramY &vecY,
bool inputraw,
bool outputwithbkgd,
152 const Mantid::HistogramData::HistogramY &vecBkgd, std::vector<double> &values,
159 bool proposeNewValues(
const std::vector<std::string> &mcgroup,
Kernel::Rfactor r,
160 std::map<std::string, Parameter> &curparammap, std::map<std::string, Parameter> &newparammap,
164 double limitProposedValueInBound(
const Parameter ¶m,
double newvalue,
double direction,
int choice);
167 void bookKeepBestMCResult(
const std::map<std::string, Parameter> ¶mmap,
const std::vector<double> &bkgddata,
171 void applyParameterValues(
const std::map<std::string, Parameter> &srcparammap,
172 std::map<std::string, Parameter> &tgtparammap);
175 void storeBackgroundParameters(std::vector<double> &bkgdparamvec);
179 void recoverBackgroundParameters(
const std::vector<double> &bkgdparamvec);
182 void proposeNewBackgroundValues();
211 std::map<std::string, double> convertToDoubleMap(std::map<std::string, Parameter> &inmap);
268 enum { RANDOMWALK, DRUNKENWALK } m_walkStyle;