CMS 3D CMS Logo

EcalPreshowerTopology.cc
Go to the documentation of this file.
3 #include <stdexcept>
4 
6  ESDetId nextPoint(0);
7  if (id==nextPoint) return nextPoint;
8 
9  //Strips orientend along x direction for plane 2
10  if (id.plane() == 2)
11  {
12  if (id.strip() < 32 )
13  {
14  //Incrementing just strip number
15  if (ESDetId::validDetId(id.strip()+1,id.six(),id.siy(),id.plane(),id.zside()))
16  nextPoint=ESDetId(id.strip()+1,id.six(),id.siy(),id.plane(),id.zside());
17  }
18  else
19  {
20  //Changing wafer
21  if (ESDetId::validDetId(1,id.six(),id.siy()+1,id.plane(),id.zside()))
22  nextPoint=ESDetId(1,id.six(),id.siy()+1,id.plane(),id.zside());
23  }
24  }
25  //Strips orientend along y direction for plane 1
26  else if (id.plane() == 1)
27  {
28  //Changing wafer
29  if (ESDetId::validDetId(id.strip(),id.six(),id.siy()+1,id.plane(),id.zside()))
30  nextPoint=ESDetId(id.strip(),id.six(),id.siy()+1,id.plane(),id.zside());
31  }
32 
33  return nextPoint;
34 }
35 
36 
38  ESDetId nextPoint(0);
39  if (id==nextPoint) return nextPoint;
40 
41  //Strips orientend along x direction for plane 2
42  if (id.plane() == 2)
43  {
44  if (id.strip() >1 )
45  {
46  //Decrementing just strip number
47  if (ESDetId::validDetId(id.strip()-1,id.six(),id.siy(),id.plane(),id.zside()))
48  nextPoint=ESDetId(id.strip()-1,id.six(),id.siy(),id.plane(),id.zside());
49  }
50  else
51  {
52  //Changing wafer
53  if (ESDetId::validDetId(32,id.six(),id.siy()-1,id.plane(),id.zside()))
54  nextPoint=ESDetId(32,id.six(),id.siy()-1,id.plane(),id.zside());
55  }
56  }
57  //Strips orientend along y direction for plane 1
58  else if (id.plane() == 1)
59  {
60  //Changing wafer
61  if (ESDetId::validDetId(id.strip(),id.six(),id.siy()-1,id.plane(),id.zside()))
62  nextPoint=ESDetId(id.strip(),id.six(),id.siy()-1,id.plane(),id.zside());
63  }
64  return nextPoint;
65 }
66 
67 
69  ESDetId nextPoint(0);
70  if (id==nextPoint) return nextPoint;
71 
72  //Strips orientend along x direction for plane 2
73  if (id.plane() == 2)
74  {
75  //Changing wafer
76  if (ESDetId::validDetId(id.strip(),id.six()+1,id.siy(),id.plane(),id.zside()))
77  nextPoint=ESDetId(id.strip(),id.six()+1,id.siy(),id.plane(),id.zside());
78  }
79  //Strips orientend along y direction for plane 1
80  else if (id.plane() == 1)
81  {
82  if (id.strip() < 32 )
83  {
84  //Incrementing just strip number
85  if (ESDetId::validDetId(id.strip()+1,id.six(),id.siy(),id.plane(),id.zside()))
86  nextPoint=ESDetId(id.strip()+1,id.six(),id.siy(),id.plane(),id.zside());
87  }
88  else
89  {
90  //Changing wafer
91  if (ESDetId::validDetId(1,id.six()+1,id.siy(),id.plane(),id.zside()))
92  nextPoint=ESDetId(1,id.six()+1,id.siy(),id.plane(),id.zside());
93  }
94  }
95 
96  return nextPoint;
97 }
98 
99 
101  ESDetId nextPoint(0);
102  if (id==nextPoint) return nextPoint;
103 
104  //Strips orientend along x direction for plane 2
105  if (id.plane() == 2)
106  {
107  //Changing wafer
108  if (ESDetId::validDetId(id.strip(),id.six()-1,id.siy(),id.plane(),id.zside()))
109  nextPoint=ESDetId(id.strip(),id.six()-1,id.siy(),id.plane(),id.zside());
110  }
111  //Strips orientend along y direction for plane 1
112  else if (id.plane() == 1)
113  {
114  if (id.strip() > 1 )
115  {
116  //Decrementing just strip number
117  if (ESDetId::validDetId(id.strip()-1,id.six(),id.siy(),id.plane(),id.zside()))
118  nextPoint=ESDetId(id.strip()-1,id.six(),id.siy(),id.plane(),id.zside());
119  }
120  else
121  {
122  //Changing wafer
123  if (ESDetId::validDetId(32,id.six()-1,id.siy(),id.plane(),id.zside()))
124  nextPoint=ESDetId(32,id.six()-1,id.siy(),id.plane(),id.zside());
125  }
126  }
127  return nextPoint;
128 }
129 
130 
132  ESDetId nextPoint(0);
133  if (id==nextPoint) return nextPoint;
134 
135  if (ESDetId::validDetId(id.strip(),id.six(),id.siy(),id.plane()+1,id.zside()))
136  nextPoint=ESDetId(id.strip(),id.six(),id.siy(),id.plane()+1,id.zside());
137 
138  return nextPoint;
139 }
140 
141 
142 
144  ESDetId nextPoint(0);
145  if (id==nextPoint) return nextPoint;
146 
147  if (ESDetId::validDetId(id.strip(),id.six(),id.siy(),id.plane()-1,id.zside()))
148  nextPoint=ESDetId(id.strip(),id.six(),id.siy(),id.plane()-1,id.zside());
149 
150  return nextPoint;
151 }
152 
153 
154 
155 
156 
157 
158 
ESDetId decrementIx(const ESDetId &id) const
move the nagivator to smaller ix
ESDetId decrementIz(const ESDetId &id) const
move the nagivator to smaller iz
int zside(DetId const &)
ESDetId incrementIx(const ESDetId &id) const
move the nagivator to larger ix
ESDetId incrementIz(const ESDetId &id) const
move the nagivator to larger iz
ESDetId decrementIy(const ESDetId &id) const
move the nagivator to smaller iy
static bool validDetId(int istrip, int ixs, int iys, int iplane, int iz)
check if a valid index combination
Definition: ESDetId.cc:22
ESDetId incrementIy(const ESDetId &id) const
move the nagivator to larger iy