12 delete theTopologie.second ;
17 return (
int(det)<<4) | (subdet&0xF);
26 std::map<int, const CaloSubdetectorTopology*>::const_iterator
i=
theTopologies_.find(
makeIndex(
id.det(),
id.subdetId()));
84 return (geom==
nullptr)?(
false):(geom->
valid(
id));
virtual std::vector< DetId > up(const DetId &id) const =0
virtual std::vector< DetId > getNeighbours(const DetId &id, const CaloDirection &dir) const
virtual std::vector< DetId > getAllNeighbours(const DetId &id) const
CaloTopology const * topology(0)
virtual std::vector< DetId > north(const DetId &id) const =0
virtual std::vector< DetId > east(const DetId &id) const =0
virtual std::vector< DetId > down(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.
void setSubdetTopology(DetId::Detector det, int subdet, const CaloSubdetectorTopology *geom)
Register a subdetector Topology.
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.
virtual std::vector< DetId > west(const DetId &id) const =0
const CaloSubdetectorTopology * getSubdetectorTopology(const DetId &id) const
access the subdetector Topology for the given subdetector directly
static const std::vector< DetId > emptyDetIdVector
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 > south(const DetId &id) const =0
std::vector< DetId > south(const DetId &id) const
Get the neighbors of the given cell in south direction.