Belle II Software development
UncertainParametersUtil< T, AEParameters > Struct Template Reference

Utility struct to instantiate a couple of helper function related to a set of uncertain parameters. More...

#include <UncertainParameters.h>

Public Types

using EParamaters = AEParameters
 Indices of the parameters.
 
using ParameterVector = ParameterVector<c_N>
 The vector type representing the n related parameters.
 
using CovarianceMatrix = CovarianceMatrix<c_N>
 The matrix type representing the covariance of the n related parameters.
 
using PrecisionMatrix = PrecisionMatrix<c_N>
 The matrix type representing the precision of the n related parameters.
 
using JacobianMatrix = JacobianMatrix<c_N>
 The matrix type used to translate covariances and precisions im auto mapping of the parameter space.
 

Static Public Member Functions

static void transport (const JacobianMatrix &jacobian, CovarianceMatrix &cov)
 Transport the covariance matrix inplace with the given jacobian matrix.
 
static CovarianceMatrix transported (const JacobianMatrix &jacobian, const CovarianceMatrix &cov)
 Return a copy of the covariance matrix transported with the given jacobian matrix.
 
static JacobianMatrix reversalJacobian ()
 Jacobian matrix needed in the reversal operation of the parameter vector.
 
static void reverse (CovarianceMatrix &cov)
 Reverse the covariance matrix inplace.
 
static CovarianceMatrix reversed (const CovarianceMatrix &cov)
 Return a copy of the reversed covariance matrix.
 
static CovarianceMatrix identity ()
 Returns an identity matrix.
 
static CovarianceMatrix covarianceFromPrecision (const PrecisionMatrix &prec)
 Convert the precision matrix to the corresponding covariance matrix.
 
static PrecisionMatrix precisionFromCovariance (const CovarianceMatrix &cov)
 Convert the covariance matrix to the corresponding precision matrix.
 
static CovarianceMatrix covarianceFromFullPrecision (const PrecisionMatrix &prec)
 Convert the precision matrix to the corresponding covariance matrix.
 
static PrecisionMatrix precisionFromFullCovariance (const CovarianceMatrix &cov)
 Convert the covariance matrix to the corresponding precision matrix.
 
template<class AParameterVector, int I = 0>
static AParameterVector getSubParameterVector (const ParameterVector &par)
 Getter for a sub part of the covariance matrix.
 
template<class ACovarianceMatrix, int I = 0>
static ACovarianceMatrix getSubCovarianceMatrix (const CovarianceMatrix &cov)
 Getter for a sub part of the covariance matrix.
 

Static Public Attributes

static const size_t c_N = EParamaters::c_N
 Number of elements.
 

Detailed Description

template<class T, class AEParameters>
struct Belle2::TrackingUtilities::UncertainParametersUtil< T, AEParameters >

Utility struct to instantiate a couple of helper function related to a set of uncertain parameters.

Definition at line 24 of file UncertainParameters.h.

Member Typedef Documentation

◆ CovarianceMatrix

template<class T, class AEParameters>
using CovarianceMatrix = CovarianceMatrix<c_N>

The matrix type representing the covariance of the n related parameters.

Definition at line 36 of file UncertainParameters.h.

◆ EParamaters

template<class T, class AEParameters>
using EParamaters = AEParameters

Indices of the parameters.

Definition at line 27 of file UncertainParameters.h.

◆ JacobianMatrix

template<class T, class AEParameters>
using JacobianMatrix = JacobianMatrix<c_N>

The matrix type used to translate covariances and precisions im auto mapping of the parameter space.

Definition at line 42 of file UncertainParameters.h.

◆ ParameterVector

template<class T, class AEParameters>
using ParameterVector = ParameterVector<c_N>

The vector type representing the n related parameters.

Definition at line 33 of file UncertainParameters.h.

◆ PrecisionMatrix

template<class T, class AEParameters>
using PrecisionMatrix = PrecisionMatrix<c_N>

The matrix type representing the precision of the n related parameters.

Definition at line 39 of file UncertainParameters.h.

Member Function Documentation

◆ covarianceFromFullPrecision()

template<class T, class AEParameters>
auto covarianceFromFullPrecision ( const PrecisionMatrix & prec)
static

