Mantid
|
#include <LeBailFit.h>
Public Types | |
enum | FunctionMode { CALCULATION , FIT , BACKGROUNDPROCESS , MONTECARLO } |
Enumerate. More... | |
Public Types inherited from Mantid::API::Algorithm | |
using | WorkspaceVector = std::vector< std::shared_ptr< Workspace > > |
Public Member Functions | |
const std::string | category () const override |
Algorithm's category for identification overriding a virtual method. More... | |
LeBailFit () | |
Constructor. More... | |
const std::string | name () const override |
Algorithm's name for identification overriding a virtual method. More... | |
const std::vector< std::string > | seeAlso () const override |
Function to return all of the seeAlso (these are not validated) algorithms related to this algorithm.A default implementation is provided. More... | |
const std::string | summary () const override |
Summary of algorithms purpose. More... | |
int | version () const override |
Algorithm's version for identification overriding a virtual method. More... | |
Public Member Functions inherited from Mantid::API::Algorithm | |
Algorithm () | |
Constructor. More... | |
Algorithm (const Algorithm &)=delete | |
Algorithm & | operator= (const Algorithm &)=delete |
~Algorithm () override | |
Virtual destructor. More... | |
void | initialize () override |
Initialization method invoked by the framework. More... | |
bool | execute () override final |
The actions to be performed by the algorithm on a dataset. More... | |
void | addTimer (const std::string &name, const Kernel::time_point_ns &begin, const Kernel::time_point_ns &end) |
void | executeAsChildAlg () override |
Execute as a Child Algorithm. More... | |
std::map< std::string, std::string > | validateInputs () override |
Perform validation of ALL the input properties of the algorithm. More... | |
ExecutionState | executionState () const override |
Gets the current execution state. More... | |
ResultState | resultState () const override |
Gets the current result State. More... | |
bool | isInitialized () const override |
Has the Algorithm already been initialized. More... | |
bool | isExecuted () const override |
Has the Algorithm already been executed successfully. More... | |
bool | isRunning () const override |
True if the algorithm is running. More... | |
bool | isReadyForGarbageCollection () const override |
True if the algorithm is ready for garbage collection. More... | |
bool | isChild () const override |
To query whether algorithm is a child. More... | |
void | setChild (const bool isChild) override |
To set whether algorithm is a child. More... | |
void | enableHistoryRecordingForChild (const bool on) override |
Change the state of the history recording flag. More... | |
bool | isRecordingHistoryForChild () |
void | setAlwaysStoreInADS (const bool doStore) override |
Do we ALWAYS store in the AnalysisDataService? This is set to true for python algorithms' child algorithms. More... | |
bool | getAlwaysStoreInADS () const override |
Returns true if we always store in the AnalysisDataService. More... | |
void | setRethrows (const bool rethrow) override |
Set whether the algorithm will rethrow exceptions. More... | |
Poco::ActiveResult< bool > | executeAsync () override |
Asynchronous execution. More... | |
void | addObserver (const Poco::AbstractObserver &observer) const override |
Add an observer for a notification. More... | |
void | removeObserver (const Poco::AbstractObserver &observer) const override |
Remove an observer. More... | |
void | cancel () override |
Raises the cancel flag. More... | |
bool | getCancel () const |
Returns the cancellation state. More... | |
Kernel::Logger & | getLogger () const |
Returns a reference to the logger. More... | |
void | setLogging (const bool value) override |
Logging can be disabled by passing a value of false. More... | |
bool | isLogging () const override |
returns the status of logging, True = enabled More... | |
void | setLoggingOffset (const int value) override |
gets the logging priority offset More... | |
int | getLoggingOffset () const override |
returns the logging priority offset More... | |
void | setAlgStartupLogging (const bool enabled) override |
disable Logging of start and end messages More... | |
bool | getAlgStartupLogging () const override |
get the state of Logging of start and end messages More... | |
void | setChildStartProgress (const double startProgress) const override |
setting the child start progress More... | |
void | setChildEndProgress (const double endProgress) const override |
setting the child end progress More... | |
std::string | toString () const override |
Serialize an object to a string. More... | |
::Json::Value | toJson () const override |
Serialize an object to a json object. More... | |
virtual std::shared_ptr< Algorithm > | createChildAlgorithm (const std::string &name, const double startProgress=-1., const double endProgress=-1., const bool enableLogging=true, const int &version=-1) |
Create a Child Algorithm. More... | |
void | setupAsChildAlgorithm (const Algorithm_sptr &algorithm, const double startProgress=-1., const double endProgress=-1., const bool enableLogging=true) |
Setup algorithm as child algorithm. More... | |
void | trackAlgorithmHistory (std::shared_ptr< AlgorithmHistory > parentHist) |
set whether we wish to track the child algorithm's history and pass it the parent object to fill. More... | |
void | findWorkspaces (WorkspaceVector &workspaces, unsigned int direction, bool checkADS=false) const |
Populate lists of the workspace properties for a given direction (InOut workspaces are included in both input/output) More... | |
virtual bool | checkGroups () |
Check the input workspace properties for groups. More... | |
virtual bool | processGroups () |
Process WorkspaceGroup inputs. More... | |
void | copyNonWorkspaceProperties (IAlgorithm *alg, int periodNum) |
Copy all the non-workspace properties from this to alg. More... | |
const Parallel::Communicator & | communicator () const |
Returns a const reference to the (MPI) communicator of the algorithm. More... | |
void | setCommunicator (const Parallel::Communicator &communicator) |
Sets the (MPI) communicator of the algorithm. More... | |
void | declareProperty (std::unique_ptr< Kernel::Property > p, const std::string &doc="") override |
Add a property to the list of managed properties. More... | |
void | declareOrReplaceProperty (std::unique_ptr< Kernel::Property > p, const std::string &doc="") override |
Add or replace property in the list of managed properties. More... | |
void | resetProperties () override |
Reset property values back to initial values (blank or default values) More... | |
void | setProperties (const std::string &propertiesJson, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false) override |
Set the ordered list of properties by one string of values, separated by semicolons. More... | |
void | setProperties (const ::Json::Value &jsonValue, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false) override |
Sets all the declared properties from a json object. More... | |
void | setPropertiesWithString (const std::string &propertiesString, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >()) override |
Sets all the declared properties from a string. More... | |
void | setPropertyValue (const std::string &name, const std::string &value) override |
Set the value of a property by string N.B. More... | |
void | setPropertyValueFromJson (const std::string &name, const Json::Value &value) override |
Set the value of a property by Json::Value object. More... | |
void | setPropertyOrdinal (const int &index, const std::string &value) override |
Set the value of a property by an index N.B. More... | |
virtual void | copyPropertiesFrom (const Algorithm &alg) |
Make m_properties point to the same PropertyManager as alg.m_properties. More... | |
bool | existsProperty (const std::string &name) const override |
Checks whether the named property is already in the list of managed property. More... | |
bool | validateProperties () const override |
Validates all the properties in the collection. More... | |
size_t | propertyCount () const override |
Count the number of properties under management. More... | |
std::string | getPropertyValue (const std::string &name) const override |
Get the value of a property as a string. More... | |
const std::vector< Kernel::Property * > & | getProperties () const override |
Get the list of managed properties. More... | |
std::vector< std::string > | getDeclaredPropertyNames () const noexcept override |
Return the list of declared property names. More... | |
TypedValue | getProperty (const std::string &name) const override |
Get the value of a property. More... | |
std::string | asString (bool withDefaultValues=false) const override |
Return the property manager serialized as a string. More... | |
::Json::Value | asJson (bool withDefaultValues=false) const override |
Return the property manager serialized as a json object. More... | |
bool | isDefault (const std::string &name) const |
void | removeProperty (const std::string &name, const bool delproperty=true) override |
Removes the property from management. More... | |
std::unique_ptr< Kernel::Property > | takeProperty (const size_t index) override |
Removes the property from management and returns a pointer to it. More... | |
void | clear () override |
Clears all properties under management. More... | |
void | afterPropertySet (const std::string &) override |
Override this method to perform a custom action right after a property was set. More... | |
void | filterByTime (const Types::Core::DateAndTime &, const Types::Core::DateAndTime &) override |
void | splitByTime (std::vector< Kernel::SplittingInterval > &, std::vector< Kernel::PropertyManager * >) const override |
void | filterByProperty (const Kernel::TimeSeriesProperty< bool > &, const std::vector< std::string > &) override |
Kernel::Property * | getPointerToProperty (const std::string &name) const override |
Get a property by name. More... | |
Kernel::Property * | getPointerToPropertyOrdinal (const int &index) const override |
Get a property by an index. More... | |
virtual void | declareProperty (std::unique_ptr< Property > p, const std::string &doc="")=0 |
Function to declare properties (i.e. store them) More... | |
template<typename T > | |
void | declareProperty (const std::string &name, T value, IValidator_sptr validator=std::make_shared< NullValidator >(), const std::string &doc="", const unsigned int direction=Direction::Input) |
Add a property of the template type to the list of managed properties. More... | |
template<typename T > | |
void | declareProperty (const std::string &name, T value, const std::string &doc, const unsigned int direction=Direction::Input) |
Add a property to the list of managed properties with no validator. More... | |
template<typename T > | |
void | declareProperty (const std::string &name, T value, const unsigned int direction) |
Add a property of the template type to the list of managed properties. More... | |
void | declareProperty (const std::string &name, const char *value, IValidator_sptr validator=std::make_shared< NullValidator >(), const std::string &doc=std::string(), const unsigned int direction=Direction::Input) |
Specialised version of declareProperty template method to prevent the creation of a PropertyWithValue of type const char* if an argument in quotes is passed (it will be converted to a string). More... | |
void | declareProperty (const std::string &name, const char *value, const std::string &doc, IValidator_sptr validator=std::make_shared< NullValidator >(), const unsigned int direction=Direction::Input) |
Specialised version of declareProperty template method to prevent the creation of a PropertyWithValue of type const char* if an argument in quotes is passed (it will be converted to a string). More... | |
void | declareProperty (const std::string &name, const char *value, const unsigned int direction) |
Add a property of string type to the list of managed properties. More... | |
const std::vector< std::string > | categories () const override |
Function to return all of the categories that contain this algorithm. More... | |
const std::string | categorySeparator () const override |
Function to return the separator token for the category string. More... | |
const std::string | alias () const override |
function to return any aliases to the algorithm; A default implementation is provided More... | |
const std::string | aliasDeprecated () const override |
Expiration date (in ISO8601 format) for the algorithm aliases; default implementation for no expiration date. More... | |
const std::string | helpURL () const override |
function to return URL for algorithm documentation; A default implementation is provided. More... | |
template<typename T , typename = typename std::enable_if<std::is_convertible<T *, MatrixWorkspace *>::value>::type> | |
std::tuple< std::shared_ptr< T >, Indexing::SpectrumIndexSet > | getWorkspaceAndIndices (const std::string &name) const |
template<typename T1 , typename T2 , typename = typename std::enable_if<std::is_convertible<T1 *, MatrixWorkspace *>::value>::type, typename = typename std::enable_if<std::is_convertible<T2 *, std::string *>::value || std::is_convertible<T2 *, std::vector<int64_t> *>::value>::type> | |
void | setWorkspaceInputProperties (const std::string &name, const std::shared_ptr< T1 > &wksp, IndexType type, const T2 &list) |
template<typename T1 , typename T2 , typename = typename std::enable_if<std::is_convertible<T1 *, MatrixWorkspace *>::value>::type, typename = typename std::enable_if<std::is_convertible<T2 *, std::string *>::value || std::is_convertible<T2 *, std::vector<int64_t> *>::value>::type> | |
void | setWorkspaceInputProperties (const std::string &name, const std::string &wsName, IndexType type, const T2 &list) |
const std::string | workspaceMethodName () const override |
const std::vector< std::string > | workspaceMethodOn () const override |
const std::string | workspaceMethodInputProperty () const override |
AlgorithmID | getAlgorithmID () const override |
Algorithm ID. More... | |
virtual void | addObserver (const Poco::AbstractObserver &observer) const =0 |
Add an observer for a notification. More... | |
virtual const std::string | alias () const =0 |
function to return any aliases of the algorithm. More... | |
virtual const std::string | aliasDeprecated () const =0 |
Expiration date (in ISO8601 format) for the algorithm aliases. Empty if no expiration date. More... | |
virtual void | cancel ()=0 |
Raises the cancel flag. More... | |
virtual const std::vector< std::string > | categories () const =0 |
Function to return all of the categories that contain this algorithm. More... | |
virtual const std::string | category () const =0 |
function to return a category of the algorithm. More... | |
virtual const std::string | categorySeparator () const =0 |
Function to return the separator token for the category string. More... | |
virtual void | enableHistoryRecordingForChild (const bool on)=0 |
If true history will be recorded for a child. More... | |
virtual bool | execute ()=0 |
System execution. More... | |
virtual void | executeAsChildAlg ()=0 |
Execute as a Child Algorithm, with try/catch. More... | |
virtual Poco::ActiveResult< bool > | executeAsync ()=0 |
Asynchronous execution of the algorithm. More... | |
virtual ExecutionState | executionState () const =0 |
Gets the current execution state. More... | |
virtual AlgorithmID | getAlgorithmID () const =0 |
Algorithm ID. More... | |
virtual bool | getAlgStartupLogging () const =0 |
get the state of Logging of start and end messages More... | |
virtual bool | getAlwaysStoreInADS () const =0 |
To query whether the output is stored in the analysis data service. More... | |
virtual int | getLoggingOffset () const =0 |
returns the logging priority offset More... | |
virtual const std::string | helpURL () const =0 |
function to return an optional URL for documentation. More... | |
virtual void | initialize ()=0 |
Initialization method invoked by the framework. More... | |
virtual bool | isChild () const =0 |
To query whether algorithm is a child. Default to false. More... | |
virtual bool | isExecuted () const =0 |
Check whether the algorithm has been executed sucessfully. More... | |
virtual bool | isInitialized () const =0 |
Check whether the algorithm is initialized properly. More... | |
virtual bool | isLogging () const =0 |
returns the status of logging, True = enabled More... | |
virtual bool | isReadyForGarbageCollection () const =0 |
True if the algorithm is ready for garbage collection. More... | |
virtual bool | isRunning () const =0 |
True if the algorithm is running. More... | |
virtual const std::string | name () const =0 |
function to return a name of the algorithm, must be overridden in all algorithms More... | |
virtual void | removeObserver (const Poco::AbstractObserver &observer) const =0 |
Remove an observer. More... | |
virtual ResultState | resultState () const =0 |
Gets the currnet result State. More... | |
virtual const std::vector< std::string > | seeAlso () const =0 |
Function to return all of the seeAlso algorithms related to this algorithm. More... | |
virtual void | setAlgStartupLogging (const bool enabled)=0 |
disable Logging of start and end messages More... | |
virtual void | setAlwaysStoreInADS (const bool doStore)=0 |
Set whether we always store the output in the analysis data service. More... | |
virtual void | setChild (const bool isChild)=0 |
To set whether algorithm is a child. More... | |
virtual void | setChildEndProgress (const double endProgress) const =0 |
setting the child end progress More... | |
virtual void | setChildStartProgress (const double startProgress) const =0 |
setting the child start progress More... | |
virtual void | setLogging (const bool value)=0 |
Logging can be disabled by passing a value of false. More... | |
virtual void | setLoggingOffset (const int value)=0 |
gets the logging priority offset More... | |
virtual void | setRethrows (const bool rethrow)=0 |
To query whether an algorithm should rethrow exceptions when executing. More... | |
virtual const std::string | summary () const =0 |
function returns a summary message that will be displayed in the default GUI, and in the help. More... | |
virtual ::Json::Value | toJson () const =0 |
Serialize an algorithm as Json. More... | |
virtual std::string | toString () const =0 |
Serialize an algorithm. More... | |
virtual std::map< std::string, std::string > | validateInputs ()=0 |
Method checking errors on ALL the inputs, before execution. More... | |
virtual int | version () const =0 |
function to return a version of the algorithm, must be overridden in all algorithms More... | |
Algorithms As Methods | |
Public Member Functions inherited from Mantid::Kernel::IPropertyManager | |
virtual ::Json::Value | asJson (bool withDefaultValues=false) const =0 |
Return the property manager serialized as a json object. More... | |
virtual std::string | asString (bool withDefaultValues=false) const =0 |
Return the property manager serialized as a string. More... | |
virtual void | declareOrReplaceProperty (std::unique_ptr< Property > p, const std::string &doc="")=0 |
Function to declare properties (i.e. store them) More... | |
void | declareProperty (const std::string &name, const char *value, const std::string &doc, IValidator_sptr validator=std::make_shared< NullValidator >(), const unsigned int direction=Direction::Input) |
Specialised version of declareProperty template method to prevent the creation of a PropertyWithValue of type const char* if an argument in quotes is passed (it will be converted to a string). More... | |
void | declareProperty (const std::string &name, const char *value, const unsigned int direction) |
Add a property of string type to the list of managed properties. More... | |
void | declareProperty (const std::string &name, const char *value, IValidator_sptr validator=std::make_shared< NullValidator >(), const std::string &doc=std::string(), const unsigned int direction=Direction::Input) |
Specialised version of declareProperty template method to prevent the creation of a PropertyWithValue of type const char* if an argument in quotes is passed (it will be converted to a string). More... | |
template<typename T > | |
void | declareProperty (const std::string &name, T value, const std::string &doc, const unsigned int direction=Direction::Input) |
Add a property to the list of managed properties with no validator. More... | |
template<typename T > | |
void | declareProperty (const std::string &name, T value, const unsigned int direction) |
Add a property of the template type to the list of managed properties. More... | |
template<typename T > | |
void | declareProperty (const std::string &name, T value, IValidator_sptr validator=std::make_shared< NullValidator >(), const std::string &doc="", const unsigned int direction=Direction::Input) |
Add a property of the template type to the list of managed properties. More... | |
virtual void | declareProperty (std::unique_ptr< Property > p, const std::string &doc="")=0 |
Function to declare properties (i.e. store them) More... | |
virtual bool | existsProperty (const std::string &name) const =0 |
Checks whether the named property is already in the list of managed property. More... | |
virtual void | filterByProperty (const TimeSeriesProperty< bool > &, const std::vector< std::string > &)=0 |
virtual void | filterByTime (const Types::Core::DateAndTime &, const Types::Core::DateAndTime &)=0 |
virtual std::vector< std::string > | getDeclaredPropertyNames () const noexcept=0 |
Get the list of managed property names. More... | |
virtual Property * | getPointerToProperty (const std::string &name) const =0 |
Get a pointer to property by name. More... | |
virtual const std::vector< Property * > & | getProperties () const =0 |
Get the list of managed properties. More... | |
std::vector< Property * > | getPropertiesInGroup (const std::string &group) const |
Get the list of managed properties in a given group. More... | |
virtual TypedValue | getProperty (const std::string &name) const =0 |
Get the value of a property. More... | |
virtual std::string | getPropertyValue (const std::string &name) const =0 |
Get the value of a property as a string. More... | |
virtual size_t | propertyCount () const =0 |
Returns the number of properties under management. More... | |
virtual void | removeProperty (const std::string &name, const bool delproperty=true)=0 |
Removes the property from management. More... | |
virtual void | resetProperties ()=0 |
virtual void | setProperties (const ::Json::Value &jsonValue, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false)=0 |
Sets all the properties from a json object. More... | |
virtual void | setProperties (const std::string &propertiesJson, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false)=0 |
Sets all properties from a string. More... | |
virtual void | setPropertiesWithString (const std::string &propertiesString, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >())=0 |
Sets all the declared properties from a string. More... | |
IPropertyManager * | setProperty (const std::string &name, const char *value) |
Specialised version of setProperty template method to handle const char *. More... | |
IPropertyManager * | setProperty (const std::string &name, const std::string &value) |
Specialised version of setProperty template method to handle std::string. More... | |
template<typename T > | |
IPropertyManager * | setProperty (const std::string &name, const T &value) |
Templated method to set the value of a PropertyWithValue. More... | |
template<typename T > | |
IPropertyManager * | setProperty (const std::string &name, std::unique_ptr< T > value) |
Templated method to set the value of a PropertyWithValue from a std::unique_ptr. More... | |
void | setPropertyGroup (const std::string &name, const std::string &group) |
Set the group for a given property. More... | |
virtual void | setPropertyOrdinal (const int &index, const std::string &value)=0 |
Set the value of a property by an index. More... | |
void | setPropertySettings (const std::string &name, std::unique_ptr< IPropertySettings > settings) |
virtual void | setPropertyValue (const std::string &name, const std::string &value)=0 |
Sets property value from a string. More... | |
virtual void | setPropertyValueFromJson (const std::string &name, const Json::Value &value)=0 |
Sets property value from a Json::Value. More... | |
virtual void | splitByTime (std::vector< SplittingInterval > &, std::vector< PropertyManager * >) const =0 |
virtual std::unique_ptr< Property > | takeProperty (const size_t index)=0 |
Removes the property from management and returns a pointer to it. More... | |
void | updatePropertyValues (const IPropertyManager &other) |
Update values of the existing properties. More... | |
virtual bool | validateProperties () const =0 |
Validates all the properties in the collection. More... | |
virtual | ~IPropertyManager ()=default |
Private Types | |
enum | { RANDOMWALK , DRUNKENWALK } |
Monte Carlo algorithm. More... | |
Private Member Functions | |
bool | acceptOrDeny (Kernel::Rfactor currR, Kernel::Rfactor newR) |
Determine whether the proposed value should be accepted or denied. More... | |
void | addParameterToMCMinimize (std::vector< std::string > &parnamesforMC, const std::string &parname) |
Add parameter (to a vector of string/name) for MC random walk. More... | |
void | applyParameterValues (std::map< std::string, Parameter > &srcparammap, std::map< std::string, Parameter > &tgtparammap) |
Apply the value of parameters in the source to target. More... | |
void | bookKeepBestMCResult (std::map< std::string, Parameter > parammap, const std::vector< double > &bkgddata, Kernel::Rfactor rfactor, size_t istep) |
Book keep the (sopposed) best MC result. More... | |
bool | calculateDiffractionPattern (const Mantid::HistogramData::HistogramX &vecX, const Mantid::HistogramData::HistogramY &vecY, bool inputraw, bool outputwithbkgd, const Mantid::HistogramData::HistogramY &vecBkgd, std::vector< double > &values, Kernel::Rfactor &rfactor) |
Calculate diffraction pattern in Le Bail algorithm for MC Random walk. More... | |
bool | calculatePeaksIntensities (API::MatrixWorkspace_sptr dataws, size_t workspaceindex, bool zerobackground, std::vector< double > &allpeaksvalues) |
Calcualte peak heights from model to data. More... | |
std::map< std::string, double > | convertToDoubleMap (std::map< std::string, Parameter > &inmap) |
Convert a map of Parameter to a map of double. More... | |
void | createLeBailFunction () |
Create LeBailFunction. More... | |
void | createOutputDataWorkspace () |
Create output data workspace. More... | |
API::MatrixWorkspace_sptr | cropWorkspace (const API::MatrixWorkspace_sptr &inpws, size_t wsindex) |
Crop the workspace for better usage. More... | |
void | doMarkovChain (const std::map< std::string, Parameter > ¶mmap, const Mantid::HistogramData::HistogramX &vecX, const Mantid::HistogramData::HistogramY &vecPurePeak, const std::vector< double > &vecBkgd, size_t maxcycles, const Kernel::Rfactor &startR, int randomseed) |
Work on Markov chain to 'solve' LeBail function. More... | |
void | exec () override |
Implement abstract Algorithm methods. More... | |
void | execPatternCalculation () |
Calculate LeBail pattern from from input peak parameters. More... | |
void | execRandomWalkMinimizer (size_t maxcycles, std::map< std::string, Parameter > ¶mmap) |
Main for random walk process. More... | |
void | execRefineBackground () |
Calcualte background by fitting peak heights. More... | |
void | exportBraggPeakParameterToTable () |
Create and set up output table workspace for peaks. More... | |
void | exportInstrumentParameterToTable (std::map< std::string, Parameter > parammap) |
Output parameters (fitted or tied) More... | |
void | init () override |
Declare the input properties for this algorithm. More... | |
double | limitProposedValueInBound (const Parameter ¶m, double newvalue, double direction, int choice) |
Limit proposed value in the specified boundary. More... | |
void | parseBackgroundTableWorkspace (const DataObjects::TableWorkspace_sptr &bkgdparamws, std::vector< std::string > &bkgdparnames, std::vector< double > &bkgdorderparams) |
Parse content in a table workspace to vector for background parameters. More... | |
void | parseBraggPeaksParametersTable () |
Import Miller Indices (HKL) More... | |
void | parseInstrumentParametersTable () |
Import peak parameters. More... | |
void | processInputBackground () |
Process and calculate input background. More... | |
void | processInputProperties () |
Process input properties. More... | |
void | proposeNewBackgroundValues () |
Propose new background parameters. More... | |
bool | proposeNewValues (const std::vector< std::string > &mcgroup, Kernel::Rfactor r, std::map< std::string, Parameter > &curparammap, std::map< std::string, Parameter > &newparammap, bool prevBetterRwp) |
Propose new parameters. More... | |
void | recoverBackgroundParameters (const std::vector< double > &bkgdparamvec) |
Restore/recover the buffered background parameters to m_background function. More... | |
void | setupBuiltInRandomWalkStrategy () |
Set up Monte Carlo random walk strategy. More... | |
void | setupRandomWalkStrategyFromTable (const DataObjects::TableWorkspace_sptr &tablews) |
Set up Monte Carlo random walk strategy. More... | |
void | storeBackgroundParameters (std::vector< double > &bkgdparamvec) |
Store/buffer current background parameters. More... | |
Private Attributes | |
Functions::BackgroundFunction_sptr | m_backgroundFunction |
Background function. More... | |
std::vector< std::string > | m_backgroundParameterNames |
std::vector< double > | m_backgroundParameters |
Background polynomials. More... | |
std::string | m_backgroundType |
Background type. More... | |
std::vector< double > | m_bestBackgroundData |
std::vector< double > | m_bestBkgdParams |
size_t | m_bestMCStep |
std::map< std::string, Parameter > | m_bestParameters |
double | m_bestRp |
double | m_bestRwp |
unsigned int | m_bkgdorder |
std::vector< double > | m_bkgdParameterBuffer |
std::vector< std::string > | m_bkgdParameterNames |
std::vector< double > | m_bkgdParameterStepVec |
double | m_dampingFactor |
Damping factor. More... | |
API::MatrixWorkspace_sptr | m_dataWS |
Instance data. More... | |
double | m_endX |
FunctionMode | m_fitMode |
Fit mode. More... | |
std::map< std::string, Parameter > | m_funcParameters |
Function parameters updated by fit. More... | |
double | m_indicatePeakHeight |
bool | m_inputParameterPhysical |
Flag to show whether the input profile parameters are physical to all peaks. More... | |
std::vector< std::pair< std::vector< int >, double > > | m_inputPeakInfoVec |
Input Bragg peak information for future processing;. More... | |
double | m_lebailCalChi2 |
double | m_lebailFitChi2 |
Fit Chi^2. More... | |
LeBailFunction_sptr | m_lebailFunction |
Le Bail Function (Composite) More... | |
std::map< int, std::vector< std::string > > | m_MCGroups |
double | m_minimumPeakHeight |
Minimum height of a peak to be counted in smoothing background. More... | |
size_t | m_numberBkgdParameters |
size_t | m_numMCGroups |
size_t | m_numMinimizeSteps |
Number of minimization steps. For both MC and regular. More... | |
std::map< std::string, double > | m_origFuncParameters |
Input function parameters that are stored for reference. More... | |
DataObjects::Workspace2D_sptr | m_outputWS |
double | m_peakCentreTol |
std::string | m_peakType |
============================= =========================== /// More... | |
int | m_roundBkgd |
double | m_startX |
double | m_Temperature |
Monte Carlo temperature. More... | |
bool | m_tolerateInputDupHKL2Peaks |
Flag to allow peaks with duplicated (HKL)^2 in input .hkl file. More... | |
bool | m_useAnnealing |
Flag to use Annealing Simulation (i.e., use automatic adjusted temperature) More... | |
enum Mantid::CurveFitting::Algorithms::LeBailFit:: { ... } | m_walkStyle |
Monte Carlo algorithm. More... | |
size_t | m_wsIndex |
std::string | mMinimizer |
Minimizer. More... | |
int | mPeakRadius |
Peak Radius. More... | |
DataObjects::TableWorkspace_sptr | parameterWS |
DataObjects::TableWorkspace_sptr | reflectionWS |
Additional Inherited Members | |
Static Public Member Functions inherited from Mantid::API::Algorithm | |
static IAlgorithm_sptr | fromString (const std::string &input) |
De-serialize an object from a string. More... | |
static IAlgorithm_sptr | fromJson (const Json::Value &input) |
De-serialize an object from a Json. More... | |
static IAlgorithm_sptr | fromHistory (const AlgorithmHistory &history) |
Construct an object from a history entry. More... | |
Public Attributes inherited from Mantid::API::Algorithm | |
bool | calledByAlias = false |
Flag to indicate if the algorithm is called by its alias. More... | |
Protected Member Functions inherited from Mantid::API::Algorithm | |
void | exec (Parallel::ExecutionMode executionMode) |
Runs the algorithm with the specified execution mode. More... | |
virtual void | execDistributed () |
Runs the algorithm in distributed execution mode. More... | |
virtual void | execMasterOnly () |
Runs the algorithm in master-only execution mode. More... | |
virtual Parallel::ExecutionMode | getParallelExecutionMode (const std::map< std::string, Parallel::StorageMode > &storageModes) const |
Get correct execution mode based on input storage modes for an MPI run. More... | |
virtual const std::string | workspaceMethodOnTypes () const |
Returns a semi-colon separated list of workspace types to attach this algorithm. More... | |
void | cacheWorkspaceProperties () |
Go through the properties and cache the input/output workspace properties for later use. More... | |
void | cacheInputWorkspaceHistories () |
Cache the histories of any input workspaces so they can be copied over after algorithm completion. More... | |
void | setExecutionState (const ExecutionState state) |
Sets the current execution state. More... | |
void | setResultState (const ResultState state) |
Sets the result execution state. More... | |
void | store () |
Stores any output workspaces into the AnalysisDataService. More... | |
void | progress (double p, const std::string &msg="", double estimatedTime=0.0, int progressPrecision=0) |
Sends ProgressNotification. More... | |
void | interruption_point () |
This is called during long-running operations, and check if the algorithm has requested that it be cancelled. More... | |
Poco::NotificationCenter & | notificationCenter () const |
Return a reference to the algorithm's notification dispatcher. More... | |
void | handleChildProgressNotification (const Poco::AutoPtr< ProgressNotification > &pNf) |
Observation slot for child algorithm progress notification messages, these are scaled and then signalled for this algorithm. More... | |
const Poco::AbstractObserver & | progressObserver () const |
Return a reference to the algorithm's object that is reporting progress. More... | |
bool | isWorkspaceProperty (const Kernel::Property *const prop) const |
checks the property is a workspace property More... | |
bool | trackingHistory () |
get whether we are tracking the history for this algorithm, More... | |
virtual void | fillHistory () |
Copy workspace history for input workspaces to output workspaces and record the history for ths algorithm. More... | |
virtual void | setOtherProperties (IAlgorithm *alg, const std::string &propertyName, const std::string &propertyValue, int periodNum) |
Virtual method to set the non workspace properties for this algorithm. More... | |
template<typename T , const int AllowedIndexTypes = static_cast<int>(IndexType::WorkspaceIndex), typename... WSPropArgs, typename = typename std::enable_if<std::is_convertible<T *, MatrixWorkspace *>::value>::type> | |
void | declareWorkspaceInputProperties (const std::string &propertyName, const std::string &doc, WSPropArgs &&...wsPropArgs) |
Protected Member Functions inherited from Mantid::Kernel::IPropertyManager | |
virtual void | afterPropertySet (const std::string &) |
Override this method to perform a custom action right after a property was set. More... | |
virtual void | clear ()=0 |
Clears all properties under management. More... | |
virtual Property * | getPointerToPropertyOrdinal (const int &index) const =0 |
Get a property by an index. More... | |
template<typename T > | |
T | getValue (const std::string &name) const |
Templated method to get the value of a property. More... | |
template<> | |
MANTID_KERNEL_DLL PropertyManager_sptr | getValue (const std::string &name) const |
template<> | |
MANTID_KERNEL_DLL PropertyManager_const_sptr | getValue (const std::string &name) const |
Static Protected Member Functions inherited from Mantid::API::Algorithm | |
template<typename NumT > | |
static bool | isEmpty (const NumT toCheck) |
checks that the value was not set by users, uses the value in empty double/int. More... | |
Protected Attributes inherited from Mantid::API::Algorithm | |
std::atomic< bool > | m_cancel |
Set to true to stop execution. More... | |
std::atomic< bool > | m_parallelException |
Set if an exception is thrown, and not caught, within a parallel region. More... | |
std::vector< IWorkspaceProperty * > | m_inputWorkspaceProps |
All the WorkspaceProperties that are Input or InOut. Set in execute() More... | |
std::shared_ptr< AlgorithmHistory > | m_history |
Pointer to the history for the algorithm being executed. More... | |
Kernel::Logger | m_log |
Logger for this algorithm. More... | |
Kernel::Logger & | g_log |
std::shared_ptr< AlgorithmHistory > | m_parentHistory |
Pointer to the parent history object (if set) More... | |
std::vector< WorkspaceVector > | m_unrolledInputWorkspaces |
One vector of workspaces for each input workspace property. More... | |
size_t | m_groupSize |
Size of the group(s) being processed. More... | |
bool | m_usingBaseProcessGroups = false |
distinguish between base processGroups() and overriden/algorithm specific versions More... | |
Static Protected Attributes inherited from Mantid::API::Algorithm | |
static size_t | g_execCount = 0 |
Counter to keep track of algorithm execution order. More... | |
Definition at line 62 of file LeBailFit.h.
|
private |
Enumerate.
Enumerator | |
---|---|
CALCULATION | |
FIT | |
BACKGROUNDPROCESS | |
MONTECARLO |
Definition at line 65 of file LeBailFit.h.
Mantid::CurveFitting::Algorithms::LeBailFit::LeBailFit | ( | ) |
Constructor.
Definition at line 61 of file LeBailFit.cpp.
|
private |
Determine whether the proposed value should be accepted or denied.
currR | current R-factor Rwp |
newR | R-factor of function whose parameters' values are the proposed. |
Definition at line 2115 of file LeBailFit.cpp.
References Mantid::Kernel::Logger::debug(), Mantid::API::Algorithm::g_log, m_Temperature, and Mantid::Kernel::Rfactor::Rwp.
Referenced by doMarkovChain(), and execRefineBackground().
|
private |
Add parameter (to a vector of string/name) for MC random walk.
Add parameter (to a vector of string/name) for MC random walk according to Fit in Parameter.
parnamesforMC | vector of parameter for MC minimizer |
parname | name of parameter to check whether to put into refinement list |
Definition at line 1792 of file LeBailFit.cpp.
References Mantid::Kernel::Logger::error(), Mantid::API::Algorithm::g_log, and m_funcParameters.
Referenced by setupBuiltInRandomWalkStrategy().
|
private |
Apply the value of parameters in the source to target.
srcparammap | map of Parameters whose values to be copied to others; |
tgtparammap | map of Parameters whose values to be copied from others; |
Definition at line 2189 of file LeBailFit.cpp.
References Mantid::CurveFitting::Algorithms::Parameter::curvalue, Mantid::Kernel::Logger::error(), and Mantid::API::Algorithm::g_log.
Referenced by bookKeepBestMCResult(), doMarkovChain(), and execRandomWalkMinimizer().
|
private |
Book keep the (sopposed) best MC result.
Book keep the (sopposed) best MC result including a) best MC step, Rp, Rwp b) parameter values of these.
parammap | map of Parameters to book keep with |
bkgddata | background data to book keep with |
rfactor | :: R-factor (Rwp and Rp) |
istep | current MC step to be recorded |
Definition at line 2151 of file LeBailFit.cpp.
References applyParameterValues(), Mantid::API::Algorithm::g_log, m_bestBackgroundData, m_bestMCStep, m_bestParameters, m_bestRp, m_bestRwp, Mantid::Kernel::Rfactor::Rp, Mantid::Kernel::Rfactor::Rwp, and Mantid::Kernel::Logger::warning().
Referenced by doMarkovChain().
|
private |
Calculate diffraction pattern in Le Bail algorithm for MC Random walk.
Calculate diffraction pattern in Le Bail algorithm for MC Random walk (1) The calculation will be cased on vectors.
(2) m_lebailFunction will NOT be used; (3) background will not be calculated.
vecX | :: vector of X |
vecY | :: vector of Y (may be raw data or pure peak data/background removed) |
inputraw | :: True if vecY is raw data. Otherwise, with background removed |
outputwithbkgd | :: output vector (values) should include background values |
vecBkgd,: | vector of background values (input) |
values | :: (output) function values, i.e., summation of all peaks and background in option |
rfactor | R-factor (Rwp and Rp) as output |
Definition at line 1826 of file LeBailFit.cpp.
References Mantid::CurveFitting::Algorithms::badR, Mantid::Kernel::Logger::debug(), Mantid::Kernel::Logger::error(), Mantid::API::Algorithm::g_log, Mantid::Kernel::getRFactor(), Mantid::Kernel::Logger::information(), m_dataWS, m_lebailFunction, and m_wsIndex.
Referenced by doMarkovChain(), execPatternCalculation(), execRandomWalkMinimizer(), and execRefineBackground().
|
private |
Calcualte peak heights from model to data.
|
inlineoverridevirtual |
Algorithm's category for identification overriding a virtual method.
Reimplemented from Mantid::API::Algorithm.
Definition at line 79 of file LeBailFit.h.
|
private |
Convert a map of Parameter to a map of double.
Definition at line 2210 of file LeBailFit.cpp.
Referenced by createLeBailFunction(), doMarkovChain(), execPatternCalculation(), execRandomWalkMinimizer(), and execRefineBackground().
|
private |
Create LeBailFunction.
Create LeBailFunction, including creating Le Bail function, add peaks and background.
Definition at line 641 of file LeBailFit.cpp.
References convertToDoubleMap(), Mantid::API::Algorithm::isEmpty(), m_backgroundParameterNames, m_backgroundParameters, m_backgroundType, m_bkgdorder, m_dataWS, m_endX, m_funcParameters, m_inputPeakInfoVec, m_lebailFunction, m_peakCentreTol, m_peakType, m_startX, and m_wsIndex.
Referenced by exec().
|
private |
Create output data workspace.
Create output data workspace Basic spectra list: (0) original data (1) fitted data (2) difference (3) fitted pattern w/o background (4) background (being fitted after peak) (5) calculation based on input only (no fit) (6) background (input) (7) original data with background removed; (8) Smoothed background In mode of CALCULATION (9+) One spectrum for each peak.
Definition at line 1263 of file LeBailFit.cpp.
References CALCULATION, Mantid::DataObjects::create(), Mantid::API::Algorithm::g_log, Mantid::API::Algorithm::getProperty(), Mantid::Kernel::Logger::information(), Mantid::Kernel::SingletonHolder< T >::Instance(), m_dataWS, m_fitMode, m_lebailFunction, m_outputWS, m_wsIndex, and OBSDATAINDEX().
Referenced by exec().
|
private |
Crop the workspace for better usage.
Crop workspace if user required.
inpws | : input workspace to crop |
wsindex | workspace index of the data to fit against |
Definition at line 674 of file LeBailFit.cpp.
References Mantid::API::Algorithm::createChildAlgorithm(), Mantid::Kernel::Logger::debug(), Mantid::Kernel::Logger::error(), Mantid::API::Algorithm::g_log, Mantid::API::Algorithm::getProperty(), and Mantid::Kernel::Logger::warning().
Referenced by processInputProperties().
|
private |
Work on Markov chain to 'solve' LeBail function.
Definition at line 1408 of file LeBailFit.cpp.
References acceptOrDeny(), applyParameterValues(), bookKeepBestMCResult(), calculateDiffractionPattern(), convertToDoubleMap(), Mantid::Kernel::Logger::debug(), EPSILON(), Mantid::CurveFitting::Algorithms::Parameter::fit, Mantid::API::Algorithm::g_log, m_bestMCStep, m_bestParameters, m_bestRp, m_bestRwp, m_lebailFunction, m_MCGroups, m_numMCGroups, m_Temperature, m_useAnnealing, Mantid::CurveFitting::Algorithms::Parameter::maxabsstepsize, Mantid::CurveFitting::Algorithms::Parameter::maxrecordvalue, Mantid::CurveFitting::Algorithms::Parameter::minrecordvalue, Mantid::CurveFitting::Algorithms::Parameter::name, Mantid::Kernel::Logger::notice(), Mantid::CurveFitting::Algorithms::Parameter::numnegativemove, Mantid::CurveFitting::Algorithms::Parameter::numnomove, Mantid::CurveFitting::Algorithms::Parameter::numpositivemove, Mantid::API::Algorithm::progress(), proposeNewValues(), Mantid::Kernel::Rfactor::Rp, Mantid::Kernel::Rfactor::Rwp, Mantid::CurveFitting::Algorithms::Parameter::sumstepsize, and Mantid::CurveFitting::Algorithms::writeRfactorsToFile().
Referenced by execRandomWalkMinimizer().
|
overrideprivatevirtual |
Implement abstract Algorithm methods.
Implements Mantid::API::Algorithm.
Definition at line 238 of file LeBailFit.cpp.
References BACKGROUNDPROCESS, CALCULATION, createLeBailFunction(), createOutputDataWorkspace(), Mantid::Kernel::Logger::error(), execPatternCalculation(), execRandomWalkMinimizer(), execRefineBackground(), exportBraggPeakParameterToTable(), exportInstrumentParameterToTable(), FIT, Mantid::API::Algorithm::g_log, Mantid::Kernel::getRFactor(), m_fitMode, m_funcParameters, m_inputParameterPhysical, m_lebailCalChi2, m_lebailFitChi2, m_lebailFunction, m_numMinimizeSteps, m_outputWS, MONTECARLO, Mantid::Kernel::Logger::notice(), parseBraggPeaksParametersTable(), parseInstrumentParametersTable(), processInputBackground(), processInputProperties(), Mantid::Kernel::Rfactor::Rp, Mantid::Kernel::Rfactor::Rwp, Mantid::Kernel::IPropertyManager::setProperty(), and Mantid::Kernel::Logger::warning().
|
private |
Calculate LeBail pattern from from input peak parameters.
Calcualte LeBail diffraction pattern: Output spectra: 0: data; 1: calculated pattern; 3: difference 4: input pattern w/o background 5~5+(N-1): optional individual peak.
Definition at line 394 of file LeBailFit.cpp.
References calculateDiffractionPattern(), CALDATAINDEX(), convertToDoubleMap(), Mantid::CurveFitting::Algorithms::Parameter::curvalue, DATADIFFINDEX(), Mantid::API::Algorithm::g_log, Mantid::API::Algorithm::getProperty(), Mantid::Kernel::Logger::information(), INPUTBKGDINDEX(), INPUTPUREPEAKINDEX(), m_dataWS, m_funcParameters, m_lebailFunction, m_outputWS, m_wsIndex, Mantid::CurveFitting::Algorithms::Parameter::name, Mantid::Kernel::Logger::notice(), OBSDATAINDEX(), Mantid::Kernel::Rfactor::Rp, Mantid::Kernel::Rfactor::Rwp, and Mantid::Kernel::Logger::warning().
Referenced by exec().
|
private |
Main for random walk process.
Refine instrument parameters by random walk algorithm (MC)
maxcycles | number of Monte Carlo steps/cycles |
parammap | map containing Parameters to refine in MC algorithm |
Definition at line 1325 of file LeBailFit.cpp.
References applyParameterValues(), CALBKGDINDEX(), calculateDiffractionPattern(), CALDATAINDEX(), CALPUREPEAKINDEX(), convertToDoubleMap(), Mantid::CurveFitting::Algorithms::Parameter::curvalue, DATADIFFINDEX(), doMarkovChain(), DRUNKENWALK, fabs, Mantid::API::Algorithm::getProperty(), INPUTBKGDINDEX(), INPUTPUREPEAKINDEX(), m_bestParameters, m_bestRwp, m_dataWS, m_lebailFunction, m_outputWS, m_Temperature, m_useAnnealing, m_walkStyle, m_wsIndex, Mantid::CurveFitting::Algorithms::Parameter::name, RANDOMWALK, setupBuiltInRandomWalkStrategy(), and setupRandomWalkStrategyFromTable().
Referenced by exec().
|
private |
Calcualte background by fitting peak heights.
Calculate background of the specified diffraction pattern by.
Definition at line 458 of file LeBailFit.cpp.
References acceptOrDeny(), CALBKGDINDEX(), calculateDiffractionPattern(), CALPUREPEAKINDEX(), convertToDoubleMap(), Mantid::API::Algorithm::g_log, Mantid::Kernel::Logger::information(), INPUTPUREPEAKINDEX(), m_backgroundFunction, m_bestBkgdParams, m_bkgdParameterBuffer, m_bkgdParameterNames, m_bkgdParameterStepVec, m_dataWS, m_funcParameters, m_lebailFunction, m_numberBkgdParameters, m_numMinimizeSteps, m_outputWS, m_roundBkgd, m_wsIndex, Mantid::Kernel::Logger::notice(), Mantid::API::Algorithm::progress(), proposeNewBackgroundValues(), recoverBackgroundParameters(), Mantid::Kernel::Rfactor::Rp, Mantid::Kernel::Rfactor::Rwp, Mantid::Kernel::IPropertyManager::setProperty(), storeBackgroundParameters(), and Mantid::API::FunctionValues::toVector().
Referenced by exec().
|
private |
Create and set up output table workspace for peaks.
Create and set up an output TableWorkspace for each individual peaks Parameters include H, K, L, Height, TOF_h, PeakGroup, Chi^2, FitStatus Where chi^2 and fit status are used only in 'CalculateBackground'.
Definition at line 1112 of file LeBailFit.cpp.
References Mantid::Kernel::Logger::error(), Mantid::API::Algorithm::g_log, height, m_lebailFunction, and Mantid::Kernel::IPropertyManager::setProperty().
Referenced by exec().
|
private |
Output parameters (fitted or tied)
Create a new table workspace for parameter values and set to output to replace the input peaks' parameter workspace.
parammap | : map of Parameters whose values are written to TableWorkspace |
Definition at line 1168 of file LeBailFit.cpp.
References Mantid::DataObjects::TableWorkspace::addColumn(), Mantid::API::ITableWorkspace::appendRow(), FIT, m_fitMode, m_inputParameterPhysical, m_lebailCalChi2, m_lebailFitChi2, m_origFuncParameters, and Mantid::Kernel::IPropertyManager::setProperty().
Referenced by exec().
|
overrideprivatevirtual |
Declare the input properties for this algorithm.
Implements Mantid::API::Algorithm.
Definition at line 75 of file LeBailFit.cpp.
References Mantid::API::Algorithm::declareProperty(), Mantid::EMPTY_DBL(), Mantid::Kernel::Direction::InOut, Mantid::Kernel::Direction::Input, Mantid::Kernel::SingletonHolder< T >::Instance(), Mantid::Kernel::IS_EQUAL_TO, Mantid::API::PropertyMode::Optional, Mantid::Kernel::Direction::Output, and Mantid::Kernel::IPropertyManager::setPropertySettings().
|
private |
Limit proposed value in the specified boundary.
param | :: Parameter |
newvalue | :: proposed new value that is out of boundary |
direction | :: direction of parameter moved. -1 for lower. 1 for upper |
choice | :: option for various method 0: half distance. 1: periodic / reflection based on boundary |
Definition at line 2068 of file LeBailFit.cpp.
References Mantid::CurveFitting::Algorithms::Parameter::curvalue, Mantid::CurveFitting::Algorithms::Parameter::maxvalue, Mantid::CurveFitting::Algorithms::Parameter::minvalue, and NOBOUNDARYLIMIT().
Referenced by proposeNewValues().
|
inlineoverridevirtual |
Algorithm's name for identification overriding a virtual method.
Implements Mantid::API::Algorithm.
Definition at line 70 of file LeBailFit.h.
|
private |
Parse content in a table workspace to vector for background parameters.
Parse table workspace (from Fit()) containing background parameters to a vector.
Definition at line 1037 of file LeBailFit.cpp.
References Mantid::Kernel::Logger::debug(), Mantid::Kernel::Logger::error(), Mantid::API::Algorithm::g_log, and Mantid::Kernel::Logger::information().
Referenced by processInputBackground().
|
private |
Import Miller Indices (HKL)
Parse the reflections workspace to a list of reflections; Output --> mPeakHKLs It will NOT screen the peaks whether they are in the data range.
Definition at line 972 of file LeBailFit.cpp.
References Mantid::Kernel::Logger::error(), Mantid::API::Algorithm::g_log, Mantid::Kernel::Logger::information(), m_inputPeakInfoVec, and reflectionWS.
Referenced by exec().
|
private |
Import peak parameters.
Parse the input TableWorkspace to some maps for easy access Output : m_functionParameters.
Definition at line 814 of file LeBailFit.cpp.
References Mantid::CurveFitting::Algorithms::Parameter::curvalue, Mantid::Kernel::Logger::debug(), Mantid::Kernel::Logger::error(), Mantid::CurveFitting::Algorithms::Parameter::fit, Mantid::CurveFitting::Algorithms::Parameter::fiterror, Mantid::API::Algorithm::g_log, Mantid::Kernel::Logger::information(), m_funcParameters, m_origFuncParameters, Mantid::CurveFitting::Algorithms::Parameter::maxrecordvalue, Mantid::CurveFitting::Algorithms::Parameter::maxvalue, Mantid::CurveFitting::Algorithms::Parameter::minrecordvalue, Mantid::CurveFitting::Algorithms::Parameter::minvalue, Mantid::CurveFitting::Algorithms::Parameter::name, parameterWS, and Mantid::CurveFitting::Algorithms::Parameter::stepsize.
Referenced by exec().
|
private |
Process and calculate input background.
Process input background properties and do the calculation upon it and also calculate the input data with (input) background reduced.
Definition at line 327 of file LeBailFit.cpp.
References Mantid::API::Algorithm::g_log, Mantid::API::Algorithm::getProperty(), Mantid::API::Algorithm::getPropertyValue(), Mantid::Kernel::Logger::information(), m_backgroundParameterNames, m_backgroundParameters, m_backgroundType, m_bkgdorder, m_endX, m_startX, parseBackgroundTableWorkspace(), and Mantid::Kernel::Logger::warning().
Referenced by exec().
|
private |
Process input properties.
Process input properties to class variables and do some initial check.
Definition at line 729 of file LeBailFit.cpp.
References BACKGROUNDPROCESS, CALCULATION, cropWorkspace(), Mantid::Kernel::Logger::error(), FIT, Mantid::API::Algorithm::g_log, Mantid::API::Algorithm::getProperty(), Mantid::API::Algorithm::getPropertyValue(), m_dampingFactor, m_dataWS, m_endX, m_fitMode, m_indicatePeakHeight, m_minimumPeakHeight, m_numMinimizeSteps, m_peakCentreTol, m_peakType, m_startX, m_tolerateInputDupHKL2Peaks, m_wsIndex, mMinimizer, MONTECARLO, mPeakRadius, parameterWS, and reflectionWS.
Referenced by exec().
|
private |
Propose new background parameters.
Definition at line 620 of file LeBailFit.cpp.
References Mantid::API::Algorithm::g_log, Mantid::Kernel::Logger::information(), m_backgroundFunction, m_bkgdParameterStepVec, m_numberBkgdParameters, and m_roundBkgd.
Referenced by execRefineBackground().
|
private |
Propose new parameters.
mcgroup | monte carlo group |
r | R factor (Rp, Rwp) |
curparammap | current map of Parameters whose values are used for propose new values |
newparammap | map of Parameters hold new values |
prevBetterRwp | boolean. true if previously proposed value resulted in a better Rwp |
Return: Boolean to indicate whether there is any parameter that have proposed new values in this group
Definition at line 1929 of file LeBailFit.cpp.
References Mantid::CurveFitting::Algorithms::Parameter::curvalue, Mantid::Kernel::Logger::debug(), DRUNKENWALK, Mantid::Kernel::Logger::error(), fabs, Mantid::CurveFitting::Algorithms::Parameter::fit, Mantid::API::Algorithm::g_log, limitProposedValueInBound(), m_dampingFactor, m_walkStyle, Mantid::CurveFitting::Algorithms::Parameter::maxabsstepsize, Mantid::CurveFitting::Algorithms::Parameter::maxrecordvalue, Mantid::CurveFitting::Algorithms::Parameter::maxvalue, Mantid::CurveFitting::Algorithms::Parameter::mcA0, Mantid::CurveFitting::Algorithms::Parameter::mcA1, Mantid::CurveFitting::Algorithms::Parameter::minrecordvalue, Mantid::CurveFitting::Algorithms::Parameter::minvalue, Mantid::CurveFitting::Algorithms::Parameter::movedirection, Mantid::CurveFitting::Algorithms::Parameter::nonnegative, Mantid::CurveFitting::Algorithms::Parameter::numnegativemove, Mantid::CurveFitting::Algorithms::Parameter::numnomove, Mantid::CurveFitting::Algorithms::Parameter::numpositivemove, RANDOMWALK, Mantid::Kernel::Rfactor::Rwp, and Mantid::CurveFitting::Algorithms::Parameter::sumstepsize.
Referenced by doMarkovChain().
|
private |
Restore/recover the buffered background parameters to m_background function.
bkgdparamvec | :: vector holding the background parameters whose order is same in background function |
Definition at line 612 of file LeBailFit.cpp.
References m_backgroundFunction, and m_numberBkgdParameters.
Referenced by execRefineBackground().
|
inlineoverridevirtual |
Function to return all of the seeAlso (these are not validated) algorithms related to this algorithm.A default implementation is provided.
Reimplemented from Mantid::API::Algorithm.
Definition at line 76 of file LeBailFit.h.
|
private |
Set up Monte Carlo random walk strategy.
Definition at line 1650 of file LeBailFit.cpp.
References addParameterToMCMinimize(), Mantid::API::Algorithm::g_log, Mantid::Kernel::Logger::information(), m_funcParameters, m_MCGroups, m_numMCGroups, and Mantid::Kernel::Logger::notice().
Referenced by execRandomWalkMinimizer().
|
private |
Set up Monte Carlo random walk strategy.
tablews | :: TableWorkspace containing the Monte Carlo setup |
Definition at line 1600 of file LeBailFit.cpp.
References Mantid::API::Algorithm::g_log, Mantid::Kernel::Logger::information(), m_funcParameters, m_MCGroups, and m_numMCGroups.
Referenced by execRandomWalkMinimizer().
|
private |
Store/buffer current background parameters.
bkgdparamvec | :: vector to save the background parameters whose order is same in background function |
Definition at line 602 of file LeBailFit.cpp.
References m_backgroundFunction, and m_numberBkgdParameters.
Referenced by execRefineBackground().
|
inlineoverridevirtual |
Summary of algorithms purpose.
Implements Mantid::API::Algorithm.
Definition at line 72 of file LeBailFit.h.
|
inlineoverridevirtual |
Algorithm's version for identification overriding a virtual method.
Implements Mantid::API::Algorithm.
Definition at line 75 of file LeBailFit.h.
|
private |
Background function.
Definition at line 203 of file LeBailFit.h.
Referenced by execRefineBackground(), proposeNewBackgroundValues(), recoverBackgroundParameters(), and storeBackgroundParameters().
|
private |
Definition at line 222 of file LeBailFit.h.
Referenced by createLeBailFunction(), and processInputBackground().
|
private |
Background polynomials.
Definition at line 221 of file LeBailFit.h.
Referenced by createLeBailFunction(), and processInputBackground().
|
private |
Background type.
Definition at line 218 of file LeBailFit.h.
Referenced by createLeBailFunction(), and processInputBackground().
|
private |
Definition at line 254 of file LeBailFit.h.
Referenced by bookKeepBestMCResult().
|
private |
Definition at line 281 of file LeBailFit.h.
Referenced by execRefineBackground().
|
private |
Definition at line 255 of file LeBailFit.h.
Referenced by bookKeepBestMCResult(), and doMarkovChain().
|
private |
Definition at line 253 of file LeBailFit.h.
Referenced by bookKeepBestMCResult(), doMarkovChain(), and execRandomWalkMinimizer().
|
private |
Definition at line 251 of file LeBailFit.h.
Referenced by bookKeepBestMCResult(), and doMarkovChain().
|
private |
Definition at line 250 of file LeBailFit.h.
Referenced by bookKeepBestMCResult(), doMarkovChain(), and execRandomWalkMinimizer().
|
private |
Definition at line 223 of file LeBailFit.h.
Referenced by createLeBailFunction(), and processInputBackground().
|
private |
Definition at line 280 of file LeBailFit.h.
Referenced by execRefineBackground().
|
private |
Definition at line 278 of file LeBailFit.h.
Referenced by execRefineBackground().
|
private |
Definition at line 283 of file LeBailFit.h.
Referenced by execRefineBackground(), and proposeNewBackgroundValues().
|
private |
Damping factor.
Definition at line 235 of file LeBailFit.h.
Referenced by processInputProperties(), and proposeNewValues().
|
private |
Instance data.
Definition at line 190 of file LeBailFit.h.
Referenced by calculateDiffractionPattern(), createLeBailFunction(), createOutputDataWorkspace(), execPatternCalculation(), execRandomWalkMinimizer(), execRefineBackground(), and processInputProperties().
|
private |
Definition at line 197 of file LeBailFit.h.
Referenced by createLeBailFunction(), processInputBackground(), and processInputProperties().
|
private |
Fit mode.
Definition at line 242 of file LeBailFit.h.
Referenced by createOutputDataWorkspace(), exec(), exportInstrumentParameterToTable(), and processInputProperties().
|
private |
Function parameters updated by fit.
Definition at line 206 of file LeBailFit.h.
Referenced by addParameterToMCMinimize(), createLeBailFunction(), exec(), execPatternCalculation(), execRefineBackground(), parseInstrumentParametersTable(), setupBuiltInRandomWalkStrategy(), and setupRandomWalkStrategyFromTable().
|
private |
Definition at line 244 of file LeBailFit.h.
Referenced by processInputProperties().
|
private |
Flag to show whether the input profile parameters are physical to all peaks.
Definition at line 239 of file LeBailFit.h.
Referenced by exec(), and exportInstrumentParameterToTable().
|
private |
Input Bragg peak information for future processing;.
Definition at line 200 of file LeBailFit.h.
Referenced by createLeBailFunction(), and parseBraggPeaksParametersTable().
|
private |
Definition at line 230 of file LeBailFit.h.
Referenced by exec(), and exportInstrumentParameterToTable().
|
private |
Fit Chi^2.
Definition at line 229 of file LeBailFit.h.
Referenced by exec(), and exportInstrumentParameterToTable().
|
private |
Le Bail Function (Composite)
Definition at line 187 of file LeBailFit.h.
Referenced by calculateDiffractionPattern(), createLeBailFunction(), createOutputDataWorkspace(), doMarkovChain(), exec(), execPatternCalculation(), execRandomWalkMinimizer(), execRefineBackground(), and exportBraggPeakParameterToTable().
|
private |
Definition at line 247 of file LeBailFit.h.
Referenced by doMarkovChain(), setupBuiltInRandomWalkStrategy(), and setupRandomWalkStrategyFromTable().
|
private |
Minimum height of a peak to be counted in smoothing background.
Definition at line 271 of file LeBailFit.h.
Referenced by processInputProperties().
|
private |
Definition at line 279 of file LeBailFit.h.
Referenced by execRefineBackground(), proposeNewBackgroundValues(), recoverBackgroundParameters(), and storeBackgroundParameters().
|
private |
Definition at line 248 of file LeBailFit.h.
Referenced by doMarkovChain(), setupBuiltInRandomWalkStrategy(), and setupRandomWalkStrategyFromTable().
|
private |
Number of minimization steps. For both MC and regular.
Definition at line 258 of file LeBailFit.h.
Referenced by exec(), execRefineBackground(), and processInputProperties().
|
private |
Input function parameters that are stored for reference.
Definition at line 208 of file LeBailFit.h.
Referenced by exportInstrumentParameterToTable(), and parseInstrumentParametersTable().
|
private |
Definition at line 191 of file LeBailFit.h.
Referenced by createOutputDataWorkspace(), exec(), execPatternCalculation(), execRandomWalkMinimizer(), and execRefineBackground().
|
private |
Definition at line 285 of file LeBailFit.h.
Referenced by createLeBailFunction(), and processInputProperties().
|
private |
============================= =========================== ///
Definition at line 215 of file LeBailFit.h.
Referenced by createLeBailFunction(), and processInputProperties().
|
private |
Definition at line 282 of file LeBailFit.h.
Referenced by execRefineBackground(), and proposeNewBackgroundValues().
|
private |
Definition at line 197 of file LeBailFit.h.
Referenced by createLeBailFunction(), processInputBackground(), and processInputProperties().
|
private |
Monte Carlo temperature.
Definition at line 261 of file LeBailFit.h.
Referenced by acceptOrDeny(), doMarkovChain(), and execRandomWalkMinimizer().
|
private |
Flag to allow peaks with duplicated (HKL)^2 in input .hkl file.
Definition at line 274 of file LeBailFit.h.
Referenced by processInputProperties().
|
private |
Flag to use Annealing Simulation (i.e., use automatic adjusted temperature)
Definition at line 265 of file LeBailFit.h.
Referenced by doMarkovChain(), and execRandomWalkMinimizer().
enum { ... } Mantid::CurveFitting::Algorithms::LeBailFit::m_walkStyle |
Monte Carlo algorithm.
Referenced by execRandomWalkMinimizer(), and proposeNewValues().
|
private |
Definition at line 195 of file LeBailFit.h.
Referenced by calculateDiffractionPattern(), createLeBailFunction(), createOutputDataWorkspace(), execPatternCalculation(), execRandomWalkMinimizer(), execRefineBackground(), and processInputProperties().
|
private |
|
private |
|
private |
Definition at line 192 of file LeBailFit.h.
Referenced by parseInstrumentParametersTable(), and processInputProperties().
|
private |
Definition at line 193 of file LeBailFit.h.
Referenced by parseBraggPeaksParametersTable(), and processInputProperties().