//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Cluster Finding in the TPC: // ClusterFinder administrating SectorProcessors // // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Sebastian Neubert TUM (original author) // // //----------------------------------------------------------- #ifndef TPCCLUSTERFINDER_HH #define TPCCLUSTERFINDER_HH // Base Class Headers ---------------- // Collaborating Class Headers ------- #include #include //#include "PndTpcDigi.h" //#include "PndTpcCluster.h" #include "PndTpcAbsClusterFinder.h" // Collaborating Class Declarations -- class PndTpcPadPlane; class padprocessor; class PndTpcSectorProcessor; class PndTpcDigi; class PndTpcCluster; class PndTpcClusterFinder : public PndTpcAbsClusterFinder{ public: // Constructors/Destructors --------- PndTpcClusterFinder(PndTpcPadPlane* p, std::vector* output_buffer, unsigned int timeslice, int mode=0, int sectorid=-1, bool datamode=false, double diffFactor=1., double timeCut=5., double G=1, double C=1); // G=Gain/(electrons per adc count) // C = constant scale for errors ~PndTpcClusterFinder(); // Operators // Accessors ----------------------- // Modifiers ----------------------- // Mode==0 --> global time slices // Mode==1 --> sector wise time slices; pad cannot be hit twice void setMode(int mode) {fmode=mode;} // Operations ---------------------- virtual void process(std::vector& digis); virtual void reset(); virtual void checkConsistency(); private: void putDigi(PndTpcDigi* digi); // Private Data Members ------------ std::map fsproc; std::map* > fsectormap; PndTpcPadPlane* fpadplane; std::vector* foutput_buffer; unsigned int fdt; // time slice in units of sample time int fmode; bool fDataMode; // Private Methods ----------------- }; #endif //-------------------------------------------------------------- // $Log$ //--------------------------------------------------------------