Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-05-01 22:51:49

0001 #ifndef CSCDQM_StripClusterFinder_h
0002 #define CSCDQM_StripClusterFinder_h
0003 
0004 #include "CSCDQM_StripCluster.h"
0005 
0006 #include <vector>
0007 #include <iostream>
0008 #include <string>
0009 #include <csignal>
0010 #include <map>
0011 #include <string>
0012 #include <iomanip>
0013 #include <set>
0014 #include <sstream>
0015 #include <cstdint>
0016 
0017 namespace cscdqm {
0018 
0019   /**
0020  * @class StripClusterFinder
0021  * @brief Object used to find Strip Clusters
0022  */
0023   class StripClusterFinder {
0024   public:
0025     StripClusterFinder(int l, int s, int cf, int st, bool ME11 = false);
0026     void DoAction(int layerId, float* cathodes);
0027     void printClusters(void);
0028     std::vector<StripClusterFitData> thePulseHeightMap;
0029 
0030   public:
0031     class Sort {
0032     public:
0033       bool operator()(const StripClusterFitData& a, const StripClusterFitData& b) const;
0034     };
0035     std::vector<StripCluster> MEStripClusters;
0036     ClusterLocalMax localMaxTMP;
0037     std::vector<StripCluster> getClusters() { return MEStripClusters; }
0038 
0039   private:
0040     int32_t LId;
0041     uint32_t i;
0042     uint32_t j;
0043     uint32_t ic1, IC1MIN, IC1MAX, JC1MIN, JC1MAX, ic2, IC2MIN, IC2MAX, JC2MIN, JC2MAX, icstart;
0044     int LayerNmb, TimeSliceNmb, StripNmb, AnodeGroupNmb, AFEBSliceNmb;
0045     void SearchMax(void);
0046     void SearchBorders(void);
0047     void Match(void);
0048     bool FindAndMatch(void);
0049     void KillCluster(void);
0050     void RefindMax(void);
0051     bool is7DCFEBs;
0052     bool isME11;
0053   };
0054 
0055 }  // namespace cscdqm
0056 
0057 #endif