12 std::unique_ptr<const CaloSubdetectorTopology>
geom) {
76 return (geom ==
nullptr) ? (
false) : (geom->
valid(
id));
virtual std::vector< DetId > getNeighbours(const DetId &id, const CaloDirection &dir) const
virtual std::vector< DetId > getAllNeighbours(const DetId &id) const
virtual std::vector< DetId > west(const DetId &id) const =0
std::vector< DetId > down(const DetId &id) const
Get the neighbors of the given cell in down direction (inward)
std::vector< DetId > getAllNeighbours(const DetId &id) const
Get all the neighbors of the given cell.
std::vector< DetId > up(const DetId &id) const
Get the neighbors of the given cell in up direction (outward)
std::vector< DetId > getWindow(const DetId &id, const int &northSouthSize, const int &eastWestSize) const
Get the neighbors of the given cell in a window of given size.
int makeIndex(DetId::Detector det, int subdet) const
std::vector< DetId > east(const DetId &id) const
Get the neighbors of the given cell in east direction.
std::vector< DetId > north(const DetId &id) const
Get the neighbors of the given cell in north direction.
virtual std::vector< DetId > north(const DetId &id) const =0
virtual std::vector< DetId > up(const DetId &id) const =0
virtual std::vector< DetId > getWindow(const DetId &id, const int &northSouthSize, const int &eastWestSize) const
bool valid(const DetId &id) const
Is this a valid cell id?
virtual bool valid(const DetId &) const
is this detid present in the Topology?
std::vector< DetId > west(const DetId &id) const
Get the neighbors of the given cell in west direction.
const CaloSubdetectorTopology * getSubdetectorTopology(const DetId &id) const
access the subdetector Topology for the given subdetector directly
static const std::vector< DetId > emptyDetIdVector
void setSubdetTopology(DetId::Detector det, int subdet, std::unique_ptr< const CaloSubdetectorTopology > geom)
Register a subdetector Topology.
virtual std::vector< DetId > south(const DetId &id) const =0
CaloDirection
Codes the local directions in the cell lattice.
std::vector< DetId > getNeighbours(const DetId &id, const CaloDirection &dir) const
Get the neighbors of the given cell given direction.
virtual std::vector< DetId > east(const DetId &id) const =0
std::vector< DetId > south(const DetId &id) const
Get the neighbors of the given cell in south direction.
virtual std::vector< DetId > down(const DetId &id) const =0