Skip to content
Snippets Groups Projects
Commit 9a2ec429 authored by Giovanni Bussi's avatar Giovanni Bussi
Browse files

Small cleanup in WholeMolecules

* Eliminated a possible tricky method to modify atom by relative index
* Eliminated duplicates in requested atom list

I also added a operators to AtomNumber, so it can be sorted with STL
algorithms
parent 1b3b8260
No related branches found
No related tags found
No related merge requests found
......@@ -20,6 +20,8 @@ public:
void setIndex(unsigned);
static AtomNumber serial(unsigned);
static AtomNumber index(unsigned);
friend bool operator<(const AtomNumber&,const AtomNumber&);
friend bool operator==(const AtomNumber&,const AtomNumber&);
};
inline
......@@ -62,6 +64,16 @@ AtomNumber AtomNumber::index(unsigned i){
return a;
}
inline
bool operator<(const AtomNumber&a,const AtomNumber&b){
return a.index_<b.index_;
}
inline
bool operator==(const AtomNumber&a,const AtomNumber&b){
return a.index_==b.index_;
}
}
......
......@@ -3,6 +3,7 @@
#include "ActionRegister.h"
#include "Vector.h"
#include "AtomNumber.h"
#include "Tools.h"
#include <vector>
#include <string>
......@@ -56,11 +57,6 @@ Vector & GenericWholeMolecules::modifyPosition(AtomNumber i){
return plumed.getAtoms().positions[i.index()];
}
inline
Vector & GenericWholeMolecules::modifyPosition(unsigned i){
return plumed.getAtoms().positions[getAbsoluteIndex(i).index()];
}
GenericWholeMolecules::GenericWholeMolecules(const ActionOptions&ao):
Action(ao),
ActionPilot(ao),
......@@ -77,6 +73,7 @@ ActionAtomistic(ao)
merge.insert(merge.end(),group.begin(),group.end());
}
checkRead();
Tools::removeDuplicates(merge);
requestAtoms(merge);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment