31 unsigned n =
t.links().length();
32 if ( _det == 0. &&
n == 2 )
34 double x0 =
t.links()[0]->position().x();
35 double y0 =
t.links()[0]->position().y();
36 double x1 =
t.links()[1]->position().x();
37 double y1 =
t.links()[1]->position().y();
39 _a = ( y0 - y1 ) / ( x0 - x1 );
44 double sum = (double)
n;
45 double sumX = 0., sumY = 0., sumX2 = 0., sumXY = 0., sumY2 = 0.;
46 for (
unsigned i = 0; i <
n; i++ )
58 _det = sum * sumX2 - sumX * sumX;
59#ifdef TRKRECO_DEBUG_DETAIL
60 cout <<
" TLineFitter::fit ... det=" << _det << std::endl;
65 _a = ( sumXY * sum - sumX * sumY ) / _det;
66 _b = ( sumX2 * sumY - sumX * sumXY ) / _det;
70 if (
t.objectType() ==
Line ) ( (
TMLine&)
t ).property( _a, _b, _det );