33 const double* inErr ) {
36 if ( slope == 0. ) slope = 0.00000001;
37 double slinv = 1. / slope;
38 _par1 = slope / sqrt( 1. + radius * radius * slope * slope );
39 double temp = 1. -
_par1 *
_par1 * radius * radius;
40 if ( temp < 0. ) temp = 0.;
41 double dphi0ds = -radius *
_par1 * sqrt( temp ) * slinv;
46 _errmat[0] = inErr[2] * dphi0ds * dphi0ds + inErr[0] + inErr[1] * 2. * dphi0ds;
52 _errmat[1] = inErr[2] *
_par1 * slinv * temp * dphi0ds + inErr[1] *
_par1 * slinv * temp;
56 std::cout <<
" ErrMsg(warning) "
57 <<
"Failed to invert matrix -- MdcSegInfo::calcFromOrigin" << endl