1 #ifndef Geometry_CaloTopology_HGCalTopology_h
2 #define Geometry_CaloTopology_HGCalTopology_h 1
25 virtual std::vector<DetId>
north(
const DetId&
id)
const {
27 std::vector<DetId> vNeighborsDetId;
28 if (! (nextId==
DetId(0)))
29 vNeighborsDetId.push_back(
DetId(nextId.
rawId()));
30 return vNeighborsDetId;
37 virtual std::vector<DetId>
south(
const DetId&
id)
const {
39 std::vector<DetId> vNeighborsDetId;
40 if (! (nextId==
DetId(0)))
41 vNeighborsDetId.push_back(
DetId(nextId.
rawId()));
42 return vNeighborsDetId;
49 virtual std::vector<DetId>
east(
const DetId&
id)
const {
51 std::vector<DetId> vNeighborsDetId;
52 if (! (nextId==
DetId(0)))
53 vNeighborsDetId.push_back(
DetId(nextId.
rawId()));
54 return vNeighborsDetId;
61 virtual std::vector<DetId>
west(
const DetId&
id)
const {
63 std::vector<DetId> vNeighborsDetId;
64 if (! (nextId==
DetId(0)))
65 vNeighborsDetId.push_back(
DetId(nextId.
rawId()));
66 return vNeighborsDetId;
69 virtual std::vector<DetId>
up(
const DetId&
id)
const {
71 std::vector<DetId> vNeighborsDetId;
72 if (! (nextId==
DetId(0)))
73 vNeighborsDetId.push_back(
DetId(nextId.
rawId()));
74 return vNeighborsDetId;
77 virtual std::vector<DetId>
down(
const DetId&
id)
const {
79 std::vector<DetId> vNeighborsDetId;
80 if (! (nextId==
DetId(0)))
81 vNeighborsDetId.push_back(
DetId(nextId.
rawId()));
82 return vNeighborsDetId;
std::vector< int > maxcells_
virtual std::vector< DetId > down(const DetId &id) const
bool validHashIndex(uint32_t ix) const
virtual std::vector< DetId > west(const DetId &id) const
DetId changeXY(const DetId &id, int nrStepsX, int nrStepsY) const
move the nagivator along x, y
virtual DetId goEast(const DetId &id) const
move the Topology east (positive ix)
DetId changeZ(const DetId &id, int nrStepsZ) const
move the nagivator along z
virtual std::vector< DetId > south(const DetId &id) const
virtual std::vector< DetId > up(const DetId &id) const
bool detectorType() const
virtual std::vector< DetId > north(const DetId &id) const
DetId offsetBy(const DetId startId, int nrStepsX, int nrStepsY) const
virtual uint32_t detId2denseId(const DetId &id) const
Dense indexing.
uint32_t rawId() const
get the raw id
HGCalTopology(const HGCalDDDConstants &hdcons, ForwardSubdetector subdet, bool halfChamber)
create a new Topology
unsigned int totalGeomModules() const
virtual uint32_t detId2denseGeomId(const DetId &id) const
DetId encode(const DecodedDetId &id_) const
virtual bool valid(const DetId &id) const
Is this a valid cell id.
virtual DetId goSouth(const DetId &id) const
move the Topology south (decrement iy)
static const int subSectors_
virtual DetId goNorth(const DetId &id) const
move the Topology north (increment iy)
DecodedDetId geomDenseId2decId(const uint32_t &hi) const
ForwardSubdetector subdet_
const HGCalDDDConstants & hdcons_
DecodedDetId decode(const DetId &id) const
virtual DetId denseId2detId(uint32_t denseId) const
const HGCalDDDConstants & dddConstants() const
ForwardSubdetector subDetector() const
unsigned int totalModules() const
DetId switchZSide(const DetId startId) const
unsigned int kSizeForDenseIndexing
virtual std::vector< DetId > east(const DetId &id) const
virtual ~HGCalTopology()
virtual destructor
virtual DetId goWest(const DetId &id) const
move the Topology west (negative ix)