File indexing completed on 2023-10-25 10:02:49
0001 #ifndef RecoTracker_PixelTrackFitting_FitResult_h
0002 #define RecoTracker_PixelTrackFitting_FitResult_h
0003
0004 #include <cmath>
0005 #include <cstdint>
0006
0007 #include <cuda_runtime.h>
0008 #include <Eigen/Core>
0009 #include <Eigen/Eigenvalues>
0010
0011 namespace riemannFit {
0012
0013 using Vector2d = Eigen::Vector2d;
0014 using Vector3d = Eigen::Vector3d;
0015 using Vector4d = Eigen::Vector4d;
0016 using Vector5d = Eigen::Matrix<double, 5, 1>;
0017 using Matrix2d = Eigen::Matrix2d;
0018 using Matrix3d = Eigen::Matrix3d;
0019 using Matrix4d = Eigen::Matrix4d;
0020 using Matrix5d = Eigen::Matrix<double, 5, 5>;
0021 using Matrix6d = Eigen::Matrix<double, 6, 6>;
0022
0023 template <int N>
0024 using Matrix3xNd = Eigen::Matrix<double, 3, N>;
0025
0026 struct CircleFit {
0027 Vector3d par;
0028 Matrix3d cov;
0029
0030
0031
0032
0033
0034 int32_t qCharge;
0035 float chi2;
0036 };
0037
0038 struct LineFit {
0039 Vector2d par;
0040 Matrix2d cov;
0041
0042
0043
0044
0045 double chi2;
0046 };
0047
0048 struct HelixFit {
0049 Vector5d par;
0050 Matrix5d cov;
0051
0052
0053
0054
0055
0056
0057
0058 float chi2_circle;
0059 float chi2_line;
0060
0061 int32_t qCharge;
0062 };
0063
0064 }
0065 #endif