Mantid
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
Mantid::CurveFitting::Algorithms::QENSFitSequential Class Reference

QENSFitSequential - Performs a sequential QENS fit. More...

#include <QENSFitSequential.h>

Inheritance diagram for Mantid::CurveFitting::Algorithms::QENSFitSequential:
Mantid::API::GenericDataProcessorAlgorithm< Base >

Public Member Functions

const std::string category () const override
 Algorithm's category for identification. More...
 
const std::string name () const override
 Algorithms name for identification. More...
 
const std::vector< std::string > seeAlso () const override
 Algorithm's see also for related algorithms. More...
 
const std::string summary () const override
 Algorithm's summary for use in the GUI and help. More...
 
int version () const override
 Algorithm's version for identification. More...
 
- Public Member Functions inherited from Mantid::API::GenericDataProcessorAlgorithm< Base >
 GenericDataProcessorAlgorithm ()
 Constructor. More...
 
Kernel::IPropertyManager::TypedValue getProperty (const std::string &name) const override
 Get the property held by this object. More...
 
std::string getPropertyValue (const std::string &name) const override
 Get the property held by this object. More...
 

Protected Member Functions

virtual std::map< std::string, std::string > getAdditionalLogNumbers () const
 
virtual std::map< std::string, std::string > getAdditionalLogStrings () const
 
virtual std::vector< std::string > getFitParameterNames () const
 
virtual std::vector< API::MatrixWorkspace_sptrgetWorkspaces () const
 
virtual API::ITableWorkspace_sptr processParameterTable (API::ITableWorkspace_sptr parameterTable)
 
std::map< std::string, std::string > validateInputs () override
 
- Protected Member Functions inherited from Mantid::API::GenericDataProcessorAlgorithm< Base >
Workspace_sptr assemble (const std::string &partialWSName, const std::string &outputWSName)
 Assemble the partial workspaces from all MPI processes. More...
 
Workspace_sptr assemble (Workspace_sptr partialWS)
 Assemble the partial workspaces from all MPI processes. More...
 
void copyProperty (const API::Algorithm_sptr &alg, const std::string &name)
 Copy a property from an existing algorithm. More...
 
std::shared_ptr< AlgorithmcreateChildAlgorithm (const std::string &name, const double startProgress=-1., const double endProgress=-1., const bool enableLogging=true, const int &version=-1) override
 Create a Child Algorithm. More...
 
virtual ITableWorkspace_sptr determineChunk (const std::string &filename)
 
MatrixWorkspace_sptr divide (const MatrixWorkspace_sptr lhs, const double &rhsValue)
 Divide a matrix workspace by a single value. More...
 
MatrixWorkspace_sptr divide (const MatrixWorkspace_sptr lhs, const MatrixWorkspace_sptr rhs)
 Divide a matrix workspace by another matrix workspace. More...
 
void forwardProperties ()
 
int getNThreads ()
 Return the number of MPI processes running. More...
 
std::shared_ptr< Kernel::PropertyManagergetProcessProperties (const std::string &propertyManager=std::string()) const
 Get the property manager object of a given name from the property manager data service, or create a new one. More...
 
bool isMainThread ()
 Return true if we are running on the main thread. More...
 
Workspace_sptr load (const std::string &inputData, const bool loadQuiet=false)
 Determine what kind of input data we have and load it. More...
 
virtual MatrixWorkspace_sptr loadChunk (const size_t rowIndex)
 
void mapPropertyName (const std::string &nameInProp, const std::string &nameInPropManager)
 Declare mapping of property name to name in the PropertyManager. More...
 
MatrixWorkspace_sptr minus (const MatrixWorkspace_sptr lhs, const double &rhsValue)
 Subract a single value from a matrix workspace. More...
 
MatrixWorkspace_sptr minus (const MatrixWorkspace_sptr lhs, const MatrixWorkspace_sptr rhs)
 Subract a matrix workspace by another matrix workspace. More...
 
MatrixWorkspace_sptr multiply (const MatrixWorkspace_sptr lhs, const double &rhsValue)
 Multiply a matrix workspace by a single value. More...
 
MatrixWorkspace_sptr multiply (const MatrixWorkspace_sptr lhs, const MatrixWorkspace_sptr rhs)
 Multiply a matrix workspace by another matrix workspace. More...
 
MatrixWorkspace_sptr plus (const MatrixWorkspace_sptr lhs, const double &rhsValue)
 Add a single value to a matrix workspace. More...
 
