46 {
50
53
54 NeighborVec.clear();
55
57 {
58 unsigned int phip = 999;
59 unsigned int phin = 999;
61 {
63 phin = phi + 1;
64 }
66 {
67 phip = phi - 1;
69 }
71 {
72 phip = phi - 1;
73 phin = phi + 1;
74 }
75
77 NeighborVec.push_back( aNb );
79 NeighborVec.push_back( aNb );
80
83 {
84 unsigned int east_west = 0;
86 {
88 NeighborVec.push_back( aNb );
90 NeighborVec.push_back( aNb );
92 NeighborVec.push_back( aNb );
94 }
95 else
96 {
98 NeighborVec.push_back( aNb );
100 NeighborVec.push_back( aNb );
102 NeighborVec.push_back( aNb );
104 }
105
106 unsigned int phi1 = phi *
110 NeighborVec.push_back( aNb );
111 if ( phi % 5 == 0 )
112 {
114 {
118 NeighborVec.push_back( aNb );
119 }
120 else
121 {
123 NeighborVec.push_back( aNb );
124 }
125 }
126 else
127 {
129 {
132 NeighborVec.push_back( aNb );
133 }
134 else
135 {
137 NeighborVec.push_back( aNb );
138 }
139 }
140 }
141
144 {
146 NeighborVec.push_back( aNb );
148 NeighborVec.push_back( aNb );
150 NeighborVec.push_back( aNb );
152 NeighborVec.push_back( aNb );
154 NeighborVec.push_back( aNb );
156 NeighborVec.push_back( aNb );
157 }
158 }
159
162 {
164 unsigned int sector = phi / phiInSec;
165 unsigned int phip = 999;
166 unsigned int phin = 999;
167 unsigned int InvalidPhi = 999;
169 {
171 phin = phi + 1;
172 }
174 {
175 phip = phi - 1;
177 }
178 else if ( ( phi == 4 * phiInSec - 1 ) || ( phi == 12 * phiInSec - 1 ) )
179 {
180 phip = phi - 1;
181 phin = phi + 1;
182 }
183 else if ( ( phi == 4 * phiInSec ) || ( phi == 12 * phiInSec ) )
184 {
185 phip = phi - 1;
186 phin = phi + 1;
187 }
189 ( ( phi > 4 * phiInSec ) && ( phi < 12 * phiInSec - 1 ) ) ||
191 {
192 phip = phi - 1;
193 phin = phi + 1;
194 }
195
196 if ( phip != InvalidPhi )
197 {
199 NeighborVec.push_back( aNb );
200 }
201 if ( phin != InvalidPhi )
202 {
204 NeighborVec.push_back( aNb );
205 }
206
208 {
209 if ( phip != InvalidPhi )
210 {
212 NeighborVec.push_back( aNb );
213 }
215 NeighborVec.push_back( aNb );
216 if ( phin != InvalidPhi )
217 {
219 NeighborVec.push_back( aNb );
220 }
221 }
222
224 {
225 if ( phip != InvalidPhi )
226 {
228 NeighborVec.push_back( aNb );
229 }
231 NeighborVec.push_back( aNb );
232 if ( phin != InvalidPhi )
233 {
235 NeighborVec.push_back( aNb );
236 }
237
240 unsigned int min_max = 0;
244 NeighborVec.push_back( aNb );
246 NeighborVec.push_back( aNb );
247 if ( phi % 4 == 0 )
248 {
250 {
252 NeighborVec.push_back( aNb );
253 }
254 else
255 {
257 NeighborVec.push_back( aNb );
258 }
259 }
260 else if ( phi % 4 == 3 )
261 {
263 {
265 NeighborVec.push_back( aNb );
266 }
267 else
268 {
270 NeighborVec.push_back( aNb );
271 }
272 }
273 }
274
277 {
278 if ( phip != InvalidPhi )
279 {
281 NeighborVec.push_back( aNb );
282 }
284 NeighborVec.push_back( aNb );
285 if ( phin != InvalidPhi )
286 {
288 NeighborVec.push_back( aNb );
289 }
290
291 unsigned int phi1 = phi * ( phiInSec + 1 ) / phiInSec;
293 NeighborVec.push_back( aNb );
295 NeighborVec.push_back( aNb );
296 if ( phi % phiInSec == 0 )
297 {
298 if ( sector == 0 )
299 {
300 aNb =
302 NeighborVec.push_back( aNb );
303 }
304 else
305 {
307 NeighborVec.push_back( aNb );
308 }
309 }
310 else if ( phi % phiInSec == phiInSec - 1 )
311 {
312 if ( sector == 15 )
313 {
315 NeighborVec.push_back( aNb );
316 }
317 else
318 {
320 NeighborVec.push_back( aNb );
321 }
322 }
323 }
324
327 {
328 unsigned int phi1 = phi * ( phiInSec - 1 ) / phiInSec;
330 NeighborVec.push_back( aNb );
331 if ( phi % phiInSec == 0 )
332 {
333 if ( sector == 0 )
334 {
335 aNb =
337 NeighborVec.push_back( aNb );
338 }
339 else
340 {
342 NeighborVec.push_back( aNb );
343 }
344 }
345 else
346 {
348 {
350 NeighborVec.push_back( aNb );
351 }
352 else
353 {
355 NeighborVec.push_back( aNb );
356 }
357 }
358
359 if ( phip != InvalidPhi )
360 {
362 NeighborVec.push_back( aNb );
363 }
365 NeighborVec.push_back( aNb );
366 if ( phin != InvalidPhi )
367 {
369 NeighborVec.push_back( aNb );
370 }
371 }
372 }
373
374 return NeighborVec;
375}
vector< RecEmcID > RecEmcIDVector
static unsigned int getPHI_BARREL_MAX()
static Identifier crystal_id(const unsigned int barrel_ec, const unsigned int theta_module, const unsigned int phi_module)
For a single crystal.
static unsigned int getENDCAP_WEST()
static unsigned int barrel_ec(const Identifier &id)
Values of different levels (failure returns 0).
static unsigned int getENDCAP_EAST()
static unsigned int getTHETA_ENDCAP_MIN()
static unsigned int getTHETA_ENDCAP_MAX()
static unsigned int getBARREL()
static unsigned int getTHETA_BARREL_MIN()
static unsigned int getTHETA_BARREL_MAX()
static unsigned int theta_module(const Identifier &id)
static unsigned int getPHI_ENDCAP_MAX(const unsigned int theta)
static unsigned int getPHI_ENDCAP_MIN()
static unsigned int getPHI_BARREL_MIN()
static unsigned int phi_module(const Identifier &id)