CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EcalPreshowerTopology.h
Go to the documentation of this file.
1 #ifndef GEOMETRY_CALOTOPOLOGY_ECALPRESHOWERTOPOLOGY_H
2 #define GEOMETRY_CALOTOPOLOGY_ECALPRESHOWERTOPOLOGY_H 1
3 
8 #include <vector>
9 #include <iostream>
10 
12 
13  public:
16 
18  virtual ~EcalPreshowerTopology() { }
19 
22  {
23  }
24 
26  virtual std::vector<DetId> north(const DetId& id) const
27  {
28  ESDetId nextId=incrementIy(ESDetId(id));
29  std::vector<DetId> vNeighborsDetId;
30  if (! (nextId==ESDetId(0)))
31  vNeighborsDetId.push_back(DetId(nextId.rawId()));
32  return vNeighborsDetId;
33  }
34 
36  virtual std::vector<DetId> south(const DetId& id) const
37  {
38  ESDetId nextId=decrementIy(ESDetId(id));
39  std::vector<DetId> vNeighborsDetId;
40  if (! (nextId==ESDetId(0)))
41  vNeighborsDetId.push_back(DetId(nextId.rawId()));
42  return vNeighborsDetId;
43  }
44 
46  virtual std::vector<DetId> east(const DetId& id) const
47  {
48  ESDetId nextId=incrementIx(ESDetId(id));
49  std::vector<DetId> vNeighborsDetId;
50  if (! (nextId==ESDetId(0)))
51  vNeighborsDetId.push_back(DetId(nextId.rawId()));
52  return vNeighborsDetId;
53  }
54 
56  virtual std::vector<DetId> west(const DetId& id) const
57  {
58  ESDetId nextId=decrementIx(ESDetId(id));
59  std::vector<DetId> vNeighborsDetId;
60  if (! (nextId==ESDetId(0)))
61  vNeighborsDetId.push_back(DetId(nextId.rawId()));
62  return vNeighborsDetId;
63  }
64 
65  virtual std::vector<DetId> up(const DetId& id) const
66  {
67  ESDetId nextId=incrementIz(ESDetId(id));
68  std::vector<DetId> vNeighborsDetId;
69  if (! (nextId==ESDetId(0)))
70  vNeighborsDetId.push_back(DetId(nextId.rawId()));
71  return vNeighborsDetId;
72  }
73 
74  virtual std::vector<DetId> down(const DetId& id) const
75  {
76  ESDetId nextId=decrementIz(ESDetId(id));
77  std::vector<DetId> vNeighborsDetId;
78  if (! (nextId==ESDetId(0)))
79  vNeighborsDetId.push_back(DetId(nextId.rawId()));
80  return vNeighborsDetId;
81  }
82 
83  private:
84 
86  ESDetId incrementIx(const ESDetId& id) const ;
87 
89  ESDetId decrementIx(const ESDetId& id) const ;
90 
92  ESDetId incrementIy(const ESDetId& id) const ;
93 
95  ESDetId decrementIy(const ESDetId& id) const;
96 
98  ESDetId incrementIz(const ESDetId& id) const;
99 
101  ESDetId decrementIz(const ESDetId& id) const;
102 
104 };
105 
106 #endif
107 
108 
109 
110 
111 
112 
ESDetId decrementIx(const ESDetId &id) const
move the nagivator to smaller ix
virtual std::vector< DetId > west(const DetId &id) const
move the Topology west (negative ix)
virtual std::vector< DetId > north(const DetId &id) const
move the Topology north (increment iy)
ESDetId decrementIz(const ESDetId &id) const
move the nagivator to smaller iz
virtual std::vector< DetId > east(const DetId &id) const
move the Topology east (positive ix)
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
virtual std::vector< DetId > south(const DetId &id) const
move the Topology south (decrement iy)
virtual std::vector< DetId > up(const DetId &id) const
ESDetId incrementIx(const ESDetId &id) const
move the nagivator to larger ix
edm::ESHandle< CaloGeometry > theGeom_
Definition: DetId.h:20
ESDetId incrementIz(const ESDetId &id) const
move the nagivator to larger iz
ESDetId decrementIy(const ESDetId &id) const
move the nagivator to smaller iy
EcalPreshowerTopology()
create a new Topology
virtual ~EcalPreshowerTopology()
virtual destructor
ESDetId incrementIy(const ESDetId &id) const
move the nagivator to larger iy
EcalPreshowerTopology(edm::ESHandle< CaloGeometry > theGeom)
create a new Topology from geometry
virtual std::vector< DetId > down(const DetId &id) const