Go to the documentation of this file.00001 #ifndef CSCDQM_StripClusterFinder_h
00002 #define CSCDQM_StripClusterFinder_h
00003
00004 #include "CSCDQM_StripCluster.h"
00005
00006 #include <vector>
00007 #include <iostream>
00008 #include <string>
00009 #include <signal.h>
00010 #include <map>
00011 #include <string>
00012 #include <iomanip>
00013 #include <set>
00014 #include <sstream>
00015 #include <stdint.h>
00016
00017 namespace cscdqm {
00018
00023 class StripClusterFinder {
00024
00025 public:
00026 StripClusterFinder(int l, int s, int cf, int st );
00027 void DoAction(int layerId,float *cathodes);
00028 void printClusters(void);
00029 std::vector<StripClusterFitData> thePulseHeightMap;
00030 public:
00031 class Sort{
00032 public:
00033 bool operator()(StripClusterFitData a,StripClusterFitData b) const;
00034 };
00035 std::vector<StripCluster> MEStripClusters;
00036 ClusterLocalMax localMaxTMP;
00037 std::vector<StripCluster> getClusters(){ return MEStripClusters;}
00038 private:
00039 int32_t LId;
00040 uint32_t i;
00041 uint32_t j;
00042 uint32_t ic1,IC1MIN,IC1MAX,JC1MIN,JC1MAX,ic2,IC2MIN,IC2MAX,JC2MIN,JC2MAX,icstart;
00043 int LayerNmb, TimeSliceNmb, StripNmb, AnodeGroupNmb,AFEBSliceNmb;
00044 void SearchMax(void);
00045 void SearchBorders(void);
00046 void Match(void);
00047 bool FindAndMatch(void);
00048 void KillCluster(void);
00049 void RefindMax(void);
00050
00051 };
00052
00053 }
00054
00055 #endif
00056