Mantid
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
Mantid::Algorithms::Arithmetic::ErrorPropagation< N, Func > Class Template Reference

#include <PolarizationCorrectionsHelpers.h>

Classes

struct  AutoDevResult
 

Public Types

using ADScalar = Types::ADScalar
 
using CovarianceMatrix = Types::CovarianceMatrix
 
using DerType = Types::DerType
 
using InputArray = Types::InputArray
 
using Types = ErrorTypeHelper< N >
 

Public Member Functions

 ErrorPropagation (Func func)
 
AutoDevResult evaluate (const InputArray &values, const InputArray &errors) const
 
AutoDevResult evaluateWithCovariance (const InputArray &values, const CovarianceMatrix &covariance) const
 
template<std::same_as< API::MatrixWorkspace_sptr >... Ts>
API::MatrixWorkspace_sptr evaluateWorkspaces (const bool outputWorkspaceDistribution, Ts... args) const
 
template<std::same_as< API::MatrixWorkspace_sptr >... Ts>
API::MatrixWorkspace_sptr evaluateWorkspaces (Ts... args) const
 
template<typename Provider , std::same_as< API::MatrixWorkspace_sptr >... Ts>
requires CovarianceMatrixProviderFor<Provider, InputArray, CovarianceMatrix>
API::MatrixWorkspace_sptr evaluateWorkspacesWithCovariance (const bool outputWorkspaceDistribution, Provider covarianceMatrixProvider, Ts... args) const
 
template<typename Provider , std::same_as< API::MatrixWorkspace_sptr >... Ts>
requires CovarianceMatrixProviderFor<Provider, InputArray, CovarianceMatrix>
API::MatrixWorkspace_sptr evaluateWorkspacesWithCovariance (Provider covarianceMatrixProvider, Ts... args) const
 

Static Public Member Functions

static CovarianceMatrix covarianceMatrixFromErrors (const InputArray &errors)
 

Private Member Functions

API::MatrixWorkspace_sptr convertToWorkspace2D (const API::MatrixWorkspace_sptr &workspace) const
 
template<typename Provider , std::same_as< API::MatrixWorkspace_sptr >... Ts>
requires CovarianceMatrixProviderFor<Provider, InputArray, CovarianceMatrix>
API::MatrixWorkspace_sptr evaluateWorkspacesImpl (std::optional< bool > outputWorkspaceDistribution, Provider covarianceMatrixProvider, Ts... args) const
 
API::MatrixWorkspace_sptr runWorkspaceConversionAlg (const API::MatrixWorkspace_sptr &workspace, const std::string &algName) const
 

Static Private Member Functions

static CovarianceMatrix independentCovarianceMatrixProvider (const InputArray &, const InputArray &errors)
 

Private Attributes

Func computeFunc
 

Detailed Description

template<size_t N, typename Func>
class Mantid::Algorithms::Arithmetic::ErrorPropagation< N, Func >

Definition at line 181 of file PolarizationCorrectionsHelpers.h.

Member Typedef Documentation

◆ ADScalar

template<size_t N, typename Func >
using Mantid::Algorithms::Arithmetic::ErrorPropagation< N, Func >::ADScalar = Types::ADScalar

Definition at line 185 of file PolarizationCorrectionsHelpers.h.

◆ CovarianceMatrix

template<size_t N, typename Func >
using Mantid::Algorithms::Arithmetic::ErrorPropagation< N, Func >::CovarianceMatrix = Types::CovarianceMatrix

Definition at line 187 of file PolarizationCorrectionsHelpers.h.

◆ DerType

template<size_t N, typename Func >
using Mantid::Algorithms::Arithmetic::ErrorPropagation< N, Func >::DerType = Types::DerType

Definition at line 184 of file PolarizationCorrectionsHelpers.h.

◆ InputArray

template<size_t N, typename Func >
using Mantid::Algorithms::Arithmetic::ErrorPropagation< N, Func >::InputArray = Types::InputArray

Definition at line 186 of file PolarizationCorrectionsHelpers.h.

◆ Types

template<size_t N, typename Func >
using Mantid::Algorithms::Arithmetic::ErrorPropagation< N, Func >::Types = ErrorTypeHelper<N>

Definition at line 183 of file PolarizationCorrectionsHelpers.h.

Constructor & Destructor Documentation

◆ ErrorPropagation()

template<size_t N, typename Func >
Mantid::Algorithms::Arithmetic::ErrorPropagation< N, Func >::ErrorPropagation ( Func  func)
inline

