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