CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/TrackingTools/DetLayers/src/GeomDetCompatibilityChecker.cc

Go to the documentation of this file.
00001 #include "TrackingTools/DetLayers/interface/GeomDetCompatibilityChecker.h"
00002 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h" 
00003 
00004 using namespace std;
00005 
00006 pair<bool, TrajectoryStateOnSurface>  
00007 GeomDetCompatibilityChecker::isCompatible(const GeomDet* theDet,
00008                                           const TrajectoryStateOnSurface& tsos,
00009                                           const Propagator& prop, 
00010                                           const MeasurementEstimator& est) {
00011   TrajectoryStateOnSurface propSt = prop.propagate( tsos, theDet->specificSurface());
00012   if ( propSt.isValid()) {
00013     if ( est.estimate( propSt, theDet->specificSurface()) ) {
00014       return make_pair( true, propSt);
00015     }
00016   }
00017   return make_pair( false, propSt);   
00018 }
00019