00001 #ifndef DPGAnalysis_SiStripTools_APVShotFinder_h 00002 #define DPGAnalysis_SiStripTools_APVShotFinder_h 00003 00004 #include <vector> 00005 #include "DPGAnalysis/SiStripTools/interface/APVShot.h" 00006 00007 class SiStripDigi; 00008 00009 00010 namespace edm { 00011 template <class T> class DetSet; 00012 template <class T> class DetSetVector; 00013 } 00014 00015 class APVShotFinder { 00016 00017 public: 00018 APVShotFinder(const bool zs=true); 00019 APVShotFinder(const edm::DetSet<SiStripDigi>& digis, const bool zs=true); 00020 APVShotFinder(const edm::DetSetVector<SiStripDigi>& digicoll, const bool zs=true); 00021 00022 void computeShots(const edm::DetSet<SiStripDigi>& digis); 00023 void computeShots(const edm::DetSetVector<SiStripDigi>& digicoll); 00024 00025 const std::vector<APVShot>& getShots() const; 00026 00027 private: 00028 00029 void addShots(const edm::DetSet<SiStripDigi>& digis); 00030 00031 bool _zs; 00032 std::vector<APVShot> _shots; 00033 00034 }; 00035 00036 #endif // DPGAnalysis_SiStripTools_APVShotFinder_h