Go to the documentation of this file.00001 #include "TrackingTools/DetLayers/interface/GeometricSearchDet.h"
00002 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00003
00004 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00005
00006
00007 void
00008 GeometricSearchDet::compatibleDetsV( const TrajectoryStateOnSurface&,
00009 const Propagator&,
00010 const MeasurementEstimator&,
00011 std::vector<DetWithState>&) const {
00012 edm::LogError("DetLayers") << "At the moment not a real implementation" ;
00013 }
00014
00015 void
00016 GeometricSearchDet::groupedCompatibleDetsV( const TrajectoryStateOnSurface& startingState,
00017 const Propagator&,
00018 const MeasurementEstimator&,
00019 std::vector<DetGroup> &) const {
00020 edm::LogError("DetLayers") << "At the moment not a real implementation" ;
00021 }
00022
00023
00024 std::vector<GeometricSearchDet::DetWithState>
00025 GeometricSearchDet::compatibleDets( const TrajectoryStateOnSurface& startingState,
00026 const Propagator& prop,
00027 const MeasurementEstimator& est) const {
00028 std::vector<DetWithState> result;
00029 compatibleDetsV( startingState, prop, est,result);
00030 return result;
00031 }
00032
00033 std::vector<DetGroup>
00034 GeometricSearchDet::groupedCompatibleDets( const TrajectoryStateOnSurface& startingState,
00035 const Propagator& prop,
00036 const MeasurementEstimator& est) const {
00037 std::vector<DetGroup> result;
00038 groupedCompatibleDetsV(startingState, prop, est,result);
00039 return result;
00040 }
00041
00042
00043
00044
00045 void
00046 GeometricSearchDetWithGroups::compatibleDetsV( const TrajectoryStateOnSurface& startingState,
00047 const Propagator& prop,
00048 const MeasurementEstimator& est,
00049 std::vector<DetWithState> &result) const{
00050
00051
00052
00053
00054 std::vector<DetGroup> vectorGroups;
00055 groupedCompatibleDetsV(startingState,prop,est,vectorGroups);
00056 for(std::vector<DetGroup>::const_iterator itDG=vectorGroups.begin();
00057 itDG!=vectorGroups.end();itDG++){
00058 for(std::vector<DetGroupElement>::const_iterator itDGE=itDG->begin();
00059 itDGE!=itDG->end();itDGE++){
00060 result.push_back(DetWithState(itDGE->det(),itDGE->trajectoryState()));
00061 }
00062 }
00063 }
00064