| 55 | 
  | 
   | 
| 56 | 
  | 
  class ForceMatrixDecomposition : public ForceDecomposition { | 
| 57 | 
  | 
  public: | 
| 58 | 
< | 
    ForceMatrixDecomposition(SimInfo* info) : ForceDecomposition(info) {sman_ = info_->getSnapshotManager();} | 
| 58 | 
> | 
    ForceMatrixDecomposition(SimInfo* info) : ForceDecomposition(info) {}; | 
| 59 | 
> | 
 | 
| 60 | 
  | 
    void distributeInitialData(); | 
| 61 | 
  | 
    void distributeData(); | 
| 62 | 
  | 
    void collectIntermediateData(); | 
| 64 | 
  | 
    void collectData(); | 
| 65 | 
  | 
 | 
| 66 | 
  | 
    // neighbor list routines | 
| 66 | 
– | 
    bool checkNeighborList(); | 
| 67 | 
  | 
    vector<pair<int, int> >  buildNeighborList(); | 
| 68 | 
  | 
 | 
| 69 | 
  | 
    // group bookkeeping | 
| 91 | 
  | 
    // filling interaction blocks with pointers | 
| 92 | 
  | 
    InteractionData fillInteractionData(int atom1, int atom2); | 
| 93 | 
  | 
    InteractionData fillSkipData(int atom1, int atom2); | 
| 94 | 
– | 
    SelfData fillSelfData(int atom1); | 
| 94 | 
  | 
 | 
| 95 | 
  | 
  private:  | 
| 97 | 
– | 
    SnapshotManager* sman_;     | 
| 98 | 
– | 
    Snapshot* snap_; | 
| 99 | 
– | 
    int storageLayout_; | 
| 100 | 
– | 
    vector<Vector3i> Cells; | 
| 101 | 
– | 
 | 
| 96 | 
  | 
    int nLocal_; | 
| 97 | 
  | 
    int nGroups_; | 
| 98 | 
  | 
 | 
| 134 | 
  | 
    vector<int> cgRowToGlobal; | 
| 135 | 
  | 
    vector<int> cgColToGlobal; | 
| 136 | 
  | 
 | 
| 137 | 
< | 
    vector<vector<int> > CellListRow; | 
| 138 | 
< | 
    vector<vector<int> > CellListCol; | 
| 145 | 
< | 
#else  | 
| 146 | 
< | 
    vector<vector<int> > CellList; | 
| 137 | 
> | 
    vector<vector<int> > cellListRow_; | 
| 138 | 
> | 
    vector<vector<int> > cellListCol_; | 
| 139 | 
  | 
#endif | 
| 140 | 
  | 
    vector<RealType> pot_local; | 
| 141 | 
  | 
 |