00001 #ifndef __MMUICLUSTERFINDER_H__ 00002 #define __MMUICLUSTERFINDER_H__ 00003 00004 #include "PHCompositeNode.h" 00005 #include "PHModule.h" 00006 #include "PHTimeServer.h" 00007 #include "MuiGeomClasses.hh" 00008 00009 00010 #include <mMuiClusterFinderPar.h> 00011 #include <TMuiClusterMapO.h> 00012 #include <TMuiHitMapO.h> 00013 00026 class mMuiClusterFinder: public PHModule 00027 { 00028 public: 00030 mMuiClusterFinder(); 00032 ~mMuiClusterFinder(); 00033 00035 PHBoolean event(PHCompositeNode *); 00036 00037 private: 00038 00039 // private methods 00040 // 00041 void set_interface_ptrs(PHCompositeNode* top_node); 00042 00043 void find_clusters(); 00044 00045 bool associate_hit(TMuiClusterMapO::pointer, 00046 TMuiHitMapO::pointer); 00047 00048 void make_new_cluster(TMuiHitMapO::pointer); 00049 00050 void calc_position(TMuiClusterMapO::pointer clus_ptr, 00051 TMuiPanelGeo *fpMuiPanelGeo); 00052 00053 void apply_cluster_cuts(); 00054 // Interface pointers 00055 // 00056 const mMuiClusterFinderPar* _mod_par; // parameter table 00057 TMuiHitMapO* _muihitmap; // IOC 00058 TMuiClusterMapO* _muiclustermap; // IOC 00059 00060 PHTimeServer::timer _timer; 00061 00062 }; 00063 00064 #endif /*__MMUICLUSTERFINDER_H__*/