150 bool isPositive =
false;
155 for (
int ich = ich1; ich < ich2; ich++) {
168 else if (
id.channel() <= 0)
186 std::vector<DetId> vNeighborsDetId;
190 bool isPositive =
false;
191 if (zdcId.
zside() == 1)
195 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
196 return vNeighborsDetId;
200 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
201 return vNeighborsDetId;
204 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
206 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
208 return vNeighborsDetId;
212 std::vector<DetId> vNeighborsDetId;
216 bool isPositive =
false;
217 if (zdcId.
zside() == 1)
221 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
222 return vNeighborsDetId;
226 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
227 return vNeighborsDetId;
230 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
232 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
235 bool isPositive =
false;
236 if (zdcId.
zside() == 1)
240 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
241 return vNeighborsDetId;
245 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
246 return vNeighborsDetId;
250 bool isPositive =
false;
251 if (zdcId.
zside() == 1)
255 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
256 return vNeighborsDetId;
260 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
261 return vNeighborsDetId;
264 return vNeighborsDetId;
268 edm::LogVerbatim(
"ForwardGeom") <<
"ZdcTopology::east() not yet implemented";
269 std::vector<DetId> vNeighborsDetId;
270 return vNeighborsDetId;
274 edm::LogVerbatim(
"ForwardGeom") <<
"ZdcTopology::west() not yet implemented";
275 std::vector<DetId> vNeighborsDetId;
276 return vNeighborsDetId;
280 edm::LogVerbatim(
"ForwardGeom") <<
"ZdcTopology::north() not yet implemented";
281 std::vector<DetId> vNeighborsDetId;
282 return vNeighborsDetId;
285 edm::LogVerbatim(
"ForwardGeom") <<
"ZdcTopology::south() not yet implemented";
286 std::vector<DetId> vNeighborsDetId;
287 return vNeighborsDetId;
291 std::vector<DetId> vNeighborsDetId;
292 return vNeighborsDetId;
295 edm::LogVerbatim(
"ForwardGeom") <<
"ZdcTopology::down() not yet implemented";
296 std::vector<DetId> vNeighborsDetId;
297 return vNeighborsDetId;
397 const int32_t se(
detId.section());
398 uint32_t di = (
detId.channel() - 1 +
Log< level::Info, true > LogVerbatim
std::vector< DetId > down(const DetId &id) const override
void exclude(const HcalZDCDetId &id)
uint32_t kSizeForDenseIndexing() const
static constexpr int32_t kDepTot
ZdcTopology(const HcalDDDRecConstants *hcons)
static constexpr int32_t kSizeForDenseIndexingRun1
std::vector< DetId > up(const DetId &id) const override
const HcalDDDRecConstants * hcons_
HcalTopologyMode::Mode mode_
std::vector< DetId > north(const DetId &id) const override
static constexpr int32_t kDepHAD
static constexpr int32_t kDepEM
uint32_t detId2DenseIndex(const DetId &id) const
std::vector< DetId > south(const DetId &id) const override
Abs< T >::type abs(const T &t)
DetId denseId2detId(uint32_t di) const override
virtual std::vector< DetId > transverse(const DetId &id) const
std::vector< HcalZDCDetId > exclusionList_
virtual bool valid(const HcalZDCDetId &id) const
int firstCell(HcalZDCDetId::Section section) const
std::vector< DetId > east(const DetId &id) const override
std::vector< DetId > west(const DetId &id) const override
constexpr uint32_t rawId() const
get the raw id
virtual unsigned int ncells() const
return a count of valid cells (for dense indexing use)
int lastCell(HcalZDCDetId::Section section) const
static constexpr int32_t kDepLUM
constexpr Section section() const
get the section
bool validRaw(const HcalZDCDetId &id) const
static constexpr int32_t kDepRun1
bool validDenseIndex(uint32_t din) const
static constexpr int32_t kDepRPD
bool isExcluded(const HcalZDCDetId &id) const
constexpr int32_t channel() const
get the channel
constexpr int32_t zside() const
get the z-side of the cell (1/-1)
static constexpr int32_t kSizeForDenseIndexingRun3
virtual std::vector< DetId > longitudinal(const DetId &id) const