00001 #ifndef CachingSeedCleanerBySharedInput_H 00002 #define CachingSeedCleanerBySharedInput_H 00003 #include "RecoTracker/CkfPattern/interface/RedundantSeedCleaner.h" 00004 #include <map> 00005 #include <boost/unordered_map.hpp> 00006 00008 class CachingSeedCleanerBySharedInput : public RedundantSeedCleaner { 00009 public: 00010 00012 virtual void add(const Trajectory *traj) ; 00013 00015 virtual void init(const std::vector<Trajectory> *vect) ; 00016 00017 virtual void done() ; 00018 00020 virtual bool good(const TrajectorySeed *seed) ; 00021 00022 CachingSeedCleanerBySharedInput() : RedundantSeedCleaner(), theVault(), theCache() 00023 /*,comps_(0), tracks_(0), calls_(0)*/ {} 00024 virtual ~CachingSeedCleanerBySharedInput() { theVault.clear(); theCache.clear(); } 00025 private: 00026 std::vector<Trajectory::RecHitContainer> theVault; 00027 //std::multimap<uint32_t, unsigned short> theCache; 00028 boost::unordered_multimap<uint32_t, unsigned short> theCache; 00029 00030 //uint64_t comps_, tracks_, calls_; 00031 }; 00032 00033 #endif