13 return vector<pair<
const DetLayer*, vector<TM> > >();
15 vector<pair<const DetLayer*, vector<TM> > >
result;
16 result.reserve(vtm.size());
18 vector<TM>::const_iterator
start = vtm.begin();
20 while(start != vtm.end()) {
21 vector<TM>::const_iterator ipart =
start;
23 while(ipart != vtm.end() &&
34 vector<TM>
group(start, ipart);
39 #ifdef debug_MeasurementByLayerGrouper_ 40 for (vector<pair<
const DetLayer*, vector<TM> > >::const_iterator iter = result.begin(); iter != result.end(); iter++){
41 LogTrace(
"MeasurementByLayerGrouper|SiTrackerMultiRecHitUpdator") <<
"DetLayer " << iter->first <<
" has " << iter->second.size() <<
" measurements";
59 if (tm.
recHit()->det()==0){
60 LogDebug(
"MeasurementByLayerGrouper") <<
"This hit has no geomdet associated skipping... ";
67 throw cms::Exception(
"MeasurementByLayerGrouper") <<
"Impossible to retrieve the det layer because it's not set in the TM and the pointer to the GeometricSearchTracker is 0 ";
71 return theGeomSearch->detLayer(tm.
recHit()->det()->geographicalId());
ConstRecHitPointer const & recHit() const
const DetLayer * layer() const
DetLayer getDetLayer(DetId detId, const TrackerTopology *tTopo)
std::vector< std::pair< const DetLayer *, std::vector< TM > > > operator()(const std::vector< TM > &) const
const DetLayer * getDetLayer(const TM &tm) const