//----------------------------------------------------------- // 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 PndTpcClusterFitter; class PndTpcSectorProcessor { public: // Constructors/Destructors --------- PndTpcSectorProcessor(bool b=false, bool dm=false){fsaveRaw=b; fDataMode=dm;} ~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, double diffFactor, // minimal relative difference for maximum double timeCut, // time gap for cluster splitting double G=1, double C=1); void MaskChannels(const std::vector& refs); 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; PndTpcClusterFitter* fFitter; std::vector fdigi_buffer; bool fsaveRaw; bool fDataMode; double fC; // normalization constant for errors double fG; // Gain/(electrons per ADC count) // Private Methods ----------------- void cog(); // center of gravity }; #endif //-------------------------------------------------------------- // $Log$ //--------------------------------------------------------------