30 m_xsize=(max.X()-min.X())/
double(nx);
31 m_ysize=(max.Y()-min.Y())/
double(ny);
32 m_zsize=(max.Z()-min.Z())/
double(nz);
50 return x*m_ny*m_nz+y*m_nz+z;
62 int posx=int(floor((pos.X()-m_xmin)/m_xsize));
63 int posy=int(floor((pos.Y()-m_ymin)/m_ysize));
64 int posz=int(floor((pos.Z()-m_zmin)/m_zsize));
65 return coordsToIndex(posx,posy,posz);
79 int idx=coordsToIndex(cx,cy,cz);
80 m_slave_id_map.insert(make_pair(idx,rank));
91 int idx=posToIndex(p.getPos());
92 int sl_id=m_slave_id_map[idx];
93 cout <<
"Inserting particle at pos " << p.getPos() <<
" index " << idx <<
"slave " << sl_id << endl;
94 typename multimap<int,T>::iterator it=m_mmap.insert(make_pair(sl_id,p));
95 m_by_id.insert(make_pair(p.getID(),it));