| 103 | 
  | 
    virtual pair<int, int> getGroupTypes(int cg1, int cg2) = 0; | 
| 104 | 
  | 
 | 
| 105 | 
  | 
    // Group->atom bookkeeping | 
| 106 | 
< | 
    virtual vector<int> getAtomsInGroupRow(int cg1) = 0; | 
| 106 | 
> | 
    virtual vector<int> getAtomsInGroupRow(int cg1) = 0;  | 
| 107 | 
  | 
    virtual vector<int> getAtomsInGroupColumn(int cg2) = 0; | 
| 108 | 
+ | 
 | 
| 109 | 
  | 
    virtual Vector3d getAtomToGroupVectorRow(int atom1, int cg1) = 0; | 
| 110 | 
  | 
    virtual Vector3d getAtomToGroupVectorColumn(int atom2, int cg2) = 0; | 
| 111 | 
< | 
    virtual RealType getMfactRow(int atom1) = 0; | 
| 112 | 
< | 
    virtual RealType getMfactColumn(int atom2) = 0; | 
| 111 | 
> | 
    virtual RealType getMassFactorRow(int atom1) = 0; | 
| 112 | 
> | 
    virtual RealType getMassFactorColumn(int atom2) = 0; | 
| 113 | 
  | 
 | 
| 114 | 
  | 
    // spatial data | 
| 115 | 
  | 
    virtual Vector3d getIntergroupVector(int cg1, int cg2) = 0; | 
| 154 | 
  | 
                                       //& column.  It will be up to | 
| 155 | 
  | 
                                       //the specific decomposition | 
| 156 | 
  | 
                                       //method to fill this. | 
| 157 | 
+ | 
 | 
| 158 | 
+ | 
    vector<vector<int> > groupList_; | 
| 159 | 
  | 
    vector<Vector3i> cellOffsets_; | 
| 160 | 
  | 
    Vector3i nCells_; | 
| 161 | 
  | 
    vector<vector<int> > cellList_; |