File indexing completed on 2024-09-07 04:38:01
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
0009 #include <Eigen/Core>
0010 #include <Eigen/Eigenvalues>
0011
0012 namespace riemannFit {
0013
0014 using Vector2d = Eigen::Vector2d;
0015 using Vector3d = Eigen::Vector3d;
0016 using Vector4d = Eigen::Vector4d;
0017 using Vector5d = Eigen::Matrix<double, 5, 1>;
0018 using Matrix2d = Eigen::Matrix2d;
0019 using Matrix3d = Eigen::Matrix3d;
0020 using Matrix4d = Eigen::Matrix4d;
0021 using Matrix5d = Eigen::Matrix<double, 5, 5>;
0022 using Matrix6d = Eigen::Matrix<double, 6, 6>;
0023
0024 template <int N>
0025 using Matrix3xNd = Eigen::Matrix<double, 3, N>;
0026
0027 struct CircleFit {
0028 Vector3d par;
0029 Matrix3d cov;
0030
0031
0032
0033
0034
0035 int32_t qCharge;
0036 float chi2;
0037 };
0038
0039 struct LineFit {
0040 Vector2d par;
0041 Matrix2d cov;
0042
0043
0044
0045
0046 double chi2;
0047 };
0048
0049 struct HelixFit {
0050 Vector5d par;
0051 Matrix5d cov;
0052
0053
0054
0055
0056
0057
0058
0059 float chi2_circle;
0060 float chi2_line;
0061
0062 int32_t qCharge;
0063 };
0064
0065 }
0066 #endif