1 #ifndef TOPOLOGY_CALOTOPOLOGY_CALOSUBDETECTORTOPOLOGY_H
2 #define TOPOLOGY_CALOTOPOLOGY_CALOSUBDETECTORTOPOLOGY_H 1
25 virtual bool valid(
const DetId& )
const {
return false; };
27 virtual std::vector<DetId>
east(
const DetId&
id)
const = 0;
29 virtual std::vector<DetId>
west(
const DetId&
id)
const = 0;
31 virtual std::vector<DetId>
north(
const DetId&
id)
const = 0;
33 virtual std::vector<DetId>
south(
const DetId&
id)
const = 0;
35 virtual std::vector<DetId>
up(
const DetId&
id)
const = 0;
37 virtual std::vector<DetId>
down(
const DetId&
id)
const = 0;
41 std::vector<DetId> aNullVector;
60 throw cms::Exception(
"getNeighboursError") <<
"Unsopported direction";
66 virtual std::vector<DetId>
getWindow(
const DetId&
id,
const int& northSouthSize,
const int& eastWestSize)
const;
106 throw cms::Exception(
"getWindowError") <<
"Unsopported direction";
virtual std::vector< DetId > getNeighbours(const DetId &id, const CaloDirection &dir) const
virtual std::vector< DetId > getAllNeighbours(const DetId &id) const
std::pair< int, int > Coordinate
virtual std::vector< DetId > west(const DetId &id) const =0
virtual ~CaloSubdetectorTopology()
virtual destructor
CellInfo(bool a_visited, const DetId &a_cell)
Coordinate getNeighbourIndex(const Coordinate &coord, const CaloDirection &dir) const
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
virtual bool valid(const DetId &) const
is this detid present in the Topology?
virtual std::vector< DetId > south(const DetId &id) const =0
CaloDirection
Codes the local directions in the cell lattice.
CaloSubdetectorTopology()
standard constructor
virtual std::vector< DetId > east(const DetId &id) const =0
virtual std::vector< DetId > down(const DetId &id) const =0