1 #ifndef Geometry_CaloTopology_HGCalTopology_h 2 #define Geometry_CaloTopology_HGCalTopology_h 1 27 std::vector<DetId>
north(
const DetId&
id)
const override {
29 std::vector<DetId> vNeighborsDetId;
30 if (! (nextId==
DetId(0)))
31 vNeighborsDetId.emplace_back(nextId);
32 return vNeighborsDetId;
39 std::vector<DetId>
south(
const DetId&
id)
const override {
41 std::vector<DetId> vNeighborsDetId;
42 if (! (nextId==
DetId(0)))
43 vNeighborsDetId.emplace_back(nextId);
44 return vNeighborsDetId;
51 std::vector<DetId>
east(
const DetId&
id)
const override {
53 std::vector<DetId> vNeighborsDetId;
54 if (! (nextId==
DetId(0)))
55 vNeighborsDetId.emplace_back(nextId);
56 return vNeighborsDetId;
63 std::vector<DetId>
west(
const DetId&
id)
const override {
65 std::vector<DetId> vNeighborsDetId;
66 if (! (nextId==
DetId(0)))
67 vNeighborsDetId.emplace_back(nextId);
68 return vNeighborsDetId;
71 std::vector<DetId>
up(
const DetId&
id)
const override {
73 std::vector<DetId> vNeighborsDetId;
74 if (! (nextId==
DetId(0)))
75 vNeighborsDetId.emplace_back(nextId);
76 return vNeighborsDetId;
79 std::vector<DetId>
down(
const DetId&
id)
const override {
81 std::vector<DetId> vNeighborsDetId;
82 if (! (nextId==
DetId(0)))
83 vNeighborsDetId.emplace_back(nextId);
84 return vNeighborsDetId;
HGCalGeometryMode::GeometryMode geomMode() const
Geometry mode.
std::vector< int > maxcells_
bool validHashIndex(uint32_t ix) const
unsigned int allGeomModules() const
DetId changeXY(const DetId &id, int nrStepsX, int nrStepsY) const
move the nagivator along x, y
DetId changeZ(const DetId &id, int nrStepsZ) const
move the nagivator along z
HGCalGeometryMode::GeometryMode mode_
DetId goNorth(const DetId &id) const override
move the Topology north (increment iy)
bool detectorType() const
std::vector< DetId > west(const DetId &id) const override
DetId denseId2detId(uint32_t denseId) const override
DetId goEast(const DetId &id) const override
move the Topology east (positive ix)
DetId offsetBy(const DetId startId, int nrStepsX, int nrStepsY) const
HGCalTopology(const HGCalDDDConstants &hdcons, ForwardSubdetector subdet, bool halfChamber)
create a new Topology
unsigned int totalGeomModules() const
virtual uint32_t detId2denseGeomId(const DetId &id) const
~HGCalTopology() override
virtual destructor
std::vector< DetId > east(const DetId &id) const override
DetId encode(const DecodedDetId &id_) const
std::vector< DetId > north(const DetId &id) const override
static const int subSectors_
Use subSector in square mode as wafer type in hexagon mode.
uint32_t detId2denseId(const DetId &id) const override
Dense indexing.
DecodedDetId geomDenseId2decId(const uint32_t &hi) const
ForwardSubdetector subdet_
const HGCalDDDConstants & hdcons_
DecodedDetId decode(const DetId &id) const
std::vector< DetId > up(const DetId &id) const override
const HGCalDDDConstants & dddConstants() const
ForwardSubdetector subDetector() const
std::vector< DetId > south(const DetId &id) const override
unsigned int totalModules() const
DetId switchZSide(const DetId startId) const
DetId goSouth(const DetId &id) const override
move the Topology south (decrement iy)
std::vector< DetId > down(const DetId &id) const override
DetId goWest(const DetId &id) const override
move the Topology west (negative ix)
unsigned int kSizeForDenseIndexing
bool valid(const DetId &id) const override
Is this a valid cell id.