1 #ifndef GEOMETRY_CALOTOPOLOGY_CALOTOPOLOGY_H
2 #define GEOMETRY_CALOTOPOLOGY_CALOTOPOLOGY_H 1
21 typedef std::map<int, std::unique_ptr<const CaloSubdetectorTopology>>
TopMap;
36 std::vector<DetId>
east(
const DetId&
id)
const;
38 std::vector<DetId>
west(
const DetId&
id)
const;
40 std::vector<DetId>
north(
const DetId&
id)
const;
42 std::vector<DetId>
south(
const DetId&
id)
const;
44 std::vector<DetId>
up(
const DetId&
id)
const;
46 std::vector<DetId>
down(
const DetId&
id)
const;
50 std::vector<DetId>
getWindow(
const DetId&
id,
const int& northSouthSize,
const int& eastWestSize)
const;
std::map< int, std::unique_ptr< const CaloSubdetectorTopology > > TopMap
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.
bool valid(const DetId &id) const
Is this a valid cell id?
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
void setSubdetTopology(DetId::Detector det, int subdet, std::unique_ptr< const CaloSubdetectorTopology > geom)
Register a subdetector Topology.
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.
std::vector< DetId > south(const DetId &id) const
Get the neighbors of the given cell in south direction.