CMS 3D CMS Logo

HcalFinegrainBit.cc
Go to the documentation of this file.
2 
3 #include <cassert>
4 
5 std::bitset<4>
7 {
8  if (version_ == 0) {
9  // Currently assumes that the bits that are set are mutually
10  // exclusive!
11  assert((tower[is_mip] & tower[is_above_mip]).count() == 0);
12 
13  std::bitset<4> result;
14 
15  // First layer consistent with a MIP
16  result[0] = tower[is_mip][0];
17 
18  // First layer consistent with a MIP, at least one layer with more
19  // than MIP energy deposition
20  result[1] = result[0] & (tower[is_above_mip].count() > 0);
21 
22  // There layers consistent with a MIP
23  result[2] = tower[is_mip].count() >= 3;
24 
25  // Unset
26  result[3] = false;
27 
28  return result;
29  }
30  return 0;
31 }
std::array< std::bitset< 6 >, 2 > Tower
const int is_above_mip
std::bitset< 4 > compute(const Tower &) const