Definition at line 188 of file PolarizationCorrectionsHelpers.h.

Member Function Documentation

◆ convertToWorkspace2D()

template<size_t N, typename Func >
API::MatrixWorkspace_sptr Mantid::Algorithms::Arithmetic::ErrorPropagation< N, Func >::convertToWorkspace2D ( const API::MatrixWorkspace_sptr workspace) const
inlineprivate

◆ covarianceMatrixFromErrors()

template<size_t N, typename Func >
static CovarianceMatrix Mantid::Algorithms::Arithmetic::ErrorPropagation< N, Func >::covarianceMatrixFromErrors ( const InputArray errors)
inlinestatic

◆ evaluate()

template<size_t N, typename Func >
AutoDevResult Mantid::Algorithms::Arithmetic::ErrorPropagation< N, Func >::evaluate ( const InputArray values,
const InputArray errors 
) const
inline

◆ evaluateWithCovariance()

template<size_t N, typename Func >
AutoDevResult Mantid::Algorithms::Arithmetic::ErrorPropagation< N, Func >::evaluateWithCovariance ( const InputArray values,
const CovarianceMatrix covariance 
) const
inline

◆ evaluateWorkspaces() [1/2]

template<size_t N, typename Func >
template<std::same_as< API::MatrixWorkspace_sptr >... Ts>
API::MatrixWorkspace_sptr Mantid::Algorithms::Arithmetic::ErrorPropagation< N, Func >::evaluateWorkspaces ( const bool  outputWorkspaceDistribution,
Ts...  args 
) const
inline

◆ evaluateWorkspaces() [2/2]

template<size_t N, typename Func >
template<std::same_as< API::MatrixWorkspace_sptr >... Ts>
API::MatrixWorkspace_sptr Mantid::Algorithms::Arithmetic::ErrorPropagation< N, Func >::evaluateWorkspaces ( Ts...  args) const
inline

◆ evaluateWorkspacesImpl()

template<size_t N, typename Func >
template<typename Provider , std::same_as< API::MatrixWorkspace_sptr >... Ts>
requires CovarianceMatrixProviderFor<Provider, InputArray, CovarianceMatrix>
API::MatrixWorkspace_sptr Mantid::Algorithms::Arithmetic::ErrorPropagation< N, Func >::evaluateWorkspacesImpl ( std::optional< bool >  outputWorkspaceDistribution,
Provider  covarianceMatrixProvider,
Ts...  args 
) const
inlineprivate

◆ evaluateWorkspacesWithCovariance() [1/2]

template<size_t N, typename Func >
template<typename Provider , std::same_as< API::MatrixWorkspace_sptr >... Ts>
requires CovarianceMatrixProviderFor<Provider, InputArray, CovarianceMatrix>
API::MatrixWorkspace_sptr Mantid::Algorithms::Arithmetic::ErrorPropagation< N, Func >::evaluateWorkspacesWithCovariance ( const bool  outputWorkspaceDistribution,
Provider  covarianceMatrixProvider,
Ts...  args 
) const
inline

◆ evaluateWorkspacesWithCovariance() [2/2]

template<size_t N, typename Func >
template<typename Provider , std::same_as< API::MatrixWorkspace_sptr >... Ts>
requires CovarianceMatrixProviderFor<Provider, InputArray, CovarianceMatrix>
API::MatrixWorkspace_sptr Mantid::Algorithms::Arithmetic::ErrorPropagation< N, Func >::evaluateWorkspacesWithCovariance ( Provider  covarianceMatrixProvider,
Ts...  args 
) const
inline

◆ independentCovarianceMatrixProvider()

template<size_t N, typename Func >
static CovarianceMatrix Mantid::Algorithms::Arithmetic::ErrorPropagation< N, Func >::independentCovarianceMatrixProvider ( const InputArray ,
const InputArray errors 
)
inlinestaticprivate

◆ runWorkspaceConversionAlg()

template<size_t N, typename Func >
API::MatrixWorkspace_sptr Mantid::Algorithms::Arithmetic::ErrorPropagation< N, Func >::runWorkspaceConversionAlg ( const API::MatrixWorkspace_sptr workspace,
const std::string &  algName 
) const
inlineprivate

Member Data Documentation

◆ computeFunc

template<size_t N, typename Func >
Func Mantid::Algorithms::Arithmetic::ErrorPropagation< N, Func >::computeFunc
private

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