28 const int ladder_phi,
const int ladder_z,
29 const int strip_z,
const int strip_phi)
31 addDeadChannel(getInttKey(layer,
37 const int ladder_phi,
const int ladder_z,
38 const int strip_z,
const int strip_phi)
const
40 if (isDeadChannel(getInttKey(layer,
44 else if (isDeadChannel(getInttKey(layer,
46 strip_z, s_wildCardID)))
48 else if (isDeadChannel(getInttKey(layer,
50 s_wildCardID, s_wildCardID)))
52 else if (isDeadChannel(getInttKey(layer,
53 ladder_phi, s_wildCardID,
54 s_wildCardID, s_wildCardID)))
56 else if (isDeadChannel(getInttKey(layer,
57 s_wildCardID, s_wildCardID,
58 s_wildCardID, s_wildCardID)))
71 os <<
"InttDeadMap base class" << std::endl;
75 int ladder_phi,
int ladder_z,
76 int strip_z,
int strip_phi)
78 static const int layer_bit = 8;
79 static const int ladder_phi_bit = 16;
80 static const int ladder_z_bit = 8;
81 static const int strip_z_bit = 16;
82 static const int strip_phi_bit = 16;
84 bool wildcard =
false;
86 if (layer == s_wildCardID) wildcard =
true;
87 if (wildcard) layer = (1 << layer_bit) - 1;
89 if (ladder_phi == s_wildCardID) wildcard =
true;
90 if (wildcard) ladder_phi = (1 << ladder_phi_bit) - 1;
92 if (ladder_z == s_wildCardID) wildcard =
true;
93 if (wildcard) ladder_z = (1 << ladder_z_bit) - 1;
95 if (strip_z == s_wildCardID) wildcard =
true;
96 if (wildcard) strip_z = (1 << strip_z_bit) - 1;
98 if (strip_phi == s_wildCardID) wildcard =
true;
99 if (wildcard) strip_phi = (1 << strip_phi_bit) - 1;
102 assert(layer_bit + ladder_phi_bit + ladder_z_bit + strip_z_bit + strip_phi_bit == numeric_limits<PHG4CellDefs::keytype>::digits);
105 assert(layer < (1 << layer_bit));
106 assert(ladder_phi < (1 << ladder_phi_bit));
107 assert(ladder_z < (1 << ladder_z_bit));
108 assert(strip_z < (1 << strip_z_bit));
109 assert(strip_phi < (1 << strip_phi_bit));
113 assert(ladder_phi >= 0);
114 assert(ladder_z >= 0);
115 assert(strip_z >= 0);
116 assert(strip_phi >= 0);
122 key <<= ladder_phi_bit;
125 key <<= ladder_z_bit;
131 key <<= strip_phi_bit;