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