CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions
EcalBarrelHardcodedTopology Class Referencefinal

#include <EcalBarrelHardcodedTopology.h>

Inheritance diagram for EcalBarrelHardcodedTopology:
CaloSubdetectorTopology

Public Member Functions

std::vector< DetIddown (const DetId &) const override
 
std::vector< DetIdeast (const DetId &id) const override
 
 EcalBarrelHardcodedTopology ()
 create a new Topology More...
 
DetId goEast (const DetId &id) const override
 move the Topology east (negative ieta) More...
 
DetId goNorth (const DetId &id) const override
 move the Topology north (increment iphi) More...
 
DetId goSouth (const DetId &id) const override
 move the Topology south (decrement iphi) More...
 
DetId goWest (const DetId &id) const override
 move the Topology west (positive ieta) More...
 
std::vector< DetIdnorth (const DetId &id) const override
 
std::vector< DetIdsouth (const DetId &id) const override
 
std::vector< DetIdup (const DetId &) const override
 
std::vector< DetIdwest (const DetId &id) const override
 
 ~EcalBarrelHardcodedTopology () override
 
- 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 unsigned int detId2denseId (const DetId &) const
 return a linear packed id More...
 
virtual std::vector< DetIdgetAllNeighbours (const DetId &id) const
 
virtual std::vector< DetIdgetNeighbours (const DetId &id, const CaloDirection &dir) const
 
