CGEM BOSS 6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
RecCgemKalTrack.cxx
Go to the documentation of this file.
1/*
2*
3* this class models "Kalman Track" used in Cgem Reconstruction
4*
5* ********************************************************/
6
8//#include "CgemRecEvent/CgemKalHelixSeg.h"
9
12{
13 HepVector a(5,0);
14 HepSymMatrix Ea(5,0);
15 HepPoint3D poca(0,0,0);
16 HepPoint3D point(0.,0.,0);
17 HepPoint3D pivot(0.,0.,0);
18
19 m_ta(5,0);
20 m_tEa(5,0);
21 m_trackId = -1;
22 for(int pid=0; pid<5; pid++){
23 m_lhelixs.push_back(a);
24 m_lerrors.push_back(Ea);
25// m_fhelixs.push_back(a);
26// m_ferrors.push_back(Ea);
27 m_lpoints.push_back(point);
28 m_lpivots.push_back(pivot);
29
30 m_length[pid] = 0.0;
31 m_tof[pid] = 0.0;
32 m_nhits[pid] = 0;
33 m_pathSM[pid] = 0.0;
34 m_fiTerm[pid] = 0.0;
35 m_stat[0][pid] = -1;
36 m_stat[1][pid] = -1;
37 m_firstLayer[0][pid] = 0;
38 m_firstLayer[1][pid] = 0;
39 m_lastLayer[0][pid] = 43;
40 m_lastLayer[1][pid] = 43;
41 m_chisq[0][pid] = 999.0;
42 m_chisq[1][pid] = 999.0;
43 m_ndf[0][pid] = 0;
44 m_ndf[1][pid] = 0;
45 }
46 for( int i=0; i<43; i++) {
47 m_pathl[i] = 0.0;
48 }
49 for(int j=0; j<5; j++) {
50 m_thelix[j] = 0.0;
51 }
52 for(int k=0; k<15; k++){
53 m_terror[k]= 0.;
54 }
55}
56
57
59:DstCgemKalTrack(trk),
60 m_vechelixsegs(trk.m_vechelixsegs)
61{
62}
63
65:DstCgemKalTrack(dstrk)
66{
67 HepVector a(5,-99);
68 HepSymMatrix Ea(5,-99);
69 HepPoint3D poca(-99.,-99.,-99.);
70 HepPoint3D point(0.,0.,0);
71 HepPoint3D pivot(0.,0.,0);
72
73 m_ta(5,0);
74 m_tEa(5,0);
75
76 //m_trackId = -1;
77 for(int pid=0; pid<5; pid++){
78 //m_pocas.push_back(poca);
79 //m_zhelixs.push_back(a);
80 //m_zerrors.push_back(Ea);
81 m_lhelixs.push_back(a);
82 m_lerrors.push_back(Ea);
83 // m_fhelixs.push_back(a);
84 // m_ferrors.push_back(Ea);
85 m_lpoints.push_back(point);
86 m_lpivots.push_back(pivot);
87
88 m_length[pid] = 0.0;
89 m_tof[pid] = 0.0;
90 m_nhits[pid] = 0;
91 m_pathSM[pid] = 0.0;
92 m_fiTerm[pid] = 0.0;
93
94 m_stat[0][pid] = -1;
95 m_stat[1][pid] = -1;
96 m_firstLayer[0][pid] = 0;
97 m_firstLayer[1][pid] = 0;
98 m_lastLayer[0][pid] = 43;
99 m_lastLayer[1][pid] = 43;
100 m_chisq[0][pid] = 999.0;
101 m_chisq[1][pid] = 999.0;
102 m_ndf[0][pid] = 0;
103 m_ndf[1][pid] = 0;
104 }
105 for(int i=0; i<43; i++) {
106 m_pathl[i] = 0.0;
107 }
108 for(int j=0; j<5; j++) {
109 m_thelix[j] = 0.0;
110 }
111 for(int k=0; k<15; k++){
112 m_terror[k]= 0.;
113 }
114}
115
117{
118 if( &dstrk != this ){
120 HepVector a(5,0);
121 HepSymMatrix Ea(5,0);
122 HepPoint3D poca(-99.,-99.,-99.);
123 HepPoint3D point(0.,0.,0.);
124 HepPoint3D pivot(0.,0.,0.);
125
126 //m_trackId = -1;
127 //m_pocas.clear();
128 //m_zhelixs.clear();
129 //m_zerrors.clear();
130 m_lhelixs.clear();
131 m_lerrors.clear();
132 // m_fhelixs.clear();
133 // m_ferrors.clear();
134 m_lpoints.clear();
135 m_lpivots.clear();
136 m_ta(5,0) ;
137 m_tEa(5,0);
138 for(int pid=0; pid<5; pid++){
139 //m_pocas.push_back(poca);
140 //m_zhelixs.push_back(a);
141 //m_zerrors.push_back(Ea);
142 m_lhelixs.push_back(a);
143 m_lerrors.push_back(Ea);
144 // m_fhelixs.push_back(a);
145 // m_ferrors.push_back(Ea);
146 m_lpoints.push_back(point);
147
148
149 m_length[pid] = 0.0;
150 m_tof[pid] = 0.0;
151 m_nhits[pid] = 0;
152 m_pathSM[pid] = 0.;
153 m_fiTerm[pid] = 0.;
154 }
155
156 for(int i=0; i<43; i++) {
157 m_pathl[i] = 0.0;
158 }
159 for(int j=0; j<5; j++) {
160 m_thelix[j] = 0.0;
161 }
162 for(int k=0; k<15; k++){
163 m_terror[k]= 0.;
164 }
165 }
166 return *this;
167}
168
170 return m_vechelixsegs;
171}
172
174 m_vechelixsegs = vechelixsegs;
175}
176
SmartRefVector< RecCgemKalHelixSeg > RecCgemHelixSegRefVec
double m_chisq[2][5]
const HepPoint3D poca() const
DstCgemKalTrack & operator=(const DstCgemKalTrack &)
RecCgemHelixSegRefVec getVecHelixSegs(void) const
RecCgemKalTrack & operator=(const RecCgemKalTrack &)
void setVecHelixSegs(const RecCgemHelixSegRefVec &vechelixsegs)