CMS 3D CMS Logo

Public Member Functions | Private Member Functions

EcalBarrelHardcodedTopology Class Reference

#include <EcalBarrelHardcodedTopology.h>

Inheritance diagram for EcalBarrelHardcodedTopology:
CaloSubdetectorTopology

List of all members.

Public Member Functions

virtual std::vector< DetIddown (const DetId &) const
virtual std::vector< DetIdeast (const DetId &id) const
 move the Topology east (negative ieta)
 EcalBarrelHardcodedTopology ()
 create a new Topology
virtual std::vector< DetIdnorth (const DetId &id) const
 move the Topology north (increment iphi)
virtual std::vector< DetIdsouth (const DetId &id) const
 move the Topology south (decrement iphi)
virtual std::vector< DetIdup (const DetId &) const
virtual std::vector< DetIdwest (const DetId &id) const
 move the Topology west (positive ieta)
virtual ~EcalBarrelHardcodedTopology ()

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)
EBDetId decrementIphi (const EBDetId &) const
 move the nagivator to smaller iphi (wraps around the barrel)
EBDetId incrementIeta (const EBDetId &) const
 move the nagivator to larger ieta (more positive z) (stops at end of barrel and returns null)
EBDetId incrementIphi (const EBDetId &) const
 move the nagivator to larger iphi (wraps around the barrel)

Detailed Description

Definition at line 9 of file EcalBarrelHardcodedTopology.h.


Constructor & Destructor Documentation

EcalBarrelHardcodedTopology::EcalBarrelHardcodedTopology ( ) [inline]

create a new Topology

Definition at line 14 of file EcalBarrelHardcodedTopology.h.

{};
virtual EcalBarrelHardcodedTopology::~EcalBarrelHardcodedTopology ( ) [inline, virtual]

Definition at line 16 of file EcalBarrelHardcodedTopology.h.

{};

Member Function Documentation

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 9 of file EcalBarrelHardcodedTopology.cc.

References EBDetId::MAX_IETA.

Referenced by east().

                                                                          {
  if (id.ieta()==-EBDetId::MAX_IETA) return EBDetId(0); // null det id
  else if (id.ieta()==1) return EBDetId(-1,id.iphi());
  else return EBDetId(id.ieta()-1,id.iphi());
}
EBDetId EcalBarrelHardcodedTopology::decrementIphi ( const EBDetId id) const [private]

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

Definition at line 20 of file EcalBarrelHardcodedTopology.cc.

References EBDetId::MAX_IPHI, and EBDetId::MIN_IPHI.

Referenced by south().

                                                                          {
  if (id.iphi()==EBDetId::MIN_IPHI) return EBDetId(id.ieta(),EBDetId::MAX_IPHI);
  else return EBDetId(id.ieta(),id.iphi()-1);
}
virtual std::vector<DetId> EcalBarrelHardcodedTopology::down ( const DetId id) const [inline, virtual]

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

Implements CaloSubdetectorTopology.

Definition at line 65 of file EcalBarrelHardcodedTopology.h.

References gather_cfg::cout.

    {
      std::cout << "EcalBarrelHardcodedTopology::down() not yet implemented" << std::endl; 
      std::vector<DetId> vNeighborsDetId;
      return  vNeighborsDetId;
    }
virtual std::vector<DetId> EcalBarrelHardcodedTopology::east ( const DetId id) const [inline, virtual]

move the Topology east (negative ieta)

Implements CaloSubdetectorTopology.

Definition at line 39 of file EcalBarrelHardcodedTopology.h.

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

    { 
      EBDetId nextId=decrementIeta(EBDetId(id));
      std::vector<DetId> vNeighborsDetId;
      if (! (nextId==EBDetId(0)))
        vNeighborsDetId.push_back(DetId(nextId.rawId()));
      return vNeighborsDetId;
    }
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 EBDetId::MAX_IETA.

Referenced by west().

                                                                          {
  if (id.ieta()==EBDetId::MAX_IETA) return EBDetId(0); // null det id
  else if (id.ieta()==-1) return EBDetId(1,id.iphi());
  else return EBDetId(id.ieta()+1,id.iphi());
}
EBDetId EcalBarrelHardcodedTopology::incrementIphi ( const EBDetId id) const [private]

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

Definition at line 15 of file EcalBarrelHardcodedTopology.cc.

References EBDetId::MAX_IPHI, and EBDetId::MIN_IPHI.

Referenced by north().

                                                                          {
  if (id.iphi()==EBDetId::MAX_IPHI) return EBDetId(id.ieta(),EBDetId::MIN_IPHI);
  else return EBDetId(id.ieta(),id.iphi()+1);
}
virtual std::vector<DetId> EcalBarrelHardcodedTopology::north ( const DetId id) const [inline, virtual]

move the Topology north (increment iphi)

Implements CaloSubdetectorTopology.

Definition at line 19 of file EcalBarrelHardcodedTopology.h.

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

    { 
      EBDetId nextId=incrementIphi(EBDetId(id));
      std::vector<DetId> vNeighborsDetId;
      if (! (nextId==EBDetId(0)))
        vNeighborsDetId.push_back(DetId(nextId.rawId()));
      return vNeighborsDetId;
    }
virtual std::vector<DetId> EcalBarrelHardcodedTopology::south ( const DetId id) const [inline, virtual]

move the Topology south (decrement iphi)

Implements CaloSubdetectorTopology.

Definition at line 29 of file EcalBarrelHardcodedTopology.h.

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

    { 
      EBDetId nextId=decrementIphi(EBDetId(id));
      std::vector<DetId> vNeighborsDetId;
      if (! (nextId==EBDetId(0)))
        vNeighborsDetId.push_back(DetId(nextId.rawId()));
      return vNeighborsDetId;
    }
virtual std::vector<DetId> EcalBarrelHardcodedTopology::up ( const DetId id) const [inline, virtual]

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

Implements CaloSubdetectorTopology.

Definition at line 58 of file EcalBarrelHardcodedTopology.h.

References gather_cfg::cout.

    {
      std::cout << "EcalBarrelHardcodedTopology::up() not yet implemented" << std::endl; 
      std::vector<DetId> vNeighborsDetId;
      return  vNeighborsDetId;
    }
virtual std::vector<DetId> EcalBarrelHardcodedTopology::west ( const DetId id) const [inline, virtual]

move the Topology west (positive ieta)

Implements CaloSubdetectorTopology.

Definition at line 49 of file EcalBarrelHardcodedTopology.h.

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

    { 
      EBDetId nextId=incrementIeta(EBDetId(id));
      std::vector<DetId> vNeighborsDetId;
      if (! (nextId==EBDetId(0)))
        vNeighborsDetId.push_back(DetId(nextId.rawId()));
      return vNeighborsDetId;
    }