BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
L1TrackPar.h
Go to the documentation of this file.
1#ifndef L1TrackPar_h
2#define L1TrackPar_h 1
3
4#include "CbmL1Def.h"
5
7{
8
9 public:
10 fvec x, y, tx, ty, qp, z, C00, C10, C11, C20, C21, C22, C30, C31, C32, C33, C40, C41, C42, C43, C44, chi2, NDF;
11
13 : x(0)
14 , y(0)
15 , tx(0)
16 , ty(0)
17 , qp(0)
18 , z(0)
19 , C00(0)
20 , C10(0)
21 , C11(0)
22 , C20(0)
23 , C21(0)
24 , C22(0)
25 , C30(0)
26 , C31(0)
27 , C32(0)
28 , C33(0)
29 , C40(0)
30 , C41(0)
31 , C42(0)
32 , C43(0)
33 , C44(0)
34 , chi2(0)
35 , NDF(0) {};
36 L1TrackPar(double* T, double* C)
37 : x(T[0])
38 , y(T[1])
39 , tx(T[2])
40 , ty(T[3])
41 , qp(T[4])
42 , z(T[5])
43 ,
44
45 C00(C[0])
46 , C10(C[1])
47 , C11(C[2])
48 , C20(C[3])
49 , C21(C[4])
50 , C22(C[5])
51 , C30(C[6])
52 , C31(C[7])
53 , C32(C[8])
54 , C33(C[9])
55 , C40(C[10])
56 , C41(C[11])
57 , C42(C[12])
58 , C43(C[13])
59 , C44(C[14])
60 , chi2(0)
61 , NDF(0) {};
62
63 void SetOneEntry(const int i0, const L1TrackPar& T1, const int i1);
64
65 void Print(int i = -1);
66 // void L1Extrapolate
67 // (
68 // // L1TrackPar &T, // input track parameters (x,y,tx,ty,Q/p) and cov.matrix
69 // fvec z_out , // extrapolate to this z position
70 // fvec qp0 , // use Q/p linearisation at this value
71 // L1FieldRegion &F
72 // );
73
75
76// =============================================================================================
77
78inline void L1TrackPar::Print(int i)
79{
80 std::cout.setf(std::ios::scientific, std::ios::floatfield);
81 if (i == -1) {
82 std::cout << "T = " << std::endl;
83 std::cout << x << std::endl;
84 std::cout << y << std::endl;
85 std::cout << tx << std::endl;
86 std::cout << ty << std::endl;
87 std::cout << qp << std::endl;
88 std::cout << z << std::endl;
89 } else {
90 std::cout << "T = ";
91 std::cout << x[i] << " ";
92 std::cout << y[i] << " ";
93 std::cout << tx[i] << " ";
94 std::cout << ty[i] << " ";
95 std::cout << qp[i] << " ";
96 std::cout << z[i] << std::endl;
97 std::cout << "C = ";
98 std::cout << C00[i] << " ";
99 std::cout << C11[i] << " ";
100 std::cout << C22[i] << " ";
101 std::cout << C33[i] << " ";
102 std::cout << C44[i] << std::endl;
103 }
104}
105
106inline void L1TrackPar::SetOneEntry(const int i0, const L1TrackPar& T1, const int i1)
107{
108 x[i0] = T1.x[i1];
109 y[i0] = T1.y[i1];
110 tx[i0] = T1.tx[i1];
111 ty[i0] = T1.ty[i1];
112 qp[i0] = T1.qp[i1];
113 z[i0] = T1.z[i1];
114 C00[i0] = T1.C00[i1];
115 C10[i0] = T1.C10[i1];
116 C11[i0] = T1.C11[i1];
117 C20[i0] = T1.C20[i1];
118 C21[i0] = T1.C21[i1];
119 C22[i0] = T1.C22[i1];
120 C30[i0] = T1.C30[i1];
121 C31[i0] = T1.C31[i1];
122 C32[i0] = T1.C32[i1];
123 C33[i0] = T1.C33[i1];
124 C40[i0] = T1.C40[i1];
125 C41[i0] = T1.C41[i1];
126 C42[i0] = T1.C42[i1];
127 C43[i0] = T1.C43[i1];
128 C44[i0] = T1.C44[i1];
129
130 chi2[i0] = T1.chi2[i1];
131 NDF[i0] = T1.NDF[i1];
132} // SetOneEntry
133
134#endif
#define _fvecalignment
Definition P4_F32vec4.h:236
int i
Definition P4_F32vec4.h:22
F32vec4 fvec
Definition P4_F32vec4.h:231
void Print(int i=-1)
Definition L1TrackPar.h:78
L1TrackPar(double *T, double *C)
Definition L1TrackPar.h:36
void SetOneEntry(const int i0, const L1TrackPar &T1, const int i1)
Definition L1TrackPar.h:106