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