Belle II Software development
LineParameters.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#pragma once
9
10#include <tracking/trackFindingCDC/geometry/UncertainParameters.h>
11
12namespace Belle2 {
17
18 namespace TrackFindingCDC {
19
22
25
27 c_Phi0 = 0,
28
30 c_I = 1,
31
33 c_N = 2,
34 };
35 }
36
38 using ELineParameter = NLineParameterIndices::ELineParameter;
39
40 // Guard to prevent repeated template symbol emission
41 struct LineUtil;
42 extern template struct UncertainParametersUtil<LineUtil, ELineParameter>;
43
46
49 {
50 return ParameterVector({ -1.0, -1.0});
51 }
52
59 static double average(const LineUtil::ParameterVector& fromPar,
60 const LineUtil::CovarianceMatrix& fromCov,
61 const LineUtil::ParameterVector& toPar,
62 const LineUtil::CovarianceMatrix& toCov,
65 };
66
68 using LineParameters = LineUtil::ParameterVector;
69
71 using LineCovariance = LineUtil::CovarianceMatrix;
72
74 using LinePrecision = LineUtil::PrecisionMatrix;
75
77 using LineJacobian = LineUtil::JacobianMatrix;
78
79 }
80
82}
Namespace to hide the contained enum constants.
ELineParameter
Enumeration to address the individual helix parameters in a vector or matrix.
@ c_I
Constant to address the impact parameter.
@ c_Phi0
Constant to address the azimuth angle of the direction of flight at the perigee.
@ c_N
Constant for the total number of indices.
Abstract base class for different kinds of events.
Utility struct for functions and types related to the line parameters.
static ParameterVector reversalSigns()
Getter for the signs which have to be applied to reverse the traversal direction.
Utility struct to instantiate a couple of helper function related to a set of uncertain parameters.