Belle II Software  release-05-02-19
LineParameters.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Oliver Frost *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <tracking/trackFindingCDC/geometry/UncertainParameters.h>
13 
14 namespace Belle2 {
20  namespace TrackFindingCDC {
21 
23  namespace NLineParameterIndices {
24 
26  enum ELineParameter {
27 
29  c_Phi0 = 0,
30 
32  c_I = 1,
33 
35  c_N = 2,
36  };
37  }
38 
41 
42  // Guard to prevent repeated template symbol emission
43  struct LineUtil;
45 
48 
50  static ParameterVector reversalSigns()
51  {
52  return ParameterVector({ -1.0, -1.0});
53  }
54 
61  static double average(const LineUtil::ParameterVector& fromPar,
62  const LineUtil::CovarianceMatrix& fromCov,
63  const LineUtil::ParameterVector& toPar,
64  const LineUtil::CovarianceMatrix& toCov,
67  };
68 
70  using LineParameters = LineUtil::ParameterVector;
71 
73  using LineCovariance = LineUtil::CovarianceMatrix;
74 
76  using LinePrecision = LineUtil::PrecisionMatrix;
77 
79  using LineJacobian = LineUtil::JacobianMatrix;
80 
81  }
82 
84 }
Belle2::TrackFindingCDC::NLineParameterIndices::c_N
@ c_N
Constant for the total number of indices.
Definition: LineParameters.h:43
Belle2::TrackFindingCDC::UncertainParametersUtil< LineUtil, ELineParameter >::JacobianMatrix
TrackFindingCDC::JacobianMatrix< c_N > JacobianMatrix
The matrix type used to translate covariances and precisions im auto mapping of the parameter space.
Definition: UncertainParameters.h:52
Belle2::TrackFindingCDC::UncertainParametersUtil< LineUtil, ELineParameter >::ParameterVector
TrackFindingCDC::ParameterVector< c_N > ParameterVector
The vector type representing the n related parameters.
Definition: UncertainParameters.h:43
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::UncertainParametersUtil< LineUtil, ELineParameter >::PrecisionMatrix
TrackFindingCDC::PrecisionMatrix< c_N > PrecisionMatrix
The matrix type representing the precision of the n related parameters.
Definition: UncertainParameters.h:49
Belle2::TrackFindingCDC::UncertainParametersUtil< LineUtil, ELineParameter >
Belle2::TrackFindingCDC::UncertainParametersUtil< LineUtil, ELineParameter >::CovarianceMatrix
TrackFindingCDC::CovarianceMatrix< c_N > CovarianceMatrix
The matrix type representing the covariance of the n related parameters.
Definition: UncertainParameters.h:46
Belle2::TrackFindingCDC::PlainMatrix
A matrix implementation to be used as an interface typ through out the track finder.
Definition: PlainMatrix.h:50
Belle2::TrackFindingCDC::NLineParameterIndices::c_I
@ c_I
Constant to address the impact parameter.
Definition: LineParameters.h:40
Belle2::TrackFindingCDC::LineUtil
Utility struct for functions and types related to the line parameters.
Definition: LineParameters.h:55
Belle2::TrackFindingCDC::NLineParameterIndices::ELineParameter
ELineParameter
Enumeration to address the individual helix parameters in a vector or matrix.
Definition: LineParameters.h:34
Belle2::TrackFindingCDC::NLineParameterIndices::c_Phi0
@ c_Phi0
Constant to address the azimuth angle of the direction of flight at the perigee.
Definition: LineParameters.h:37