MatrixWorkspace_sptr plus (const MatrixWorkspace_sptr lhs, const MatrixWorkspace_sptr rhs)
 Add a matrix workspace to another matrix workspace. More...
 
void saveNexus (const std::string &outputWSName, const std::string &outputFile)
 Save a workspace as a nexus file, with check for which thread we are executing in. More...
 
void setAccumAlg (const std::string &alg)
 
void setLoadAlg (const std::string &alg)
 
void setLoadAlgFileProp (const std::string &filePropName)
 
void setPropManagerPropName (const std::string &propName)
 
std::vector< std::string > splitInput (const std::string &input)
 

Private Member Functions

void addAdditionalLogs (const API::Workspace_sptr &result)
 
void addAdditionalLogs (const API::WorkspaceGroup_sptr &resultWorkspace)
 
void addFitRangeLogs (const API::Workspace_sptr &resultWorkspace, size_t itter)
 
std::vector< API::MatrixWorkspace_sptrconvertInputToElasticQ (const std::vector< API::MatrixWorkspace_sptr > &workspaces) const
 
void copyLogs (const API::MatrixWorkspace_sptr &resultWorkspace, const API::Workspace_sptr &resultGroup)
 
void copyLogs (const API::MatrixWorkspace_sptr &resultWorkspace, const API::WorkspaceGroup_sptr &resultGroup)
 
void copyLogs (const API::Workspace_sptr &resultWorkspace, std::vector< API::MatrixWorkspace_sptr > const &workspaces)
 
void copyLogs (const API::WorkspaceGroup_sptr &resultWorkspaces, std::vector< API::MatrixWorkspace_sptr > const &workspaces)
 
void deleteTemporaryWorkspaces (const std::string &outputBaseName)
 
void exec () override
 
void extractMembers (const API::WorkspaceGroup_sptr &resultGroupWs, const std::vector< API::MatrixWorkspace_sptr > &workspaces, const std::string &outputWsName)
 
API::IAlgorithm_sptr extractMembersAlgorithm (const API::WorkspaceGroup_sptr &resultGroupWs, const std::string &outputWsName) const
 
std::vector< std::size_t > getDatasetGrouping (const std::vector< API::MatrixWorkspace_sptr > &workspaces) const
 
std::string getInputString (const std::vector< API::MatrixWorkspace_sptr > &workspaces) const
 
std::string getOutputBaseName () const
 
std::string getTemporaryName () const
 
std::set< std::string > getUniqueParameterNames () const
 
void init () override
 
virtual bool isFitParameter (const std::string &parameterName) const
 
API::ITableWorkspace_sptr performFit (const std::string &input, const std::string &output)
 
API::WorkspaceGroup_sptr processIndirectFitParameters (const API::ITableWorkspace_sptr &parameterWorkspace, const std::vector< std::size_t > &grouping)
 
void renameGroupWorkspace (std::string const &currentName, std::vector< std::string > const &spectra, std::string const &outputBaseName, std::string const &endOfSuffix)
 
void renameWorkspaces (API::WorkspaceGroup_sptr outputGroup, std::vector< std::string > const &spectra, std::string const &outputBaseName, std::string const &endOfSuffix)
 
void renameWorkspaces (API::WorkspaceGroup_sptr outputGroup, std::vector< std::string > const &spectra, std::string const &outputBaseName, std::string const &endOfSuffix, std::vector< std::string > const &names)
 
virtual bool throwIfElasticQConversionFails () const
 

Additional Inherited Members

- Protected Attributes inherited from Mantid::API::GenericDataProcessorAlgorithm< Base >
bool m_useMPI
 MPI option. If false, we will use one job event if MPI is available. More...
 

Detailed Description

QENSFitSequential - Performs a sequential QENS fit.

Definition at line 25 of file QENSFitSequential.h.

Member Function Documentation

◆ addAdditionalLogs() [1/2]

void Mantid::CurveFitting::Algorithms::QENSFitSequential::addAdditionalLogs ( const API::Workspace_sptr result)
private

◆ addAdditionalLogs() [2/2]

void Mantid::CurveFitting::Algorithms::QENSFitSequential::addAdditionalLogs ( const API::WorkspaceGroup_sptr resultWorkspace)
private

Definition at line 568 of file QENSFitSequential.cpp.

References addAdditionalLogs(), and workspace.

Referenced by addAdditionalLogs(), and exec().

◆ addFitRangeLogs()

void Mantid::CurveFitting::Algorithms::QENSFitSequential::addFitRangeLogs ( const API::Workspace_sptr resultWorkspace,
size_t  itter 
)
private