Convert the precision matrix to the corresponding covariance matrix.

Faster version with foreknowledge that the precision is of full rank.

Definition at line 97 of file UncertainParameters.icc.h.

99 {
100 return CovarianceMatrixUtil::fromFullPrecision(prec);
101 }

◆ covarianceFromPrecision()

template<class T, class AEParameters>
auto covarianceFromPrecision ( const PrecisionMatrix & prec)
static

Convert the precision matrix to the corresponding covariance matrix.

Definition at line 81 of file UncertainParameters.icc.h.

83 {
84 return CovarianceMatrixUtil::fromPrecision(prec);
85 }

◆ getSubCovarianceMatrix()

template<class T, class AEParameters>
template<class ACovarianceMatrix, int I>
ACovarianceMatrix getSubCovarianceMatrix ( const CovarianceMatrix & cov)
static

Getter for a sub part of the covariance matrix.

Definition at line 74 of file UncertainParameters.icc.h.

75 {
76 return CovarianceMatrixUtil::getSub<ACovarianceMatrix, I>(cov);
77 }

◆ getSubParameterVector()

template<class T, class AEParameters>
template<class AParameterVector, int I>
AParameterVector getSubParameterVector ( const ParameterVector & par)
static

Getter for a sub part of the covariance matrix.

Definition at line 66 of file UncertainParameters.icc.h.

67 {
68 return ParameterVectorUtil::getSub<AParameterVector, I>(par);
69 }

◆ identity()

template<class T, class AEParameters>
auto identity ( )
static

Returns an identity matrix.

Definition at line 58 of file UncertainParameters.icc.h.

59 {
60 return CovarianceMatrixUtil::identity<c_N>();
61 }

◆ precisionFromCovariance()

template<class T, class AEParameters>
auto precisionFromCovariance ( const CovarianceMatrix & cov)
static

Convert the covariance matrix to the corresponding precision matrix.

Definition at line 89 of file UncertainParameters.icc.h.

91 {
92 return CovarianceMatrixUtil::toPrecision(cov);
93 }

◆ precisionFromFullCovariance()

template<class T, class AEParameters>
auto precisionFromFullCovariance ( const CovarianceMatrix & cov)
static

Convert the covariance matrix to the corresponding precision matrix.

Faster version with foreknowledge that the precision is of full rank.

Definition at line 105 of file UncertainParameters.icc.h.

107 {
108 return CovarianceMatrixUtil::fullToPrecision(cov);
109 }

◆ reversalJacobian()

template<class T, class AEParameters>
auto reversalJacobian ( )
static

Jacobian matrix needed in the reversal operation of the parameter vector.

Definition at line 39 of file UncertainParameters.icc.h.

40 {
41 return JacobianMatrixUtil::scale(T::reversalSigns());
42 }

◆ reverse()

template<class T, class AEParameters>
void reverse ( CovarianceMatrix & cov)
static

Reverse the covariance matrix inplace.

Definition at line 45 of file UncertainParameters.icc.h.

46 {
47 return transport(reversalJacobian(), cov);
48 }

◆ reversed()

template<class T, class AEParameters>
auto reversed ( const CovarianceMatrix & cov)
static

Return a copy of the reversed covariance matrix.

Definition at line 51 of file UncertainParameters.icc.h.

53 {
54 return transported(reversalJacobian(), cov);
55 }

◆ transport()

template<class T, class AEParameters>
void transport ( const JacobianMatrix & jacobian,
CovarianceMatrix & cov )
static

Transport the covariance matrix inplace with the given jacobian matrix.

Definition at line 24 of file UncertainParameters.icc.h.

26 {
27 CovarianceMatrixUtil::transport(jacobian, cov);
28 }

◆ transported()

template<class T, class AEParameters>
auto transported ( const JacobianMatrix & jacobian,
const CovarianceMatrix & cov )
static

Return a copy of the covariance matrix transported with the given jacobian matrix.

Definition at line 31 of file UncertainParameters.icc.h.

34 {
35 return CovarianceMatrixUtil::transported(jacobian, cov);
36 }

Member Data Documentation

◆ c_N

template<class T, class AEParameters>
const size_t c_N = EParamaters::c_N
static

Number of elements.

Definition at line 30 of file UncertainParameters.h.


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