BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Event/RootEventData/include/RootEventData/TMdcKalTrack.h
Go to the documentation of this file.
1#ifndef RootEventData_TMdcKalTrack_H
2#define RootEventData_TMdcKalTrack_H 1
3
4#include "SimMatr.h"
5#include "TObject.h"
6#include "TString.h"
7
8class TMdcKalTrack : public TObject {
9
10public:
12
14
15 // extractors
16 Int_t getTrackId() const { return m_trackId; }
17 Int_t getStat( const Int_t pid ) const { return m_stat[pid]; }
18 Int_t getStat2( const Int_t pid ) const { return m_stat2[pid]; }
19 Double_t getChisq( const Int_t pid ) const { return m_chisq[pid]; }
20 Int_t getNdf( const Int_t pid ) const { return m_ndf[pid]; }
21 Int_t getNlayer( const Int_t pid ) const { return m_nlayer[pid]; }
22 // o Int_t getNster(const Int_t pid) const {return m_nster[pid];}
23 // o Int_t getFirstLayer(const Int_t pid) const { return m_firstLayer[pid]; }
24 // o Int_t getLastLayer(const Int_t pid) const {return m_lastLayer[pid];}
25
26 Double_t getZHelix( Int_t i ) const { return m_zhelix[i]; }
27 Double_t getZError( Int_t i, Int_t j ) const {
28 return SimMat::get_element( m_zerror, i, j );
29 }
30 // Double_t getPoca(Int_t i) const {return m_poca[i];}
31 Double_t getZHelixE( Int_t i ) const { return m_zhelix_e[i]; }
32 Double_t getZErrorE( Int_t i, Int_t j ) const {
33 return SimMat::get_element( m_zerror_e, i, j );
34 }
35 // Double_t getPocaE(Int_t i) const {return m_poca_e[i];}
36 Double_t getZHelixMu( Int_t i ) const { return m_zhelix_mu[i]; }
37 Double_t getZErrorMu( Int_t i, Int_t j ) const {
38 return SimMat::get_element( m_zerror_mu, i, j );
39 }
40 // Double_t getPocaMu(Int_t i) const {return m_poca_mu[i];}
41 Double_t getZHelixK( Int_t i ) const { return m_zhelix_k[i]; }
42 Double_t getZErrorK( Int_t i, Int_t j ) const {
43 return SimMat::get_element( m_zerror_k, i, j );
44 }
45 // Double_t getPocaK(Int_t i) const {return m_poca_k[i];}
46 Double_t getZHelixP( Int_t i ) const { return m_zhelix_p[i]; }
47 Double_t getZErrorP( Int_t i, Int_t j ) const {
48 return SimMat::get_element( m_zerror_p, i, j );
49 }
50 // Double_t getPocaP(Int_t i) const {return m_poca_p[i];}
51
52 Double_t getFHelix( Int_t i ) const { return m_fhelix[i]; }
53 Double_t getFError( Int_t i, Int_t j ) const {
54 return SimMat::get_element( m_ferror, i, j );
55 }
56 Double_t getFHelixE( Int_t i ) const { return m_fhelix_e[i]; }
57 Double_t getFErrorE( Int_t i, Int_t j ) const {
58 return SimMat::get_element( m_ferror_e, i, j );
59 }
60 Double_t getFHelixMu( Int_t i ) const { return m_fhelix_mu[i]; }
61 Double_t getFErrorMu( Int_t i, Int_t j ) const {
62 return SimMat::get_element( m_ferror_mu, i, j );
63 }
64 Double_t getFHelixK( Int_t i ) const { return m_fhelix_k[i]; }
65 Double_t getFErrorK( Int_t i, Int_t j ) const {
66 return SimMat::get_element( m_ferror_k, i, j );
67 }
68 Double_t getFHelixP( Int_t i ) const { return m_fhelix_p[i]; }
69 Double_t getFErrorP( Int_t i, Int_t j ) const {
70 return SimMat::get_element( m_ferror_p, i, j );
71 }
72 // modifiers
73 void setTrackId( const Int_t trackId ) { m_trackId = trackId; }
74 void setStat( const Int_t stat, const Int_t pid ) { m_stat[pid] = stat; }
75 void setStat2( const Int_t stat, const Int_t pid ) { m_stat2[pid] = stat; }
76 void setChisq( const Double_t chisq, const Int_t pid ) { m_chisq[pid] = chisq; }
77 void setNdf( const Int_t ndf, const Int_t pid ) { m_ndf[pid] = ndf; }
78 void setNlayer( const Int_t nlayer, const Int_t pid ) { m_nlayer[pid] = nlayer; }
79 // o void setNster(const Int_t nster, const Int_t pid) {m_nster[pid] = nster;}
80 // o void setFirstLayer(const Int_t fL, const Int_t pid) { m_firstLayer[pid] = fL; }
81 // o void setLastLayer(const Int_t lL, const Int_t pid){ m_lastLayer[pid] = lL;}
82
83 void setZHelix( const Double_t zhelix[5] ) {
84 for ( int i = 0; i < 5; i++ ) m_zhelix[i] = zhelix[i];
85 }
86 void setZError( const Double_t zerror[5][5] ) {
87 SimMat::pack2d( 5, &zerror[0][0], m_zerror );
88 }
89
90 // void setPoca(const Double_t poca[3]){
91 // for(int i=0; i<3; i++) m_poca[i] = poca[i];
92 // }
93
94 void setZHelixE( const Double_t zhelix_e[5] ) {
95 for ( int i = 0; i < 5; i++ ) m_zhelix_e[i] = zhelix_e[i];
96 }
97 void setZErrorE( const Double_t zerror_e[5][5] ) {
98 SimMat::pack2d( 5, &zerror_e[0][0], m_zerror_e );
99 }
100 // void setPocaE(const Double_t poca_e[3]){
101 // for(int i=0; i<3; i++) m_poca_e[i] = poca_e[i];
102 // }
103
104 void setZHelixMu( const Double_t zhelix_mu[5] ) {
105 for ( int i = 0; i < 5; i++ ) m_zhelix_mu[i] = zhelix_mu[i];
106 }
107 void setZErrorMu( const Double_t zerror_mu[5][5] ) {
108 SimMat::pack2d( 5, &zerror_mu[0][0], m_zerror_mu );
109 }
110 // void setPocaMu(const Double_t poca_mu[3]){
111 // for(int i=0; i<3; i++) m_poca_mu[i] = poca_mu[i];
112 // }
113
114 void setZHelixK( const Double_t zhelix_k[5] ) {
115 for ( int i = 0; i < 5; i++ ) m_zhelix_k[i] = zhelix_k[i];
116 }
117 void setZErrorK( const Double_t zerror_k[5][5] ) {
118 SimMat::pack2d( 5, &zerror_k[0][0], m_zerror_k );
119 }
120 // void setPocaK(const Double_t poca_k[3]){
121 // for(int i=0; i<3; i++) m_poca_k[i] = poca_k[i];
122 // }
123
124 void setZHelixP( const Double_t zhelix_p[5] ) {
125 for ( int i = 0; i < 5; i++ ) m_zhelix_p[i] = zhelix_p[i];
126 }
127 void setZErrorP( const Double_t zerror_p[5][5] ) {
128 SimMat::pack2d( 5, &zerror_p[0][0], m_zerror_p );
129 }
130 // void setPocaP(const Double_t poca_p[3]){
131 // for(int i=0; i<3; i++) m_poca_p[i] = poca_p[i];
132 // }
133
134 void setFHelix( const Double_t fhelix[5] ) {
135 for ( int i = 0; i < 5; i++ ) m_fhelix[i] = fhelix[i];
136 }
137 void setFError( const Double_t ferror[5][5] ) {
138 SimMat::pack2d( 5, &ferror[0][0], m_ferror );
139 }
140
141 void setFHelixE( const Double_t fhelix_e[5] ) {
142 for ( int i = 0; i < 5; i++ ) m_fhelix_e[i] = fhelix_e[i];
143 }
144 void setFErrorE( const Double_t ferror_e[5][5] ) {
145 SimMat::pack2d( 5, &ferror_e[0][0], m_ferror_e );
146 }
147
148 void setFHelixMu( const Double_t fhelix_mu[5] ) {
149 for ( int i = 0; i < 5; i++ ) m_fhelix_mu[i] = fhelix_mu[i];
150 }
151 void setFErrorMu( const Double_t ferror_mu[5][5] ) {
152 SimMat::pack2d( 5, &ferror_mu[0][0], m_ferror_mu );
153 }
154
155 void setFHelixK( const Double_t fhelix_k[5] ) {
156 for ( int i = 0; i < 5; i++ ) m_fhelix_k[i] = fhelix_k[i];
157 }
158 void setFErrorK( const Double_t ferror_k[5][5] ) {
159 SimMat::pack2d( 5, &ferror_k[0][0], m_ferror_k );
160 }
161
162 void setFHelixP( const Double_t fhelix_p[5] ) {
163 for ( int i = 0; i < 5; i++ ) m_fhelix_p[i] = fhelix_p[i];
164 }
165 void setFErrorP( const Double_t ferror_p[5][5] ) {
166 SimMat::pack2d( 5, &ferror_p[0][0], m_ferror_p );
167 }
168
169private:
170 Int_t m_trackId;
171 Int_t m_stat[5];
172 Int_t m_stat2[5];
173 Double_t m_chisq[5];
174 Int_t m_ndf[5];
175 Int_t m_nlayer[5];
176 // o Int_t m_nster[5];
177 // o Int_t m_firstLayer[5];
178 // o Int_t m_lastLayer[5];
179
180 // Double_t m_poca[3];
181 Double_t m_zhelix[5]; // 5 track parameters at zero point for pi
182 // o Double_t m_zerror[5][5]; // error matrix at zero point for pion
183 Double_t m_zerror[15]; // error matrix at zero point for pion
184
185 // Double_t m_poca_e[3];
186 Double_t m_zhelix_e[5]; // 5 track parameters at zero point for el
187 // o Double_t m_zerror_e[5][5]; // error matrix at zero point for electron
188 Double_t m_zerror_e[15]; // error matrix at zero point for electron
189
190 // Double_t m_poca_mu[3];
191 Double_t m_zhelix_mu[5]; // 5 track parameters at zero point for mu
192 // o Double_t m_zerror_mu[5][5];// error matrix at zero point for muon ;
193 Double_t m_zerror_mu[15]; // error matrix at zero point for muon ;
194
195 // Double_t m_poca_k[3];
196 Double_t m_zhelix_k[5]; // 5 track parameters at zero point for ka
197 // o Double_t m_zerror_k[5][5]; // error matrix at zero point for kaon
198 Double_t m_zerror_k[15]; // error matrix at zero point for kaon
199
200 // Double_t m_poca_p[3];
201 Double_t m_zhelix_p[5]; // 5 track parameters at zero point for pr
202 // o Double_t m_zerror_p[5][5]; // error matrix at zero point for proton
203 Double_t m_zerror_p[15]; // error matrix at zero point for proton
204
205 Double_t m_fhelix[5]; // 5 track parameters at first Mdchit for pi
206 // o Double_t m_ferror[5][5]; // error matrix at first Mdc hit for pion
207 Double_t m_ferror[15]; // error matrix at first Mdc hit for pion
208 Double_t m_fhelix_e[5];
209 // o Double_t m_ferror_e[5][5];
210 Double_t m_ferror_e[15];
211 Double_t m_fhelix_mu[5];
212 // o Double_t m_ferror_mu[5][5];
213 Double_t m_ferror_mu[15];
214 Double_t m_fhelix_k[5];
215 // o Double_t m_ferror_k[5][5];
216 Double_t m_ferror_k[15];
217 Double_t m_fhelix_p[5];
218 // o Double_t m_ferror_p[5][5];
219 Double_t m_ferror_p[15];
220
221 ClassDef( TMdcKalTrack, 3 )
222};
223
224#endif
void setNdf(const Int_t ndf, const Int_t pid)
void setZErrorMu(const Double_t zerror_mu[5][5])
void setFErrorP(const Double_t ferror_p[5][5])
void setChisq(const Double_t chisq, const Int_t pid)
void setZErrorP(const Double_t zerror_p[5][5])
void setZErrorE(const Double_t zerror_e[5][5])
void setZErrorK(const Double_t zerror_k[5][5])
void setNlayer(const Int_t nlayer, const Int_t pid)
void setFErrorMu(const Double_t ferror_mu[5][5])
void setFErrorK(const Double_t ferror_k[5][5])
void setStat2(const Int_t stat, const Int_t pid)
void setStat(const Int_t stat, const Int_t pid)
void setFErrorE(const Double_t ferror_e[5][5])
T get_element(const T *pac_sm, int i, int j)
void pack2d(int n, const T *sm, T *pac_sm)