| 48 |
|
#include "nonbonded/Cutoffs.hpp" |
| 49 |
|
#include "nonbonded/InteractionManager.hpp" |
| 50 |
|
#include "utils/Tuple.hpp" |
| 51 |
+ |
#include "primitives/Molecule.hpp" |
| 52 |
|
|
| 53 |
|
using namespace std; |
| 54 |
|
namespace OpenMD { |
| 107 |
|
// neighbor list routines |
| 108 |
|
virtual bool checkNeighborList(); |
| 109 |
|
virtual vector<pair<int, int> > buildNeighborList() = 0; |
| 110 |
< |
virtual vector<vector<int> > buildLayerBasedNeighborList() = 0; |
| 110 |
> |
virtual vector<vector<CutoffGroup *> > buildLayerBasedNeighborList() = 0; |
| 111 |
|
|
| 112 |
|
// how to handle cutoffs: |
| 113 |
|
void setCutoffPolicy(CutoffPolicy cp) {cutoffPolicy_ = cp;} |
| 127 |
|
|
| 128 |
|
// spatial data |
| 129 |
|
virtual Vector3d getIntergroupVector(int cg1, int cg2) = 0; |
| 130 |
+ |
virtual Vector3d getIntergroupVector(CutoffGroup *cg1, CutoffGroup *cg2) = 0; |
| 131 |
|
virtual Vector3d getInteratomicVector(int atom1, int atom2) = 0; |
| 132 |
|
|
| 133 |
|
// atom bookkeeping |