hi -

in segmentsfiltertool.cxx, we have this code:

+verbatim+
      int isintheselectedetaregion =1;
      if ( m_selectsegmentsinsideetaregion == 1 ){
	int isintheselectedetaregion =1;
	double xpt    =999;
	double ypt    =999;
	double zpt    =999;

	p_ownedmhelper-&gt;getpoint(psegment,xpt,ypt,zpt);
	double theta  = atan(sqrt(xpt*xpt+ypt*ypt)/zpt);
	double theetaseg =fabs(asinh(1./tan(theta)));
	if( theetaseg &lt; m_etamincut || theetaseg &gt; m_etamaxcut) isintheselectedetaregion =0; 
   
      }
-verbatim-

note that there's an inner declaration of `isintheselectedregion' which
shadows the outer declaration.  as a result, the code in braces
above has no effect.

is this what was intended?

i had these additional changes to be able to compile with gcc 4.6
without warnings.

we also need this changes in order to be compatible with c++0x.

+verbatim+
index: src/mutagtotracktool.cxx
===================================================================
--- src/mutagtotracktool.cxx	(revision 447210)
+++ src/mutagtotracktool.cxx	(working copy)
@@ -119,7 +119,7 @@
 
   const trk::perigee* perigee = convertperigee(thetrack);
   
-  std::bitset&lt;trk::trackstateonsurface::numberoftrackstateonsurfacetypes&gt; pattern(0);
+  std::bitset&lt;trk::trackstateonsurface::numberoftrackstateonsurfacetypes&gt; pattern;
   pattern.set(trk::trackstateonsurface::perigee);
   const trk::trackstateonsurface* trackstateonsurface = new trackstateonsurface(0 , perigee, 0,  0, pattern );
 
@@ -318,7 +318,7 @@
       }
 
       const trk::fitqualityonsurface* fitqual= 0;
-      std::bitset&lt;trk::trackstateonsurface::numberoftrackstateonsurfacetypes&gt; typepattern(0);
+      std::bitset&lt;trk::trackstateonsurface::numberoftrackstateonsurfacetypes&gt; typepattern;
       typepattern.set(trk::trackstateonsurface::measurement);
       
       expars = m_propagator-&gt;propagateparameters(*pars,(rot)-&gt;associatedsurface(),trk::anydirection, false, *m_magprops);
-verbatim-