virtual std::vector< DetIdgetWindow (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 bool valid (const DetId &) const
 is this detid present in the Topology? More...
 
virtual ~CaloSubdetectorTopology ()
 virtual destructor More...
 

Private Member Functions

EBDetId decrementIeta (const EBDetId &) const
 move the nagivator to smaller ieta (more negative z) (stops at end of barrel and returns null) More...
 
EBDetId decrementIphi (const EBDetId &) const
 move the nagivator to smaller iphi (wraps around the barrel) More...
 
EBDetId incrementIeta (const EBDetId &) const
 move the nagivator to larger ieta (more positive z) (stops at end of barrel and returns null) More...
 
EBDetId incrementIphi (const EBDetId &) const
 move the nagivator to larger iphi (wraps around the barrel) More...
 

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
 

Detailed Description

Definition at line 10 of file EcalBarrelHardcodedTopology.h.

Constructor & Destructor Documentation

◆ EcalBarrelHardcodedTopology()

EcalBarrelHardcodedTopology::EcalBarrelHardcodedTopology ( )
inline

create a new Topology

Definition at line 13 of file EcalBarrelHardcodedTopology.h.

13 {}

◆ ~EcalBarrelHardcodedTopology()

EcalBarrelHardcodedTopology::~EcalBarrelHardcodedTopology ( )
inlineoverride

Definition at line 15 of file EcalBarrelHardcodedTopology.h.

15 {}

Member Function Documentation

◆ decrementIeta()

EBDetId EcalBarrelHardcodedTopology::decrementIeta ( const EBDetId id) const
private

move the nagivator to smaller ieta (more negative z) (stops at end of barrel and returns null)

Definition at line 12 of file EcalBarrelHardcodedTopology.cc.

References hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, and EBDetId::MAX_IETA.

Referenced by goEast().

12  {
13  if (id.ieta() == -EBDetId::MAX_IETA)
14  return EBDetId(0); // null det id
15  else if (id.ieta() == 1)
16  return EBDetId(-1, id.iphi());
17  else
18  return EBDetId(id.ieta() - 1, id.iphi());
19 }
static const int MAX_IETA
Definition: EBDetId.h:136

◆ decrementIphi()

EBDetId EcalBarrelHardcodedTopology::decrementIphi ( const EBDetId id) const
private

move the nagivator to smaller iphi (wraps around the barrel)

Definition at line 28 of file EcalBarrelHardcodedTopology.cc.

References hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, EBDetId::MAX_IPHI, and EBDetId::MIN_IPHI.

Referenced by goSouth().

28  {
29  if (id.iphi() == EBDetId::MIN_IPHI)
30  return EBDetId(id.ieta(), EBDetId::MAX_IPHI);
31  else
32  return EBDetId(id.ieta(), id.iphi() - 1);
33 }
static const int MIN_IPHI
Definition: EBDetId.h:135
static const int MAX_IPHI
Definition: EBDetId.h:137

◆ down()

std::vector<DetId> EcalBarrelHardcodedTopology::down ( const DetId id) const
inlineoverridevirtual

Get the neighbors of the given cell in down direction (inward)

Implements CaloSubdetectorTopology.

Definition at line 63 of file EcalBarrelHardcodedTopology.h.

63  {
64  edm::LogVerbatim("CaloTopology") << "EcalBarrelHardcodedTopology::down() not yet implemented";
65  std::vector<DetId> vNeighborsDetId;
66  return vNeighborsDetId;
67  }
Log< level::Info, true > LogVerbatim

◆ east()

std::vector<DetId> EcalBarrelHardcodedTopology::east ( const DetId id) const
inlineoverridevirtual

Get the neighbors of the given cell in east direction

Implements CaloSubdetectorTopology.

Definition at line 39 of file EcalBarrelHardcodedTopology.h.

References goEast(), and DetId::rawId().

39  {
40  EBDetId nextId = goEast(id);
41  std::vector<DetId> vNeighborsDetId;
42  if (!(nextId == EBDetId(0)))
43  vNeighborsDetId.emplace_back(DetId(nextId.rawId()));
44  return vNeighborsDetId;
45  }
Definition: DetId.h:17
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
DetId goEast(const DetId &id) const override
move the Topology east (negative ieta)

◆ goEast()

DetId EcalBarrelHardcodedTopology::goEast ( const DetId id) const
inlineoverridevirtual

move the Topology east (negative ieta)

Reimplemented from CaloSubdetectorTopology.

Definition at line 38 of file EcalBarrelHardcodedTopology.h.

References decrementIeta().

Referenced by east().

38 { return decrementIeta(EBDetId(id)); }
EBDetId decrementIeta(const EBDetId &) const
move the nagivator to smaller ieta (more negative z) (stops at end of barrel and returns null) ...

◆ goNorth()

DetId EcalBarrelHardcodedTopology::goNorth ( const DetId id) const
inlineoverridevirtual

move the Topology north (increment iphi)

Reimplemented from CaloSubdetectorTopology.

Definition at line 18 of file EcalBarrelHardcodedTopology.h.

References incrementIphi().

Referenced by north().

18 { return incrementIphi(EBDetId(id)); }
EBDetId incrementIphi(const EBDetId &) const
move the nagivator to larger iphi (wraps around the barrel)

◆ goSouth()

DetId EcalBarrelHardcodedTopology::goSouth ( const DetId id) const
inlineoverridevirtual

move the Topology south (decrement iphi)

Reimplemented from CaloSubdetectorTopology.

Definition at line 28 of file EcalBarrelHardcodedTopology.h.

References decrementIphi().

Referenced by south().

28 { return decrementIphi(EBDetId(id)); }
EBDetId decrementIphi(const EBDetId &) const
move the nagivator to smaller iphi (wraps around the barrel)

◆ goWest()

DetId EcalBarrelHardcodedTopology::goWest ( const DetId id) const
inlineoverridevirtual

move the Topology west (positive ieta)

Reimplemented from CaloSubdetectorTopology.

Definition at line 48 of file EcalBarrelHardcodedTopology.h.

References incrementIeta().

Referenced by west().

48 { return incrementIeta(EBDetId(id)); }
EBDetId incrementIeta(const EBDetId &) const
move the nagivator to larger ieta (more positive z) (stops at end of barrel and returns null) ...

◆ incrementIeta()

EBDetId EcalBarrelHardcodedTopology::incrementIeta ( const EBDetId id) const
private

move the nagivator to larger ieta (more positive z) (stops at end of barrel and returns null)

Definition at line 3 of file EcalBarrelHardcodedTopology.cc.

References hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, and EBDetId::MAX_IETA.

Referenced by goWest().

3  {
4  if (id.ieta() == EBDetId::MAX_IETA)
5  return EBDetId(0); // null det id
6  else if (id.ieta() == -1)
7  return EBDetId(1, id.iphi());
8  else
9  return EBDetId(id.ieta() + 1, id.iphi());
10 }
static const int MAX_IETA
Definition: EBDetId.h:136

◆ incrementIphi()

EBDetId EcalBarrelHardcodedTopology::incrementIphi ( const EBDetId id) const
private

move the nagivator to larger iphi (wraps around the barrel)

Definition at line 21 of file EcalBarrelHardcodedTopology.cc.

References hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, EBDetId::MAX_IPHI, and EBDetId::MIN_IPHI.

Referenced by goNorth().

21  {
22  if (id.iphi() == EBDetId::MAX_IPHI)
23  return EBDetId(id.ieta(), EBDetId::MIN_IPHI);
24  else
25  return EBDetId(id.ieta(), id.iphi() + 1);
26 }
static const int MIN_IPHI
Definition: EBDetId.h:135
static const int MAX_IPHI
Definition: EBDetId.h:137

◆ north()

std::vector<DetId> EcalBarrelHardcodedTopology::north ( const DetId id) const
inlineoverridevirtual

Get the neighbors of the given cell in north direction

Implements CaloSubdetectorTopology.

Definition at line 19 of file EcalBarrelHardcodedTopology.h.

References goNorth(), and DetId::rawId().

19  {
20  EBDetId nextId = goNorth(id);
21  std::vector<DetId> vNeighborsDetId;
22  if (!(nextId == EBDetId(0)))
23  vNeighborsDetId.emplace_back(DetId(nextId.rawId()));
24  return vNeighborsDetId;
25  }
DetId goNorth(const DetId &id) const override
move the Topology north (increment iphi)
Definition: DetId.h:17
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57

◆ south()

std::vector<DetId> EcalBarrelHardcodedTopology::south ( const DetId id) const
inlineoverridevirtual

Get the neighbors of the given cell in south direction

Implements CaloSubdetectorTopology.

Definition at line 29 of file EcalBarrelHardcodedTopology.h.

References goSouth(), and DetId::rawId().

29  {
30  EBDetId nextId = goSouth(id);
31  std::vector<DetId> vNeighborsDetId;
32  if (!(nextId == EBDetId(0)))
33  vNeighborsDetId.emplace_back(DetId(nextId.rawId()));
34  return vNeighborsDetId;
35  }
DetId goSouth(const DetId &id) const override
move the Topology south (decrement iphi)
Definition: DetId.h:17
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57

◆ up()

std::vector<DetId> EcalBarrelHardcodedTopology::up ( const DetId id) const
inlineoverridevirtual

Get the neighbors of the given cell in up direction (outward)

Implements CaloSubdetectorTopology.

Definition at line 57 of file EcalBarrelHardcodedTopology.h.

57  {
58  edm::LogVerbatim("CaloTopology") << "EcalBarrelHardcodedTopology::up() not yet implemented";
59  std::vector<DetId> vNeighborsDetId;
60  return vNeighborsDetId;
61  }
Log< level::Info, true > LogVerbatim

◆ west()

std::vector<DetId> EcalBarrelHardcodedTopology::west ( const DetId id) const
inlineoverridevirtual

Get the neighbors of the given cell in west direction

Implements CaloSubdetectorTopology.

Definition at line 49 of file EcalBarrelHardcodedTopology.h.

References goWest(), and DetId::rawId().

49  {
50  EBDetId nextId = goWest(id);
51  std::vector<DetId> vNeighborsDetId;
52  if (!(nextId == EBDetId(0)))
53  vNeighborsDetId.emplace_back(DetId(nextId.rawId()));
54  return vNeighborsDetId;
55  }
Definition: DetId.h:17
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
DetId goWest(const DetId &id) const override
move the Topology west (positive ieta)