304 {
305
306 if( i-r0<0 || i-r0>=(int)ColorBinMap.size()
307 || j-r2<0 ||j-r2>=(int)ColorBinMap[0].size() ) return;
308
309 std::vector<colorbin>
tmp;
310
311 if(i-1-r0>=0 && j-1-r2>=0 && ColorBinMap[i-1-r0][j-1-r2].m_status==1){
312 tmp.push_back(ColorBinMap[i-1-r0][j-1-r2]);
313 ColorBinMap[
i-1-
r0][j-1-
r2].m_status=0;
314 }
315 if(j-1-r2 >=0 && ColorBinMap[i-r0][j-1-r2].m_status==1){
316 tmp.push_back(ColorBinMap[i-r0][j-1-r2]);
317 ColorBinMap[
i-
r0][j-1-
r2].m_status=0;
318 }
319 if(i+1-r0<(int)ColorBinMap.size() && j-1-r2 >=0 && ColorBinMap[i+1-r0][j-1-r2].m_status==1){
320 tmp.push_back(ColorBinMap[i+1-r0][j-1-r2]);
321 ColorBinMap[
i+1-
r0][j-1-
r2].m_status=0;
322 }
323 if(i-1-r0>=0 && ColorBinMap[i-1-r0][j-r2].m_status==1){
324 tmp.push_back(ColorBinMap[i-1-r0][j-r2]);
325 ColorBinMap[
i-1-
r0][j-
r2].m_status=0;
326 }
327
328 if(i+1-r0<(int)ColorBinMap.size() && ColorBinMap[i+1-r0][j-r2].m_status==1){
329 tmp.push_back(ColorBinMap[i+1-r0][j-r2]);
330 ColorBinMap[
i+1-
r0][j-
r2].m_status=0;
331 }
332 if(i-1-r0>=0 && j+1-r2 < (int)ColorBinMap[0].size()
333 && ColorBinMap[i-1-r0][j+1-r2].m_status==1){
334 tmp.push_back(ColorBinMap[i-1-r0][j+1-r2]);
335 ColorBinMap[
i-1-
r0][j+1-
r2].m_status=0;
336 }
337if(j+1-r2<(int)ColorBinMap[0].size()&& ColorBinMap[i-r0][j+1-r2].m_status==1){
338 tmp.push_back(ColorBinMap[i-r0][j+1-r2]);
339 ColorBinMap[
i-
r0][j+1-
r2].m_status=0;
340 }
341 if(i+1-r0<(int)ColorBinMap.size() && j+1-r2<(int)ColorBinMap[0].size()&&ColorBinMap[i+1-r0][j+1-r2].m_status==1){
342 tmp.push_back(ColorBinMap[i+1-r0][j+1-r2]);
343 ColorBinMap[
i+1-
r0][j+1-
r2].m_status=0;
344 }
345
346 for(
unsigned int k=0;
k<
tmp.size();
k++){
347 if(tmp[k].m_color!=
green){
348 LookAtList.push_back(tmp[k]);
349 AddToList(r0,r2,tmp[k].m_ix,tmp[k].m_iy,ColorBinMap,LookAtList);
350 }
351 }
352 return;
353
354}
const double r0
electron radius{cm}