Mantid
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
Mantid::Algorithms::Arithmetic::CovarianceMatrixProvider< IndependentVars, DependentVars, DependentFuncs > Class Template Reference

#include <PolarizationCorrectionsHelpers.h>

Public Types

using ADScalar = typename IndependentTypes::ADScalar
 
using CovarianceMatrix = typename Types::CovarianceMatrix
 
using FunctionInput = std::array< ADScalar, TotalVars >
 
using IndependentDerType = typename IndependentTypes::DerType
 
using IndependentTypes = ErrorTypeHelper< IndependentVars >
 
using InputArray = typename Types::InputArray
 
using Types = ErrorTypeHelper< TotalVars >
 

Public Member Functions

 CovarianceMatrixProvider (DependentFuncs... dependentFuncs)
 
CovarianceMatrix operator() (const InputArray &inputValues, const InputArray &inputErrors) const
 

Static Public Attributes

static constexpr size_t TotalVars = IndependentVars + DependentVars
 

Private Member Functions

template<size_t... Indices>
std::array< IndependentDerType, DependentVars > dependentDerivatives (const FunctionInput &functionInputs, std::index_sequence< Indices... >) const
 
template<typename Func >
ADScalar evaluateDependentFunction (Func const &func, const FunctionInput &functionInputs) const
 
FunctionInput makeFunctionInput (const InputArray &inputValues) const
 

Private Attributes

std::tuple< DependentFuncs... > m_dependentFuncs
 

Detailed Description

template<size_t IndependentVars, size_t DependentVars, typename... DependentFuncs>
class Mantid::Algorithms::Arithmetic::CovarianceMatrixProvider< IndependentVars, DependentVars, DependentFuncs >

Definition at line 93 of file PolarizationCorrectionsHelpers.h.

Member Typedef Documentation

◆ ADScalar

template<size_t IndependentVars, size_t DependentVars, typename... DependentFuncs>
using Mantid::Algorithms::Arithmetic::CovarianceMatrixProvider< IndependentVars, DependentVars, DependentFuncs >::ADScalar = typename IndependentTypes::ADScalar

Definition at line 102 of file PolarizationCorrectionsHelpers.h.

◆ CovarianceMatrix

template<size_t IndependentVars, size_t DependentVars, typename... DependentFuncs>
using Mantid::Algorithms::Arithmetic::CovarianceMatrixProvider< IndependentVars, DependentVars, DependentFuncs >::CovarianceMatrix = typename Types::CovarianceMatrix

Definition at line 101 of file PolarizationCorrectionsHelpers.h.

◆ FunctionInput

template<size_t IndependentVars, size_t DependentVars, typename... DependentFuncs>
using Mantid::Algorithms::Arithmetic::CovarianceMatrixProvider< IndependentVars, DependentVars, DependentFuncs >::FunctionInput = std::array<ADScalar, TotalVars>

Definition at line 104 of file PolarizationCorrectionsHelpers.h.

◆ IndependentDerType

template<size_t IndependentVars, size_t DependentVars, typename... DependentFuncs>
using Mantid::Algorithms::Arithmetic::CovarianceMatrixProvider< IndependentVars, DependentVars, DependentFuncs >::IndependentDerType = typename IndependentTypes::DerType

Definition at line 103 of file PolarizationCorrectionsHelpers.h.

◆ IndependentTypes

template<size_t IndependentVars, size_t DependentVars, typename... DependentFuncs>
using Mantid::Algorithms::Arithmetic::CovarianceMatrixProvider< IndependentVars, DependentVars, DependentFuncs >::IndependentTypes = ErrorTypeHelper<IndependentVars>

Definition at line 98 of file PolarizationCorrectionsHelpers.h.

◆ InputArray

template<size_t IndependentVars, size_t DependentVars, typename... DependentFuncs>
using Mantid::Algorithms::Arithmetic::CovarianceMatrixProvider< IndependentVars, DependentVars, DependentFuncs >::InputArray = typename Types::InputArray

Definition at line 100 of file PolarizationCorrectionsHelpers.h.

◆ Types

template<size_t IndependentVars, size_t DependentVars, typename... DependentFuncs>
using Mantid::Algorithms::Arithmetic::CovarianceMatrixProvider< IndependentVars, DependentVars, DependentFuncs >::Types = ErrorTypeHelper<TotalVars>

Definition at line 99 of file PolarizationCorrectionsHelpers.h.

Constructor & Destructor Documentation

◆ CovarianceMatrixProvider()

template<size_t IndependentVars, size_t DependentVars, typename... DependentFuncs>
Mantid::Algorithms::Arithmetic::CovarianceMatrixProvider< IndependentVars, DependentVars, DependentFuncs >::CovarianceMatrixProvider ( DependentFuncs...  dependentFuncs)
inlineexplicit

Definition at line 106 of file PolarizationCorrectionsHelpers.h.

Member Function Documentation

◆ dependentDerivatives()

template<size_t IndependentVars, size_t DependentVars, typename... DependentFuncs>
template<size_t... Indices>
std::array< IndependentDerType, DependentVars > Mantid::Algorithms::Arithmetic::CovarianceMatrixProvider< IndependentVars, DependentVars, DependentFuncs >::dependentDerivatives ( const FunctionInput functionInputs,
std::index_sequence< Indices... >   
) const
inlineprivate

◆ evaluateDependentFunction()

template<size_t IndependentVars, size_t DependentVars, typename... DependentFuncs>
template<typename Func >
ADScalar Mantid::Algorithms::Arithmetic::CovarianceMatrixProvider< IndependentVars, DependentVars, DependentFuncs >::evaluateDependentFunction ( Func const &  func,
const FunctionInput functionInputs 
) const
inlineprivate

◆ makeFunctionInput()

template<size_t IndependentVars, size_t DependentVars, typename... DependentFuncs>
FunctionInput Mantid::Algorithms::Arithmetic::CovarianceMatrixProvider< IndependentVars, DependentVars, DependentFuncs >::makeFunctionInput ( const InputArray inputValues) const
inlineprivate

◆ operator()()

template<size_t IndependentVars, size_t DependentVars, typename... DependentFuncs>
CovarianceMatrix Mantid::Algorithms::Arithmetic::CovarianceMatrixProvider< IndependentVars, DependentVars, DependentFuncs >::operator() ( const InputArray inputValues,
const InputArray inputErrors 
) const
inline

Member Data Documentation

◆ m_dependentFuncs

template<size_t IndependentVars, size_t DependentVars, typename... DependentFuncs>
std::tuple<DependentFuncs...> Mantid::Algorithms::Arithmetic::CovarianceMatrixProvider< IndependentVars, DependentVars, DependentFuncs >::m_dependentFuncs
private

◆ TotalVars

template<size_t IndependentVars, size_t DependentVars, typename... DependentFuncs>
constexpr size_t Mantid::Algorithms::Arithmetic::CovarianceMatrixProvider< IndependentVars, DependentVars, DependentFuncs >::TotalVars = IndependentVars + DependentVars
staticconstexpr

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