//----------------------------------------------------------- // 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 "TpcDigi.h" #include "TpcCluster.h" // Collaborating Class Declarations -- class TpcPadPlane; class padprocessor; class TpcClusterFitter; class TpcSectorProcessor { public: // Constructors/Destructors --------- TpcSectorProcessor(bool b=false, bool dm=false){fsaveRaw=b; fDataMode=dm;} ~TpcSectorProcessor(); // 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(TpcPadPlane* 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(TpcDigi* 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; TpcPadPlane* fpadplane; unsigned int fSectorId; TpcClusterFitter* 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$ //--------------------------------------------------------------