17 std::vector<Trajectory::RecHitContainer> swapper;
24 typedef Trajectory::RecHitContainer::const_iterator TI;
30 for (TI
t = hits.begin(), te = hits.end();
t != te; ++
t) {
31 if ((*t)->isValid()) {
32 detid = (*t)->geographicalId().rawId();
33 if (detid)
theCache.insert(std::pair<uint32_t, unsigned int>(detid, idx));
41 typedef Trajectory::RecHitContainer::const_iterator TI;
44 SI
first = range.first,
last = range.second, curr;
45 uint32_t
detid = first->geographicalId().rawId();
47 std::multimap<uint32_t, unsigned int>::const_iterator it,
end =
theCache.end();
50 for (it =
theCache.find(detid); (it !=
end) && (it->first == detid); ++it) {
53 for (curr = first; curr !=
last; ++curr) {
55 for (TI
t = ts;
t != te; ++
t) {
57 if (comp.
equals(&(*curr), &(**
t))) { found =
true;
break; }
61 if (curr ==
last)
return false;
bool equals(const TrackingRecHit *a, const TrackingRecHit *b) const
std::multimap< uint32_t, unsigned int > theCache
virtual void init(const std::vector< Trajectory > *vect)
Provides the cleaner a pointer to the vector where trajectories are stored, in case it does not want ...
virtual bool good(const TrajectorySeed *seed)
Returns true if the seed is not overlapping with another trajectory.
virtual void done()
Tells the cleaner that the seeds are finished, and so it can clear any cache it has.
virtual void add(const Trajectory *traj)
ConstRecHitContainer recHits(bool splitting=false) const
recHitContainer::const_iterator const_iterator
std::pair< const_iterator, const_iterator > range
ConstRecHitContainer RecHitContainer
std::vector< Trajectory::RecHitContainer > theVault