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 = TrackFindingCDC::ParameterVector<c_N>
 The vector type representing the n related parameters.
 
using CovarianceMatrix = TrackFindingCDC::CovarianceMatrix<c_N>
 The matrix type representing the covariance of the n related parameters.
 
using PrecisionMatrix = TrackFindingCDC::PrecisionMatrix<c_N>
 The matrix type representing the precision of the n related parameters.
 
using JacobianMatrix = TrackFindingCDC::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::TrackFindingCDC::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 = TrackFindingCDC::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 = TrackFindingCDC::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 = TrackFindingCDC::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 = TrackFindingCDC::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 91 of file UncertainParameters.icc.h.

92 {
93 return CovarianceMatrixUtil::fromFullPrecision(prec);
94 }

◆ covarianceFromPrecision()

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

Convert the precision matrix to the corresponding covariance matrix.

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

78 {
79 return CovarianceMatrixUtil::fromPrecision(prec);
80 }

◆ 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 70 of file UncertainParameters.icc.h.

71 {
72 return CovarianceMatrixUtil::getSub<ACovarianceMatrix, I>(cov);
73 }

◆ 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 62 of file UncertainParameters.icc.h.

63 {
64 return ParameterVectorUtil::getSub<AParameterVector, I>(par);
65 }

◆ identity()

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

Returns an identity matrix.

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

55 {
56 return CovarianceMatrixUtil::identity<c_N>();
57 }

◆ precisionFromCovariance()

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

Convert the covariance matrix to the corresponding precision matrix.

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

85 {
86 return CovarianceMatrixUtil::toPrecision(cov);
87 }

◆ 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 98 of file UncertainParameters.icc.h.

99 {
100 return CovarianceMatrixUtil::fullToPrecision(cov);
101 }

◆ reversalJacobian()

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

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

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

38 {
39 return JacobianMatrixUtil::scale(T::reversalSigns());
40 }

◆ reverse()

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

Reverse the covariance matrix inplace.

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

44 {
45 return transport(reversalJacobian(), cov);
46 }

◆ reversed()

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

Return a copy of the reversed covariance matrix.

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

50 {
51 return transported(reversalJacobian(), cov);
52 }

◆ 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.

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

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: