#include <CaloSubdetectorTopology.h>
Classes | |
struct | CellInfo |
Public Member Functions | |
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 unsigned int | detId2denseId (const DetId &) const |
return a linear packed id More... | |
virtual std::vector< DetId > | down (const DetId &id) const =0 |
virtual std::vector< DetId > | east (const DetId &id) const =0 |
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 | goEast (const DetId &id) const |
virtual DetId | goNorth (const DetId &id) const |
virtual DetId | goSouth (const DetId &id) const |
virtual DetId | goUp (const DetId &id) const |
virtual DetId | goWest (const DetId &id) const |
virtual unsigned int | ncells () const |
return a count of valid cells (for dense indexing use) More... | |
virtual std::vector< DetId > | north (const DetId &id) const =0 |
virtual std::vector< DetId > | south (const DetId &id) const =0 |
virtual int | topoVersion () const |
return a version which identifies the given topology More... | |
virtual std::vector< DetId > | up (const DetId &id) const =0 |
virtual bool | valid (const DetId &) const |
is this detid present in the Topology? More... | |
virtual std::vector< DetId > | west (const DetId &id) const =0 |
virtual | ~CaloSubdetectorTopology () |
virtual destructor More... | |
Protected Types | |
typedef std::pair< int, int > | Coordinate |
Protected Member Functions | |
Coordinate | getNeighbourIndex (const Coordinate &coord, const CaloDirection &dir) const |
Definition at line 20 of file CaloSubdetectorTopology.h.
|
protected |
Definition at line 117 of file CaloSubdetectorTopology.h.
|
inline |
|
inlinevirtual |
|
inlinevirtual |
return a linear packed id
Reimplemented in HcalTopology.
Definition at line 31 of file CaloSubdetectorTopology.h.
|
inlinevirtual |
return whether this topology is consistent with the numbering in the given topology
Definition at line 37 of file CaloSubdetectorTopology.h.
References down(), east(), north(), south(), topoVersion(), up(), and west().
Referenced by HcalCondObjectContainerBase::setTopo().
|
inlinevirtual |
return a linear packed id
Reimplemented in HGCalTopology, FastTimeTopology, and HcalTopology.
Definition at line 29 of file CaloSubdetectorTopology.h.
Get the neighbors of the given cell in down direction (inward)
Implemented in EcalPreshowerTopology, EcalBarrelTopology, EcalEndcapTopology, EcalBarrelHardcodedTopology, EcalEndcapHardcodedTopology, HGCalTopology, FastTimeTopology, HcalTopology, CastorTopology, ZdcTopology, and CaloTowerTopology.
Referenced by denseIdConsistent(), CaloTopology::down(), and goDown().
Get the neighbors of the given cell in east direction
Implemented in HcalTopology, EcalBarrelTopology, EcalEndcapTopology, EcalPreshowerTopology, FastTimeTopology, HGCalTopology, EcalBarrelHardcodedTopology, EcalEndcapHardcodedTopology, CastorTopology, ZdcTopology, and CaloTowerTopology.
Referenced by denseIdConsistent(), CaloTopology::east(), getNeighbours(), and goEast().
|
inlinevirtual |
Get all the neighbors of the given cell
Definition at line 111 of file CaloSubdetectorTopology.h.
References getWindow().
Referenced by CaloTopology::getAllNeighbours().
|
inlineprotected |
Definition at line 137 of file CaloSubdetectorTopology.h.
References EAST, Exception, NORTH, SOUTH, and WEST.
Referenced by getWindow().
|
inlinevirtual |
Get the neighbors of the given cell given direction
Definition at line 81 of file CaloSubdetectorTopology.h.
References EAST, east(), Exception, getWindow(), NONE, NORTH, north(), SOUTH, south(), WEST, and west().
Referenced by CaloTopology::getNeighbours(), getWindow(), spr::simpleMove(), CaloGeometryHelper::simplemove(), and PFECALHashNavigator::stdsimplemove().
|
virtual |
Get the neighbors of the given cell in a window of given size
Definition at line 4 of file CaloSubdetectorTopology.cc.
References EAST, Exception, getNeighbourIndex(), getNeighbours(), NORTH, SOUTH, class-composition::visited, and WEST.
Referenced by DQMSourcePi0::analyze(), ElectronCalibrationUniv::analyze(), CaloGeometryHelper::buildNeighbourArray(), HLTEcalResonanceFilter::calcShowerShape(), HLTRegionalEcalResonanceFilter::calcShowerShape(), PFECALHashNavigator::ecalNeighbArray(), HLTEcalResonanceFilter::filter(), HLTRegionalEcalResonanceFilter::filter(), getAllNeighbours(), BetaCalculatorECAL::getDetailedTrackLengthInXtals(), getNeighbours(), CaloTopology::getWindow(), ReducedEGProducer::linkCaloClusters(), PiZeroAnalyzer::makePizero(), InterestingEcalDetIdProducer::produce(), InterestingDetIdFromSuperClusterProducer::produce(), InterestingDetIdCollectionProducer::produce(), InterestingTrackEcalDetIdProducer::produce(), pat::PATPhotonProducer::produce(), pat::PATElectronProducer::produce(), HighPtTrackEcalDetIdProducer::produce(), and SingleEleCalibSelector::select().
Reimplemented in EcalPreshowerTopology.
Definition at line 74 of file CaloSubdetectorTopology.h.
References down().
Reimplemented in EcalBarrelTopology, EcalEndcapTopology, EcalPreshowerTopology, FastTimeTopology, HGCalTopology, EcalBarrelHardcodedTopology, and EcalEndcapHardcodedTopology.
Definition at line 54 of file CaloSubdetectorTopology.h.
References east().
Referenced by offsetBy().
Reimplemented in EcalBarrelTopology, EcalEndcapTopology, EcalPreshowerTopology, FastTimeTopology, HGCalTopology, EcalBarrelHardcodedTopology, and EcalEndcapHardcodedTopology.
Definition at line 62 of file CaloSubdetectorTopology.h.
References north().
Referenced by offsetBy().
Reimplemented in EcalBarrelTopology, EcalEndcapTopology, EcalPreshowerTopology, FastTimeTopology, HGCalTopology, EcalBarrelHardcodedTopology, and EcalEndcapHardcodedTopology.
Definition at line 66 of file CaloSubdetectorTopology.h.
References south().
Referenced by offsetBy().
Reimplemented in EcalPreshowerTopology.
Definition at line 70 of file CaloSubdetectorTopology.h.
References up().
Reimplemented in EcalBarrelTopology, EcalEndcapTopology, EcalPreshowerTopology, EcalBarrelHardcodedTopology, EcalEndcapHardcodedTopology, FastTimeTopology, and HGCalTopology.
Definition at line 58 of file CaloSubdetectorTopology.h.
References west().
Referenced by offsetBy().
|
inlinevirtual |
return a count of valid cells (for dense indexing use)
Reimplemented in HcalTopology.
Definition at line 33 of file CaloSubdetectorTopology.h.
Referenced by ZdcTopology::ncells(), CastorTopology::ncells(), and CaloGeometryDBEP< T, U >::produceAligned().
Get the neighbors of the given cell in north direction
Implemented in HcalTopology, CastorTopology, ZdcTopology, EcalBarrelTopology, EcalEndcapTopology, CaloTowerTopology, EcalPreshowerTopology, FastTimeTopology, HGCalTopology, EcalBarrelHardcodedTopology, and EcalEndcapHardcodedTopology.
Referenced by denseIdConsistent(), getNeighbours(), goNorth(), and CaloTopology::north().
Get the neighbors of the given cell in south direction
Implemented in HcalTopology, EcalBarrelTopology, EcalEndcapTopology, CastorTopology, ZdcTopology, EcalPreshowerTopology, FastTimeTopology, HGCalTopology, EcalBarrelHardcodedTopology, EcalEndcapHardcodedTopology, and CaloTowerTopology.
Referenced by denseIdConsistent(), getNeighbours(), goSouth(), and CaloTopology::south().
|
inlinevirtual |
return a version which identifies the given topology
Reimplemented in HcalTopology.
Definition at line 35 of file CaloSubdetectorTopology.h.
Referenced by denseIdConsistent().
Get the neighbors of the given cell in up direction (outward)
Implemented in EcalBarrelTopology, EcalEndcapTopology, EcalPreshowerTopology, EcalBarrelHardcodedTopology, EcalEndcapHardcodedTopology, HcalTopology, FastTimeTopology, HGCalTopology, CastorTopology, ZdcTopology, and CaloTowerTopology.
Referenced by denseIdConsistent(), goUp(), and CaloTopology::up().
|
inlinevirtual |
is this detid present in the Topology?
Reimplemented in HGCalTopology, FastTimeTopology, HcalTopology, and CaloTowerTopology.
Definition at line 27 of file CaloSubdetectorTopology.h.
Referenced by CaloTopology::valid().
Get the neighbors of the given cell in west direction
Implemented in EcalBarrelTopology, EcalEndcapTopology, EcalPreshowerTopology, HcalTopology, EcalBarrelHardcodedTopology, EcalEndcapHardcodedTopology, FastTimeTopology, HGCalTopology, CastorTopology, ZdcTopology, and CaloTowerTopology.
Referenced by denseIdConsistent(), getNeighbours(), goWest(), and CaloTopology::west().