//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Cluster Finding in the TPC: // SectorProcessor using PadProcessor algorithm // // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Sebastian Neubert TUM (original author) // // //----------------------------------------------------------- #ifndef TPCSECTORPROCESSOR_HH #define TPCSECTORPROCESSOR_HH // Base Class Headers ---------------- // Collaborating Class Headers ------- #include #include #include "PndTpcDigi.h" #include "PndTpcCluster.h" // Collaborating Class Declarations -- class PndTpcPadPlane; class padprocessor; class PndTpcSectorProcessor { public: // Constructors/Destructors --------- PndTpcSectorProcessor(){;} ~PndTpcSectorProcessor(); // Operators // Accessors ----------------------- unsigned int getNPads() const {return _pproc.size();} const padprocessor* getPP(unsigned int id){return _pproc[id];} unsigned int getId() const {return _SectorId;} // Modifiers ----------------------- void Init(PndTpcPadPlane* p, unsigned int id, std::vector* ob); void putDigi(PndTpcDigi* d){_digi_buffer.push_back(d);} // Operations ---------------------- void process(); void reset(); private: // Private Data Members ------------ std::map _pproc; std::map _activepads; std::vector*> _cluster_buffer; std::vector* _output_buffer; PndTpcPadPlane* _padplane; unsigned int _SectorId; std::vector _digi_buffer; // Private Methods ----------------- void cog(); // center of gravity }; #endif //-------------------------------------------------------------- // $Log$ //--------------------------------------------------------------