◆ category()

const std::string Mantid::CurveFitting::Algorithms::QENSFitSequential::category ( ) const
override

Algorithm's category for identification.

See also
Algorithm::category

Definition at line 309 of file QENSFitSequential.cpp.

◆ convertInputToElasticQ()

std::vector< MatrixWorkspace_sptr > Mantid::CurveFitting::Algorithms::QENSFitSequential::convertInputToElasticQ ( const std::vector< API::MatrixWorkspace_sptr > &  workspaces) const
private

Definition at line 782 of file QENSFitSequential.cpp.

References getTemporaryName(), and throwIfElasticQConversionFails().

Referenced by exec(), and validateInputs().

◆ copyLogs() [1/4]

void Mantid::CurveFitting::Algorithms::QENSFitSequential::copyLogs ( const API::MatrixWorkspace_sptr resultWorkspace,
const API::Workspace_sptr resultGroup 
)
private

◆ copyLogs() [2/4]

void Mantid::CurveFitting::Algorithms::QENSFitSequential::copyLogs ( const API::MatrixWorkspace_sptr resultWorkspace,
const API::WorkspaceGroup_sptr resultGroup 
)
private

Definition at line 814 of file QENSFitSequential.cpp.

References copyLogs(), and workspace.

◆ copyLogs() [3/4]

void Mantid::CurveFitting::Algorithms::QENSFitSequential::copyLogs ( const API::Workspace_sptr resultWorkspace,
std::vector< API::MatrixWorkspace_sptr > const &  workspaces 
)
private

◆ copyLogs() [4/4]

void Mantid::CurveFitting::Algorithms::QENSFitSequential::copyLogs ( const API::WorkspaceGroup_sptr resultWorkspaces,
std::vector< API::MatrixWorkspace_sptr > const &  workspaces 
)
private

Definition at line 798 of file QENSFitSequential.cpp.

References copyLogs().

Referenced by copyLogs(), and exec().

◆ deleteTemporaryWorkspaces()

void Mantid::CurveFitting::Algorithms::QENSFitSequential::deleteTemporaryWorkspaces ( const std::string &  outputBaseName)
private

◆ exec()

void Mantid::CurveFitting::Algorithms::QENSFitSequential::exec ( )
overrideprivate

◆ extractMembers()

void Mantid::CurveFitting::Algorithms::QENSFitSequential::extractMembers ( const API::WorkspaceGroup_sptr resultGroupWs,
const std::vector< API::MatrixWorkspace_sptr > &  workspaces,
const std::string &  outputWsName 
)
private

Definition at line 786 of file QENSFitSequential.cpp.

References extractMembersAlgorithm(), and workspace.

Referenced by exec().

◆ extractMembersAlgorithm()

IAlgorithm_sptr Mantid::CurveFitting::Algorithms::QENSFitSequential::extractMembersAlgorithm ( const API::WorkspaceGroup_sptr resultGroupWs,
const std::string &  outputWsName 
) const
private

◆ getAdditionalLogNumbers()

std::map< std::string, std::string > Mantid::CurveFitting::Algorithms::QENSFitSequential::getAdditionalLogNumbers ( ) const
protectedvirtual

Definition at line 564 of file QENSFitSequential.cpp.

Referenced by addAdditionalLogs().

◆ getAdditionalLogStrings()

std::map< std::string, std::string > Mantid::CurveFitting::Algorithms::QENSFitSequential::getAdditionalLogStrings ( ) const
protectedvirtual

◆ getDatasetGrouping()

std::vector< std::size_t > Mantid::CurveFitting::Algorithms::QENSFitSequential::getDatasetGrouping ( const std::vector< API::MatrixWorkspace_sptr > &  workspaces) const
private

◆ getFitParameterNames()

std::vector< std::string > Mantid::CurveFitting::Algorithms::QENSFitSequential::getFitParameterNames ( ) const
protectedvirtual

Definition at line 630 of file QENSFitSequential.cpp.

References getUniqueParameterNames().

Referenced by processIndirectFitParameters().

◆ getInputString()

std::string Mantid::CurveFitting::Algorithms::QENSFitSequential::getInputString ( const std::vector< API::MatrixWorkspace_sptr > &  workspaces) const
private

◆ getOutputBaseName()

std::string Mantid::CurveFitting::Algorithms::QENSFitSequential::getOutputBaseName ( ) const
private

◆ getTemporaryName()

