//----------------------------------------------------------- // 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(bool b=false){fsaveRaw=b;} ~PndTpcSectorProcessor(); // Operators // Accessors ----------------------- unsigned int getNPads() const {return fpproc.size();} const padprocessor* getPP(unsigned int id){return fpproc[id];} unsigned int getId() const {return fSectorId;} // Modifiers ----------------------- void Init(PndTpcPadPlane* p, unsigned int id, std::vector* ob); void putDigi(PndTpcDigi* d){fdigi_buffer.push_back(d);} // Operations ---------------------- void process(); void reset(); private: // Private Data Members ------------ std::map fpproc; std::map factivepads; std::vector*> fcluster_buffer; std::vector* foutput_buffer; PndTpcPadPlane* fpadplane; unsigned int fSectorId; std::vector fdigi_buffer; bool fsaveRaw; // Private Methods ----------------- void cog(); // center of gravity }; #endif //-------------------------------------------------------------- // $Log$ //--------------------------------------------------------------