CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_4/src/DQM/CSCMonitorModule/interface/CSCDQM_StripClusterFinder.h

Go to the documentation of this file.
00001 #ifndef CSCDQM_StripClusterFinder_h
00002 #define CSCDQM_StripClusterFinder_h
00003 
00004 #include "DQM/CSCMonitorModule/interface/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