 |
Belle II Software
release-05-02-19
|
12 #include <tracking/trackFindingCDC/geometry/UncertainParameters.h>
14 #include <tracking/trackFindingCDC/numerics/CovarianceMatrixUtil.h>
15 #include <tracking/trackFindingCDC/numerics/JacobianMatrixUtil.h>
16 #include <tracking/trackFindingCDC/numerics/ParameterVectorUtil.h>
23 namespace TrackFindingCDC {
25 template <
class T,
class AEParameters>
27 CovarianceMatrix& cov)
32 template <
class T,
class AEParameters>
39 template <
class T,
class AEParameters>
44 template <
class T,
class AEParameters>
47 return transport(reversalJacobian(), cov);
50 template <
class T,
class AEParameters>
53 return transported(reversalJacobian(), cov);
56 template <
class T,
class AEParameters>
58 return CovarianceMatrixUtil::identity<c_N>();
61 template <
class T,
class AEParameters>
62 template <
class AParameterVector,
int I>
66 return ParameterVectorUtil::getSub<AParameterVector, I>(par);
69 template <
class T,
class AEParameters>
70 template <
class ACovarianceMatrix,
int I>
74 return CovarianceMatrixUtil::getSub<ACovarianceMatrix, I>(cov);
77 template <
class T,
class AEParameters>
84 template <
class T,
class AEParameters>
91 template <
class T,
class AEParameters>
98 template <
class T,
class AEParameters>
static JacobianMatrix reversalJacobian()
Jacobian matrix needed in the reversal operation of the parameter vector.
static CovarianceMatrix< M > transported(const JacobianMatrix< M, N > &jacobian, const CovarianceMatrix< N > &cov)
Return a copy of the covariance matrix transported with the given jacobian matrix.
static JacobianMatrix< N > scale(const ParameterVector< N > &scales)
Calculates the jacobian matrix for a scaling in each parameter.
static PrecisionMatrix< N > toPrecision(const CovarianceMatrix< N > &cov)
Convert covariance matrix to precision matrix - allows for reduced rank.
static void transport(const JacobianMatrix &jacobian, CovarianceMatrix &cov)
Transport the covariance matrix inplace with the given jacobian matrix.
static CovarianceMatrix identity()
Returns an identity matrix.
static PrecisionMatrix precisionFromCovariance(const CovarianceMatrix &cov)
Convert the covariance matrix to the corresponding precision matrix.
static ACovarianceMatrix getSubCovarianceMatrix(const CovarianceMatrix &cov)
Getter for a sub part of the covariance matrix.
static CovarianceMatrix transported(const JacobianMatrix &jacobian, const CovarianceMatrix &cov)
Return a copy of the covariance matrix transported with the given jacobian matrix.
Abstract base class for different kinds of events.
static PrecisionMatrix< N > fullToPrecision(const CovarianceMatrix< N > &cov)
Convert precision matrix to covariance matrix - assumes full rank.
static AParameterVector getSubParameterVector(const ParameterVector &par)
Getter for a sub part of the covariance matrix.
static CovarianceMatrix covarianceFromPrecision(const PrecisionMatrix &prec)
Convert the precision matrix to the corresponding covariance matrix.
static void transport(const JacobianMatrix< N, N > &jacobian, CovarianceMatrix< N > &cov)
Transport the covariance matrix inplace with the given jacobian matrix.
static CovarianceMatrix< N > fromPrecision(const PrecisionMatrix< N > &prec)
Convert precision matrix to covariance matrix - allows for reduced rank.
static CovarianceMatrix covarianceFromFullPrecision(const PrecisionMatrix &prec)
Convert the precision matrix to the corresponding covariance matrix.
static CovarianceMatrix< N > fromFullPrecision(const PrecisionMatrix< N > &prec)
Convert covariance matrix to precision matrix - assumes full rank.
A matrix implementation to be used as an interface typ through out the track finder.
static CovarianceMatrix reversed(const CovarianceMatrix &cov)
Return a copy of the reversed covariance matrix.
static void reverse(CovarianceMatrix &cov)
Reverse the covariance matrix inplace.
static PrecisionMatrix precisionFromFullCovariance(const CovarianceMatrix &cov)
Convert the covariance matrix to the corresponding precision matrix.