#ifndef TPCCLUSTERFINDERSIMPLE_HH #define TPCCLUSTERFINDERSIMPLE_HH #include #include #include "PndTpcAbsClusterFinder.h" #include "McIdCollection.h" #include "TVector3.h" class PndTpcPadPlane; class PndTpcDigi; class PndTpcCluster; class PndTpcPrelimCluster{ private: void cog(); TVector3 _pos; TVector3 _err; double _amp; double _cogT; int _id; std::vector _digis; std::set _possiblePads; PndTpcPadPlane* _padplane; double _timeslice; McId _dominant_mcid; bool isInTimeWindow(const PndTpcDigi* const); public: PndTpcPrelimCluster(PndTpcPadPlane*, double, int); virtual ~PndTpcPrelimCluster(); void addHit(const PndTpcDigi&); bool isInCluster(const PndTpcDigi* const); PndTpcCluster* convPndTpcCluster(); }; class PndTpcClusterFinderSimple : public PndTpcAbsClusterFinder{ public: // Constructors/Destructors --------- PndTpcClusterFinderSimple(PndTpcPadPlane*, std::vector*, unsigned int); ~PndTpcClusterFinderSimple(); virtual void process(std::vector&); virtual void reset(); virtual void checkConsistency(); private: PndTpcPadPlane* _padplane; std::vector* _output_buffer; unsigned int _dt; // time slice in units of sample time }; #endif