Mantid
|
Multiple scattering absorption correction, originally used to correct vanadium spectrum at IPNS. More...
#include <CarpenterSampleCorrection.h>
Public Member Functions | |
const std::string | alias () const override |
const std::string | category () const override |
Algorithm's category for identification overriding a virtual method. 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 |
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::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... | |
Private Member Functions | |
API::WorkspaceGroup_sptr | calculateCorrection (API::MatrixWorkspace_sptr &inputWksp, double radius, double coeff1, double coeff2, double coeff3, bool doAbs, bool doMS) |
void | exec () override |
Execute the algorithm. More... | |
void | init () override |
Initialize the properties to default values. More... | |
API::MatrixWorkspace_sptr | minus (const API::MatrixWorkspace_sptr &lhsWS, const API::MatrixWorkspace_sptr &rhsWS) |
API::MatrixWorkspace_sptr | multiply (const API::MatrixWorkspace_sptr &lhsWS, const API::MatrixWorkspace_sptr &rhsWS) |
Additional Inherited Members | |
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< Algorithm > | createChildAlgorithm (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::PropertyManager > | getProcessProperties (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) |
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... | |
Multiple scattering absorption correction, originally used to correct vanadium spectrum at IPNS.
Algorithm originally worked out by Jack Carpenter and Asfia Huq and implmented in Java by Alok Chatterjee. Translated to C++ by Dennis Mikkelson.
Definition at line 20 of file CarpenterSampleCorrection.h.
|
inlineoverride |
Definition at line 46 of file CarpenterSampleCorrection.h.
|
private |
Definition at line 105 of file CarpenterSampleCorrection.cpp.
References Mantid::API::GenericDataProcessorAlgorithm< Base >::createChildAlgorithm(), and radius.
Referenced by exec().
|
override |
Algorithm's category for identification overriding a virtual method.
Definition at line 30 of file CarpenterSampleCorrection.cpp.
|
overrideprivate |
Execute the algorithm.
Definition at line 59 of file CarpenterSampleCorrection.cpp.
References calculateCorrection(), Mantid::API::GenericDataProcessorAlgorithm< Base >::getProperty(), minus(), multiply(), PARALLEL_CHECK_INTERRUPT_REGION, PARALLEL_END_INTERRUPT_REGION, PARALLEL_FOR_IF, PARALLEL_START_INTERRUPT_REGION, radius, Mantid::Kernel::threadSafe(), and Mantid::Geometry::y.
|
overrideprivate |
Initialize the properties to default values.
Definition at line 35 of file CarpenterSampleCorrection.cpp.
References Mantid::API::GenericDataProcessorAlgorithm< Base >::copyProperty(), Mantid::Kernel::Direction::Input, Mantid::Kernel::SingletonHolder< T >::Instance(), and Mantid::Kernel::Direction::Output.
|
private |
Definition at line 121 of file CarpenterSampleCorrection.cpp.
References Mantid::API::GenericDataProcessorAlgorithm< Base >::createChildAlgorithm(), and minus().
|
private |
Definition at line 131 of file CarpenterSampleCorrection.cpp.
References Mantid::API::GenericDataProcessorAlgorithm< Base >::createChildAlgorithm(), and multiply().
Referenced by exec(), and multiply().
|
override |
Algorithm's name for identification overriding a virtual method.
Definition at line 26 of file CarpenterSampleCorrection.cpp.
|
inlineoverride |
Definition at line 27 of file CarpenterSampleCorrection.h.
|
inlineoverride |
Summary of algorithms purpose.
Definition at line 40 of file CarpenterSampleCorrection.h.
|
override |
Algorithm's version for identification overriding a virtual method.
Definition at line 28 of file CarpenterSampleCorrection.cpp.