00001 #ifndef CachingSeedCleanerByHitPosition_H 00002 #define CachingSeedCleanerByHitPosition_H 00003 #include "RecoTracker/CkfPattern/interface/RedundantSeedCleaner.h" 00004 #include <map> 00005 00006 class CachingSeedCleanerByHitPosition : public RedundantSeedCleaner { 00007 public: 00008 00010 virtual void add(const Trajectory *traj) ; 00011 00013 virtual void init(const std::vector<Trajectory> *vect) ; 00014 00015 virtual void done() ; 00016 00018 virtual bool good(const TrajectorySeed *seed) ; 00019 00020 CachingSeedCleanerByHitPosition() : RedundantSeedCleaner(), theVault(), theCache() 00021 /*, comps_(0), tracks_(0), calls_(0)*/ {} 00022 virtual ~CachingSeedCleanerByHitPosition() { theVault.clear(); theCache.clear(); } 00023 private: 00024 std::vector<Trajectory::RecHitContainer> theVault; 00025 std::multimap<uint32_t, unsigned int> theCache; 00026 00027 //uint64_t comps_, tracks_, calls_; 00028 }; 00029 00030 #endif