14 return vector<pair<
const DetLayer*, vector<TM> > >();
16 vector<pair<const DetLayer*, vector<TM> > >
result;
17 result.reserve(vtm.size());
19 vector<TM>::const_iterator start = vtm.begin();
21 while(start != vtm.end()) {
22 vector<TM>::const_iterator ipart = start;
24 while(ipart != vtm.end() &&
35 vector<TM> group(start, ipart);
40 #ifdef debug_MeasurementByLayerGrouper_
43 for (vector<pair<
const DetLayer*, vector<TM> > >::const_iterator iter = result.begin(); iter != result.end(); iter++){
44 LogTrace(
"MeasurementByLayerGrouper|SiTrackerMultiRecHitUpdator") <<
"DetLayer " << iter->first <<
" has " << iter->second.size() <<
" measurements";
63 if (tm.
recHit()->det()==0){
64 LogDebug(
"MeasurementByLayerGrouper") <<
"This hit has no geomdet associated skipping... ";
71 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 ";
75 return theGeomSearch->detLayer(tm.
recHit()->det()->geographicalId());
static DetLayer getDetLayer(DetId detId)
ConstRecHitPointer recHit() const
const DetLayer * layer() const
std::vector< std::pair< const DetLayer *, std::vector< TM > > > operator()(const std::vector< TM > &) const
const DetLayer * getDetLayer(const TM &tm) const