13 template<
typename P,
typename I>
33 template<
typename T,
typename InteractionType>
36 console.
XDebug() <<
"ParallelInteractionStorage_NE_T::Update\n";
40 if(this->m_update_timestamp != this->m_ppa->getTimeStamp()){
42 this->m_interactions.clear();
43 this->m_set.erase(this->m_set.begin(),this->m_set.end());
45 typename ParallelParticleArray<T>::PairListHandle plh =
48 for(
typename ParallelParticleArray<T>::PairListIterator iter=plh->begin();
53 int t1=iter->first->getTag();
54 int t2=iter->second->getTag();
62 if(((t1 & m_mask1)==(m_tag1 & m_mask1)) && ((t2 & m_mask2)==(m_tag2 & m_mask2))){
65 tv.push_back(iter->first->getID());
66 tv.push_back(iter->second->getID());
67 if(this->m_exIG!=NULL){
68 if(!this->m_exIG->isIn(tv)){
69 this->m_interactions.push_back(InteractionType(iter->first,iter->second,this->m_param));
70 this->m_set.insert(pair<int,int>(iter->first->getID(),iter->second->getID()));
74 this->m_interactions.push_back(InteractionType(iter->first,iter->second,this->m_param));
75 this->m_set.insert(pair<int,int>(iter->first->getID(),iter->second->getID()));
82 typename ParallelParticleArray<T>::PairListHandle plh =
84 for(
typename ParallelParticleArray<T>::PairListIterator iter=plh->begin();
89 int t1=iter->first->getTag();
90 int t2=iter->second->getTag();
98 if(((t1 & m_mask1)==(m_tag1 & m_mask1)) && ((t2 & m_mask2)==(m_tag2 & m_mask2))){
101 tv.push_back(iter->first->getID());
102 tv.push_back(iter->second->getID());
103 if(this->m_exIG!=NULL){
104 if(!this->m_exIG->isIn(tv)){
105 this->m_interactions.push_back(InteractionType(iter->first,iter->second,this->m_param));
106 this->m_set.insert(pair<int,int>(iter->first->getID(),iter->second->getID()));
110 this->m_interactions.push_back(InteractionType(iter->first,iter->second,this->m_param));
111 this->m_set.insert(pair<int,int>(iter->first->getID(),iter->second->getID()));
117 this->m_update_timestamp = this->m_ppa->getTimeStamp();
119 console.
XDebug() <<
"added " << count_l <<
" pairs to EIG\n";
120 console.
XDebug() <<
"end ParallelInteractionStorage_NE_T::Update\n";