150 bool isPositive =
false;
155 for (
int ich = ich1; ich < ich2; ich++) {
168 else if (
id.channel() <= 0)
187 std::vector<DetId> vNeighborsDetId;
191 bool isPositive =
false;
192 if (zdcId.
zside() == 1)
196 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
197 return vNeighborsDetId;
201 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
202 return vNeighborsDetId;
205 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
207 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
209 return vNeighborsDetId;
213 std::vector<DetId> vNeighborsDetId;
217 bool isPositive =
false;
218 if (zdcId.
zside() == 1)
222 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
223 return vNeighborsDetId;
227 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
228 return vNeighborsDetId;
231 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
233 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
236 bool isPositive =
false;
237 if (zdcId.
zside() == 1)
241 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
242 return vNeighborsDetId;
246 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
247 return vNeighborsDetId;
251 bool isPositive =
false;
252 if (zdcId.
zside() == 1)
256 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
257 return vNeighborsDetId;
261 vNeighborsDetId.emplace_back(zdcDetId.
rawId());
262 return vNeighborsDetId;
265 return vNeighborsDetId;
269 edm::LogVerbatim(
"ForwardGeom") <<
"ZdcTopology::east() not yet implemented";
270 std::vector<DetId> vNeighborsDetId;
271 return vNeighborsDetId;
275 edm::LogVerbatim(
"ForwardGeom") <<
"ZdcTopology::west() not yet implemented";
276 std::vector<DetId> vNeighborsDetId;
277 return vNeighborsDetId;
281 edm::LogVerbatim(
"ForwardGeom") <<
"ZdcTopology::north() not yet implemented";
282 std::vector<DetId> vNeighborsDetId;
283 return vNeighborsDetId;
286 edm::LogVerbatim(
"ForwardGeom") <<
"ZdcTopology::south() not yet implemented";
287 std::vector<DetId> vNeighborsDetId;
288 return vNeighborsDetId;
292 std::vector<DetId> vNeighborsDetId;
293 return vNeighborsDetId;
296 edm::LogVerbatim(
"ForwardGeom") <<
"ZdcTopology::down() not yet implemented";
297 std::vector<DetId> vNeighborsDetId;
298 return vNeighborsDetId;
398 const int32_t se(
detId.section());
399 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