CMS 3D CMS Logo

Phase2TrackerClusterizerSequentialAlgorithm.h
Go to the documentation of this file.
1 #ifndef RecoLocalTracker_SiPhase2Clusterizer_Phase2TrackerClusterizerSequentialAlgorithm_h
2 #define RecoLocalTracker_SiPhase2Clusterizer_Phase2TrackerClusterizerSequentialAlgorithm_h
3 
8 
10 public:
13 };
14 
17  if (digis.empty())
18  return;
19  auto di = digis.begin();
20  unsigned int sizeCluster = 1;
21  Phase2TrackerDigi firstDigi = *di;
22  bool HIPbit = firstDigi.overThreshold();
23  auto previous = firstDigi;
24  ++di;
25  for (; di != digis.end(); ++di) {
26  auto digi = *di;
27 #ifdef VERIFY_PH2_TK_CLUS
28  if (!(previous < digi))
29  std::cout << "not ordered " << previous << ' ' << digi << std::endl;
30 #endif
31  if (digi - previous == 1) {
32  HIPbit |= digi.overThreshold();
33  ++sizeCluster;
34  } else {
35  clusters.push_back(Phase2TrackerCluster1D(firstDigi, sizeCluster, HIPbit));
36  firstDigi = digi;
37  HIPbit = digi.overThreshold();
38  sizeCluster = 1;
39  }
40  previous = digi;
41  }
42  clusters.push_back(Phase2TrackerCluster1D(firstDigi, sizeCluster, HIPbit));
43 }
44 
45 #endif
iterator end()
Definition: DetSet.h:58
iterator begin()
Definition: DetSet.h:57
bool empty() const
Definition: DetSet.h:62
bool overThreshold() const
void clusterizeDetUnit(const edm::DetSet< Phase2TrackerDigi > &, Phase2TrackerCluster1DCollectionNew::FastFiller &) const