55{
59
62
64
66 unsigned int phip=999;
67 unsigned int phin=999;
70 phin=phi+1;
71 }
73 phip=phi-1;
75 }
78 phip=phi-1;
79 phin=phi+1;
80 }
81
83 NeighborVec.push_back(aNb);
85 NeighborVec.push_back(aNb);
86
88 unsigned int east_west=0;
91 NeighborVec.push_back(aNb);
93 NeighborVec.push_back(aNb);
95 NeighborVec.push_back(aNb);
97 } else {
99 NeighborVec.push_back(aNb);
101 NeighborVec.push_back(aNb);
103 NeighborVec.push_back(aNb);
105 }
106
110 NeighborVec.push_back(aNb);
111 if(phi%5==0) {
115 NeighborVec.push_back(aNb);
116 } else {
118 NeighborVec.push_back(aNb);
119 }
120 } else {
124 NeighborVec.push_back(aNb);
125 } else {
127 NeighborVec.push_back(aNb);
128 }
129 }
130 }
131
134 NeighborVec.push_back(aNb);
136 NeighborVec.push_back(aNb);
138 NeighborVec.push_back(aNb);
140 NeighborVec.push_back(aNb);
142 NeighborVec.push_back(aNb);
144 NeighborVec.push_back(aNb);
145 }
146 }
147
151 unsigned int sector=phi/phiInSec;
152 unsigned int phip=999;
153 unsigned int phin=999;
154 unsigned int InvalidPhi = 999;
157 phin=phi+1;
158 }
160 phip=phi-1;
162 }
163 else if((phi==4*phiInSec-1) || (phi==12*phiInSec-1)){
164 phip=phi-1;
165 phin=phi+1;
166 }
167 else if((phi==4*phiInSec) || (phi==12*phiInSec)) {
168 phip=phi-1;
169 phin=phi+1;
170 }
172 ((phi>4*phiInSec)&&(phi<12*phiInSec-1)) ||
174 phip=phi-1;
175 phin=phi+1;
176 }
177
178 if(phip!=InvalidPhi) {
180 NeighborVec.push_back(aNb);
181 }
182 if(phin!=InvalidPhi) {
184 NeighborVec.push_back(aNb);
185 }
186
188 if(phip!=InvalidPhi) {
190 NeighborVec.push_back(aNb);
191 }
193 NeighborVec.push_back(aNb);
194 if(phin!=InvalidPhi) {
196 NeighborVec.push_back(aNb);
197 }
198 }
199
201 if(phip!=InvalidPhi) {
203 NeighborVec.push_back(aNb);
204 }
206 NeighborVec.push_back(aNb);
207 if(phin!=InvalidPhi) {
209 NeighborVec.push_back(aNb);
210 }
211
213 unsigned int min_max=0;
216 } else {
218 }
220 NeighborVec.push_back(aNb);
222 NeighborVec.push_back(aNb);
223 if(phi%4==0) {
226 NeighborVec.push_back(aNb);
227 } else {
229 NeighborVec.push_back(aNb);
230 }
231 } else if(phi%4==3) {
234 NeighborVec.push_back(aNb);
235 } else {
237 NeighborVec.push_back(aNb);
238 }
239 }
240 }
241
244 if(phip!=InvalidPhi) {
246 NeighborVec.push_back(aNb);
247 }
249 NeighborVec.push_back(aNb);
250 if(phin!=InvalidPhi) {
252 NeighborVec.push_back(aNb);
253 }
254
255 unsigned int phi1=phi*(phiInSec+1)/phiInSec;
257 NeighborVec.push_back(aNb);
259 NeighborVec.push_back(aNb);
260 if(phi%phiInSec==0) {
261 if(sector==0){
263 NeighborVec.push_back(aNb);
264 } else {
266 NeighborVec.push_back(aNb);
267 }
268 } else if(phi%phiInSec==phiInSec-1) {
269 if(sector==15){
271 NeighborVec.push_back(aNb);
272 } else {
274 NeighborVec.push_back(aNb);
275 }
276 }
277 }
278
281 unsigned int phi1=phi*(phiInSec-1)/phiInSec;
283 NeighborVec.push_back(aNb);
284 if(phi%phiInSec==0){
285 if(sector==0){
287 NeighborVec.push_back(aNb);
288 } else {
290 NeighborVec.push_back(aNb);
291 }
292 } else {
295 NeighborVec.push_back(aNb);
296 } else {
298 NeighborVec.push_back(aNb);
299 }
300 }
301
302 if(phip!=InvalidPhi) {
304 NeighborVec.push_back(aNb);
305 }
307 NeighborVec.push_back(aNb);
308 if(phin!=InvalidPhi) {
310 NeighborVec.push_back(aNb);
311 }
312 }
313 }
314
315 return NeighborVec;
316}
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)
void clear()
Reset to invalid state.