1 #ifndef RecoTracker_TkSeedingLayers_HitExtractor_H
2 #define RecoTracker_TkSeedingLayers_HitExtractor_H
10 namespace ctfseeding {
class SeedingLayer; }
12 namespace ctfseeding {
16 typedef std::vector<TransientTrackingRecHit::ConstRecHitPointer>
Hits;
33 template <
typename DSTV,
typename A,
typename B>
36 std::pair<A,B>
const &
sel,
38 typename DSTV::Range range = dstv.equal_range(sel.first,sel.second);
40 for(
typename DSTV::const_iterator
id=range.first;
id!=range.second;
id++)
41 ts += std::distance((*id).begin(), (*id).end());
43 for(
typename DSTV::const_iterator
id=range.first;
id!=range.second;
id++){
44 std::transform((*id).begin(), (*id).end(), std::back_inserter(v),
HitConv(sl,es));
void range2SeedingHits(DSTV const &dstv, HitExtractor::Hits &v, std::pair< A, B > const &sel, const SeedingLayer &sl, const edm::EventSetup &es)
virtual RecHitPointer build(const TrackingRecHit *p) const =0
build a tracking rechit from an existing rechit
const TransientTrackingRecHitBuilder * hitBuilder() const
PixelRecoRange< float > Range
HitConv(const SeedingLayer &sl, const edm::EventSetup &es)
TransientTrackingRecHit::ConstRecHitPointer operator()(const H &hit)
const edm::EventSetup & es_