std::string Mantid::CurveFitting::Algorithms::QENSFitSequential::getTemporaryName ( ) const
private

Definition at line 843 of file QENSFitSequential.cpp.

References name().

Referenced by convertInputToElasticQ(), and deleteTemporaryWorkspaces().

◆ getUniqueParameterNames()

std::set< std::string > Mantid::CurveFitting::Algorithms::QENSFitSequential::getUniqueParameterNames ( ) const
private

◆ getWorkspaces()

std::vector< MatrixWorkspace_sptr > Mantid::CurveFitting::Algorithms::QENSFitSequential::getWorkspaces ( ) const
protectedvirtual

◆ init()

void Mantid::CurveFitting::Algorithms::QENSFitSequential::init ( )
overrideprivate

◆ isFitParameter()

bool Mantid::CurveFitting::Algorithms::QENSFitSequential::isFitParameter ( const std::string &  parameterName) const
privatevirtual

Definition at line 628 of file QENSFitSequential.cpp.

◆ name()

const std::string Mantid::CurveFitting::Algorithms::QENSFitSequential::name ( ) const
override

Algorithms name for identification.

See also
Algorithm::name

Definition at line 303 of file QENSFitSequential.cpp.

Referenced by getAdditionalLogStrings(), and getTemporaryName().

◆ performFit()

ITableWorkspace_sptr Mantid::CurveFitting::Algorithms::QENSFitSequential::performFit ( const std::string &  input,
const std::string &  output 
)
private

◆ processIndirectFitParameters()

WorkspaceGroup_sptr Mantid::CurveFitting::Algorithms::QENSFitSequential::processIndirectFitParameters ( const API::ITableWorkspace_sptr parameterWorkspace,
const std::vector< std::size_t > &  grouping 
)
private

◆ processParameterTable()

ITableWorkspace_sptr Mantid::CurveFitting::Algorithms::QENSFitSequential::processParameterTable ( API::ITableWorkspace_sptr  parameterTable)
protectedvirtual

Definition at line 681 of file QENSFitSequential.cpp.

Referenced by exec().

◆ renameGroupWorkspace()

void Mantid::CurveFitting::Algorithms::QENSFitSequential::renameGroupWorkspace ( std::string const &  currentName,
std::vector< std::string > const &  spectra,
std::string const &  outputBaseName,
std::string const &  endOfSuffix 
)
private

Definition at line 705 of file QENSFitSequential.cpp.

References Mantid::Kernel::SingletonHolder< T >::Instance(), and renameWorkspaces().

Referenced by exec().

◆ renameWorkspaces() [1/2]

void Mantid::CurveFitting::Algorithms::QENSFitSequential::renameWorkspaces ( API::WorkspaceGroup_sptr  outputGroup,
std::vector< std::string > const &  spectra,
std::string const &  outputBaseName,
std::string const &  endOfSuffix 
)
private

◆ renameWorkspaces() [2/2]

void Mantid::CurveFitting::Algorithms::QENSFitSequential::renameWorkspaces ( API::WorkspaceGroup_sptr  outputGroup,
std::vector< std::string > const &  spectra,
std::string const &  outputBaseName,
std::string const &  endOfSuffix,
std::vector< std::string > const &  names 
)
private

◆ seeAlso()

const std::vector< std::string > Mantid::CurveFitting::Algorithms::QENSFitSequential::seeAlso ( ) const
override

Algorithm's see also for related algorithms.

See also
Algorithm::seeAlso

Definition at line 315 of file QENSFitSequential.cpp.

◆ summary()

const std::string Mantid::CurveFitting::Algorithms::QENSFitSequential::summary ( ) const
override

Algorithm's summary for use in the GUI and help.

See also
Algorithm::summary

Definition at line 312 of file QENSFitSequential.cpp.

◆ throwIfElasticQConversionFails()

bool Mantid::CurveFitting::Algorithms::QENSFitSequential::throwIfElasticQConversionFails ( ) const
privatevirtual

Definition at line 626 of file QENSFitSequential.cpp.

Referenced by convertInputToElasticQ().

◆ validateInputs()

std::map< std::string, std::string > Mantid::CurveFitting::Algorithms::QENSFitSequential::validateInputs ( )
overrideprotected

◆ version()

int Mantid::CurveFitting::Algorithms::QENSFitSequential::version ( ) const
override

Algorithm's version for identification.

See also
Algorithm::version

Definition at line 306 of file QENSFitSequential.cpp.


The documentation for this class was generated from the following files: