#include <HGCalTBTopology.h>
Classes | |
struct | DecodedDetId |
Public Member Functions | |
unsigned int | allGeomModules () const |
const HGCalTBDDDConstants & | dddConstants () const |
DecodedDetId | decode (const DetId &id) const |
DetId | denseId2detId (uint32_t denseId) const override |
Dense indexing. More... | |
DetId::Detector | detector () const |
bool | detectorType () const |
virtual uint32_t | detId2denseGeomId (const DetId &id) const |
uint32_t | detId2denseId (const DetId &id) const override |
return a linear packed id More... | |
std::vector< DetId > | down (const DetId &id) const override |
std::vector< DetId > | east (const DetId &id) const override |
DetId | encode (const DecodedDetId &id_) const |
DecodedDetId | geomDenseId2decId (const uint32_t &hi) const |
HGCalGeometryMode::GeometryMode | geomMode () const |
Geometry mode. More... | |
DetId | goEast (const DetId &id) const override |
move the Topology east (positive ix) More... | |
DetId | goNorth (const DetId &id) const override |
move the Topology north (increment iy) More... | |
DetId | goSouth (const DetId &id) const override |
move the Topology south (decrement iy) More... | |
DetId | goWest (const DetId &id) const override |
move the Topology west (negative ix) More... | |
HGCalTBTopology (const HGCalTBDDDConstants *hdcons, int subdet) | |
create a new Topology More... | |
std::vector< DetId > | neighbors (DetId id) const |
std::vector< DetId > | north (const DetId &id) const override |
DetId | offsetBy (const DetId startId, int nrStepsX, int nrStepsY) const |
std::vector< DetId > | south (const DetId &id) const override |
ForwardSubdetector | subDetector () const |
DetId | switchZSide (const DetId startId) const |
unsigned int | totalGeomModules () const |
unsigned int | totalModules () const |
std::vector< DetId > | up (const DetId &id) const override |
bool | valid (const DetId &id) const override |
Is this a valid cell id. More... | |
bool | validHashIndex (uint32_t ix) const |
std::vector< DetId > | west (const DetId &id) const override |
~HGCalTBTopology () override | |
default destructor More... | |
Public Member Functions inherited from CaloSubdetectorTopology | |
CaloSubdetectorTopology () | |
standard constructor More... | |
virtual DetId | denseId2detId (unsigned int) const |
return a linear packed id More... | |
virtual bool | denseIdConsistent (int topoVer) const |
return whether this topology is consistent with the numbering in the given topology More... | |
virtual std::vector< DetId > | getAllNeighbours (const DetId &id) const |
virtual std::vector< DetId > | getNeighbours (const DetId &id, const CaloDirection &dir) const |
virtual std::vector< DetId > | getWindow (const DetId &id, const int &northSouthSize, const int &eastWestSize) const |
virtual DetId | goDown (const DetId &id) const |
virtual DetId | goUp (const DetId &id) const |
virtual unsigned int | ncells () const |
return a count of valid cells (for dense indexing use) More... | |
virtual int | topoVersion () const |
return a version which identifies the given topology More... | |
virtual | ~CaloSubdetectorTopology () |
virtual destructor More... | |
Static Public Attributes | |
static const int | subSectors_ = 2 |
Use subSector in square mode as wafer type in hexagon mode. More... | |
Private Member Functions | |
DetId | changeXY (const DetId &id, int nrStepsX, int nrStepsY) const |
move the nagivator along x, y More... | |
DetId | changeZ (const DetId &id, int nrStepsZ) const |
move the nagivator along z More... | |
Private Attributes | |
int | cells_ |
DetId::Detector | det_ |
int | firstLay_ |
const HGCalTBDDDConstants * | hdcons_ |
int | kHGeomHalf_ |
int | kHGhalf_ |
int | kHGhalfType_ |
unsigned int | kSizeForDenseIndexing |
int | layers_ |
HGCalGeometryMode::GeometryMode | mode_ |
int | sectors_ |
ForwardSubdetector | subdet_ |
int | types_ |
Additional Inherited Members | |
Protected Types inherited from CaloSubdetectorTopology | |
typedef std::pair< int, int > | Coordinate |
Protected Member Functions inherited from CaloSubdetectorTopology | |
Coordinate | getNeighbourIndex (const Coordinate &coord, const CaloDirection &dir) const |
Definition at line 12 of file HGCalTBTopology.h.
HGCalTBTopology::HGCalTBTopology | ( | const HGCalTBDDDConstants * | hdcons, |
int | subdet | ||
) |
create a new Topology
Definition at line 8 of file HGCalTBTopology.cc.
References cells_, det_, firstLay_, HGCalTBDDDConstants::firstLayer(), DetId::Forward, HGCalTBDDDConstants::geomMode(), hdcons_, kHGeomHalf_, kHGhalf_, kHGhalfType_, kSizeForDenseIndexing, HGCalTBDDDConstants::layers(), layers_, HGCalTBDDDConstants::maxCells(), mode_, HGCalTBDDDConstants::sectors(), sectors_, subdet_, and types_.
|
override |
unsigned int HGCalTBTopology::allGeomModules | ( | ) | const |
Definition at line 42 of file HGCalTBTopology.cc.
References hdcons_, and HGCalTBDDDConstants::wafers().
move the nagivator along x, y
Definition at line 158 of file HGCalTBTopology.cc.
Referenced by goEast(), goNorth(), goSouth(), goWest(), and offsetBy().
move the nagivator along z
Definition at line 160 of file HGCalTBTopology.cc.
Referenced by down(), and up().
|
inline |
Definition at line 94 of file HGCalTBTopology.h.
References hdcons_.
Referenced by HGCalTBGeometry::get8Corners(), HGCalTBGeometry::getClosestCell(), HGCalTBGeometry::getCorners(), HGCalTBGeometry::getNewCorners(), HGCalTBGeometry::getPosition(), HGCalTBGeometry::getSummary(), HGCalTBGeometry::neighborZ(), and HGCalTBGeometry::newCell().
HGCalTBTopology::DecodedDetId HGCalTBTopology::decode | ( | const DetId & | id | ) | const |
Definition at line 133 of file HGCalTBTopology.cc.
References EcalPhiSymFlatTableProducers_cfi::id, and heavyIonCSV_trainingSettings::idx.
Referenced by detId2denseGeomId(), detId2denseId(), HGCalTBGeometry::get8Corners(), HGCalTBGeometry::getClosestCell(), HGCalTBGeometry::getCorners(), HGCalTBGeometry::getNewCorners(), HGCalTBGeometry::getPosition(), HGCalTBGeometry::neighborZ(), HGCalTBGeometry::newCell(), switchZSide(), and valid().
|
override |
Dense indexing.
Definition at line 44 of file HGCalTBTopology.cc.
References encode(), EcalPhiSymFlatTableProducers_cfi::id, createfilelist::int, kHGhalfType_, layers_, sectors_, types_, and validHashIndex().
|
inline |
Definition at line 113 of file HGCalTBTopology.h.
References det_.
Referenced by HGCalTBGeometry::getClosestCell().
|
inline |
Definition at line 115 of file HGCalTBTopology.h.
|
virtual |
Definition at line 76 of file HGCalTBTopology.cc.
References decode(), heavyIonCSV_trainingSettings::idx, kHGeomHalf_, layers_, and sectors_.
Referenced by HGCalTBGeometry::getGeometry(), HGCalTBGeometry::getSummary(), HGCalTBGeometry::indexFor(), HGCalTBGeometry::newCell(), and HGCalTBGeometry::present().
|
overridevirtual |
return a linear packed id
Reimplemented from CaloSubdetectorTopology.
Definition at line 62 of file HGCalTBTopology.cc.
References decode(), heavyIonCSV_trainingSettings::idx, kHGeomHalf_, kHGhalfType_, layers_, sectors_, and types_.
Get the neighbors of the given cell in down direction (inward)
Implements CaloSubdetectorTopology.
Definition at line 68 of file HGCalTBTopology.h.
References changeZ().
Get the neighbors of the given cell in east direction
Implements CaloSubdetectorTopology.
Definition at line 42 of file HGCalTBTopology.h.
References goEast().
Referenced by neighbors().
DetId HGCalTBTopology::encode | ( | const DecodedDetId & | id_ | ) | const |
Definition at line 147 of file HGCalTBTopology.cc.
References EcalPhiSymFlatTableProducers_cfi::id, heavyIonCSV_trainingSettings::idx, and DetId::rawId().
Referenced by denseId2detId(), HGCalTBGeometry::getClosestCell(), HGCalTBGeometry::newCell(), and switchZSide().
HGCalTBTopology::DecodedDetId HGCalTBTopology::geomDenseId2decId | ( | const uint32_t & | hi | ) | const |
Definition at line 116 of file HGCalTBTopology.cc.
References EcalPhiSymFlatTableProducers_cfi::id, createfilelist::int, kHGeomHalf_, layers_, sectors_, and totalGeomModules().
|
inline |
move the Topology east (positive ix)
Reimplemented from CaloSubdetectorTopology.
Definition at line 41 of file HGCalTBTopology.h.
References changeXY().
Referenced by east().
move the Topology north (increment iy)
Reimplemented from CaloSubdetectorTopology.
Definition at line 21 of file HGCalTBTopology.h.
References changeXY().
Referenced by north().
move the Topology south (decrement iy)
Reimplemented from CaloSubdetectorTopology.
Definition at line 31 of file HGCalTBTopology.h.
References changeXY().
Referenced by south().
move the Topology west (negative ix)
Reimplemented from CaloSubdetectorTopology.
Definition at line 51 of file HGCalTBTopology.h.
References changeXY().
Referenced by west().
Definition at line 31 of file HGCalTBTopology.cc.
References east(), north(), south(), and west().
Get the neighbors of the given cell in north direction
Implements CaloSubdetectorTopology.
Definition at line 22 of file HGCalTBTopology.h.
References goNorth().
Referenced by neighbors().
returns a new DetId offset by nrStepsX and nrStepsY (can be negative), returns DetId(0) if invalid
Definition at line 97 of file HGCalTBTopology.cc.
References changeXY(), DetId::det(), DetId::Forward, EcalPhiSymFlatTableProducers_cfi::id, subdet_, DetId::subdetId(), and valid().
Get the neighbors of the given cell in south direction
Implements CaloSubdetectorTopology.
Definition at line 32 of file HGCalTBTopology.h.
References goSouth().
Referenced by neighbors().
|
inline |
Definition at line 106 of file HGCalTBTopology.cc.
References decode(), encode(), EcalPhiSymFlatTableProducers_cfi::id, valid(), and HGCalTBTopology::DecodedDetId::zSide.
|
inline |
Definition at line 82 of file HGCalTBTopology.h.
References kHGeomHalf_.
Referenced by geomDenseId2decId(), HGCalTBGeometry::getSummary(), HGCalTBGeometry::HGCalTBGeometry(), and HGCalTBGeometry::sizeForDenseIndex().
|
inline |
Definition at line 81 of file HGCalTBTopology.h.
References kSizeForDenseIndexing.
Referenced by HGCalTBGeometry::HGCalTBGeometry().
Get the neighbors of the given cell in up direction (outward)
Implements CaloSubdetectorTopology.
Definition at line 60 of file HGCalTBTopology.h.
References changeZ().
|
overridevirtual |
Is this a valid cell id.
Reimplemented from CaloSubdetectorTopology.
Definition at line 87 of file HGCalTBTopology.cc.
References cells_, decode(), DetId::det(), det_, RemoveAddSevLevel::flag, hdcons_, createfilelist::int, HGCalTBDDDConstants::isValidHex(), layers_, sectors_, subdet_, and DetId::subdetId().
Referenced by HGCalTBGeometry::newCell(), offsetBy(), and switchZSide().
|
inline |
Definition at line 92 of file HGCalTBTopology.h.
References ALPAKA_ACCELERATOR_NAMESPACE::ecal::reconstruction::internal::endcap::ix(), and kSizeForDenseIndexing.
Referenced by denseId2detId().
Get the neighbors of the given cell in west direction
Implements CaloSubdetectorTopology.
Definition at line 52 of file HGCalTBTopology.h.
References goWest().
Referenced by neighbors().
|
private |
Definition at line 129 of file HGCalTBTopology.h.
Referenced by HGCalTBTopology(), and valid().
|
private |
Definition at line 127 of file HGCalTBTopology.h.
Referenced by detector(), HGCalTBTopology(), and valid().
|
private |
Definition at line 129 of file HGCalTBTopology.h.
Referenced by HGCalTBTopology().
|
private |
Definition at line 124 of file HGCalTBTopology.h.
Referenced by allGeomModules(), dddConstants(), HGCalTBTopology(), and valid().
|
private |
Definition at line 130 of file HGCalTBTopology.h.
Referenced by detId2denseGeomId(), detId2denseId(), geomDenseId2decId(), HGCalTBTopology(), and totalGeomModules().
|
private |
Definition at line 130 of file HGCalTBTopology.h.
Referenced by HGCalTBTopology().
|
private |
Definition at line 130 of file HGCalTBTopology.h.
Referenced by denseId2detId(), detId2denseId(), and HGCalTBTopology().
|
private |
Definition at line 131 of file HGCalTBTopology.h.
Referenced by HGCalTBTopology(), totalModules(), and validHashIndex().
|
private |
Definition at line 129 of file HGCalTBTopology.h.
Referenced by denseId2detId(), detId2denseGeomId(), detId2denseId(), geomDenseId2decId(), HGCalTBTopology(), and valid().
|
private |
Definition at line 125 of file HGCalTBTopology.h.
Referenced by geomMode(), and HGCalTBTopology().
|
private |
Definition at line 129 of file HGCalTBTopology.h.
Referenced by denseId2detId(), detId2denseGeomId(), detId2denseId(), geomDenseId2decId(), HGCalTBTopology(), and valid().
|
private |
Definition at line 128 of file HGCalTBTopology.h.
Referenced by HGCalTBTopology(), offsetBy(), subDetector(), and valid().
|
static |
Use subSector in square mode as wafer type in hexagon mode.
Definition at line 102 of file HGCalTBTopology.h.
|
private |
Definition at line 129 of file HGCalTBTopology.h.
Referenced by denseId2detId(), detId2denseId(), and HGCalTBTopology().