Belle II Software  release-05-02-19
PerigeeParameters.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 NPerigeeParameterIndices {
24 
26  enum EPerigeeParameter {
28  c_Curv = 0,
29 
31  c_Phi0 = 1,
32 
34  c_I = 2,
35 
37  c_N = 3,
38  };
39  }
40 
43 
44  // Guard to prevent repeated template symbol emission
45  struct PerigeeUtil;
47 
50 
52  static ParameterVector reversalSigns()
53  {
54  return ParameterVector({ -1.0, 1.0, -1.0});
55  }
56 
63  static double average(const PerigeeUtil::ParameterVector& fromPar,
64  const PerigeeUtil::CovarianceMatrix& fromCov,
65  const PerigeeUtil::ParameterVector& toPar,
66  const PerigeeUtil::CovarianceMatrix& toCov,
69  };
70 
72  using PerigeeParameters = PerigeeUtil::ParameterVector;
73 
75  using PerigeeCovariance = PerigeeUtil::CovarianceMatrix;
76 
78  using PerigeePrecision = PerigeeUtil::PrecisionMatrix;
79 
81  using PerigeeJacobian = PerigeeUtil::JacobianMatrix;
82 
83  }
84 
86 }
Belle2::TrackFindingCDC::NPerigeeParameterIndices::EPerigeeParameter
EPerigeeParameter
Enumeration to address the individual perigee parameters in a vector or matrix.
Definition: PerigeeParameters.h:34
Belle2::TrackFindingCDC::NPerigeeParameterIndices::c_N
@ c_N
Constant for the total number of indices.
Definition: PerigeeParameters.h:45
Belle2::TrackFindingCDC::UncertainParametersUtil< PerigeeUtil, EPerigeeParameter >::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::NPerigeeParameterIndices::c_I
@ c_I
Constant to address the impact parameter.
Definition: PerigeeParameters.h:42
Belle2::TrackFindingCDC::PerigeeUtil
Utility struct for functions and types related to the perigee parameters.
Definition: PerigeeParameters.h:57
Belle2::TrackFindingCDC::NPerigeeParameterIndices::c_Phi0
@ c_Phi0
Constant to address the azimuth angle of the direction of flight at the perigee.
Definition: PerigeeParameters.h:39
Belle2::TrackFindingCDC::UncertainParametersUtil< PerigeeUtil, EPerigeeParameter >::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< PerigeeUtil, EPerigeeParameter >::PrecisionMatrix
TrackFindingCDC::PrecisionMatrix< c_N > PrecisionMatrix
The matrix type representing the precision of the n related parameters.
Definition: UncertainParameters.h:49
Belle2::TrackFindingCDC::UncertainParametersUtil< PerigeeUtil, EPerigeeParameter >
Belle2::TrackFindingCDC::UncertainParametersUtil< PerigeeUtil, EPerigeeParameter >::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::NPerigeeParameterIndices::c_Curv
@ c_Curv
Constant to address the curvature.
Definition: PerigeeParameters.h:36