~maus-scifi/maus/tracker_devel

« back to all changes in this revision

Viewing changes to src/common_cpp/Recon/Kalman/KalmanHelicalPropagator.cc

  • Committer: cheid001
  • Date: 2015-04-01 11:46:50 UTC
  • mfrom: (1144.1.2 tracker_devel)
  • Revision ID: cheid001-20150401114650-w005e6s21mcnstve
merging updates

Show diffs side-by-side

added added

removed removed

Lines of Context:
76
76
  a_projected(3, 0) = new_py;
77
77
  a_projected(4, 0) = old_kappa;
78
78
 
79
 
  double dtheta = c*_Bz*delta_z;
 
79
//  double dtheta = c*_Bz*delta_z;
 
80
 
80
81
  // Setup F.
81
82
  F.ResizeTo(_n_parameters, _n_parameters);
82
83
  // @x/@x
89
90
  F(0, 3) = (cosine-1.)/u;
90
91
  // @x/@kappa
91
92
  // F(0, 4) = new_px*cosine*dtheta/u - new_py*sine*dtheta/u;
92
 
  F(0, 4) = 0.;
 
93
  // F(0, 4) = 0.;
 
94
  F(0, 4) = delta_z*( old_px*cosine - old_py*sine );
93
95
 
94
96
  // @px/@x
95
97
  F(1, 0) = 0.;
101
103
  F(1, 3) = -sine;
102
104
  // @px/@kappa
103
105
  // F(1, 4) = -new_px*sine*dtheta - new_py*cosine*dtheta;
104
 
  F(1, 4) = 0.;
 
106
  // F(1, 4) = 0.;
 
107
  F(1, 4) = -u*delta_z*( old_px*sine + old_py*cosine );
105
108
 
106
109
  // @y/@x
107
110
  F(2, 0) = 0.;
113
116
  F(2, 3) = sine/u;
114
117
  // @y/@kappa
115
118
  // F(2, 4) = new_py*cosine*dtheta/u + new_px*sine*dtheta/u;
116
 
  F(2, 4) = 0.;
 
119
  // F(2, 4) = 0.;
 
120
  F(2, 4) = delta_z*( old_px*sine + old_py*cosine );
117
121
 
118
122
  // @py/@x
119
123
  F(3, 0) = 0.;
125
129
  F(3, 3) = cosine;
126
130
  // @py/@kappa
127
131
  // F(3, 4) = -new_py*sine*dtheta + new_px*cosine*dtheta;
128
 
  F(3, 4) = 0.;
 
132
  // F(3, 4) = 0.;
 
133
  F(3, 4) = u*delta_z*( old_px*cosine - old_py*sine );
129
134
 
130
135
  // @kappa/@x
131
136
  F(4, 0) = 0.;
210
215
 
211
216
  // Get current state vector...
212
217
  TMatrixD site = new_site->a(KalmanState::Projected);
213
 
  // double px    = site(1, 0);
214
 
  // double py    = site(3, 0);
 
218
  double px    = site(1, 0);
 
219
  double py    = site(3, 0);
215
220
  double kappa  = site(4, 0);
216
221
  double charge = kappa/fabs(kappa);
217
222
 
234
239
  _F(0, 3) = (cosine-1.)/u;
235
240
  // @x/@kappa
236
241
  // _F(0, 4) = px*cosine*dtheta/u - py*sine*dtheta/u;
237
 
  _F(0, 4) = 0.;
 
242
  // _F(0, 4) = 0.;
 
243
  _F(0, 4) = deltaZ*( px*cosine - py*sine );
238
244
 
239
245
  // @px/@x
240
246
  _F(1, 0) = 0.;
246
252
  _F(1, 3) = -sine;
247
253
  // @px/@kappa
248
254
  // _F(1, 4) = -px*sine*dtheta - py*cosine*dtheta;
249
 
  _F(1, 4) = 0.;
 
255
  // _F(1, 4) = 0.;
 
256
  _F(1, 4) = -u*deltaZ*( px*sine + py*cosine );
250
257
 
251
258
  // @y/@x
252
259
  _F(2, 0) = 0.;
258
265
  _F(2, 3) = sine/u;
259
266
  // @y/@kappa
260
267
  // _F(2, 4) = py*cosine*dtheta/u + px*sine*dtheta/u;
261
 
  _F(2, 4) = 0.;
 
268
  // _F(2, 4) = 0.;
 
269
  _F(2, 4) = deltaZ*( px*sine + py*cosine );
262
270
 
263
271
  // @py/@x
264
272
  _F(3, 0) = 0.;
270
278
  _F(3, 3) = cosine;
271
279
  // @py/@kappa
272
280
  // _F(3, 4) = -py*sine*dtheta + px*cosine*dtheta;
273
 
  _F(3, 4) = 0.;
 
281
  // _F(3, 4) = 0.;
 
282
  _F(3, 4) = u*deltaZ*( px*cosine - py*sine );
274
283
 
275
284
  // @kappa/@x
276
285
  _F(4, 0) = 0.;