| 120 | 
  | 
    void setUserCutoff(RealType rcut) {userCutoff_ = rcut; userChoseCutoff_ = true; } | 
| 121 | 
  | 
 | 
| 122 | 
  | 
    // group bookkeeping | 
| 123 | 
< | 
    virtual groupCutoffs getGroupCutoffs(int cg1, int cg2) = 0; | 
| 123 | 
> | 
    virtual void getGroupCutoffs(int &cg1, int &cg2, RealType &rcut, RealType &rcutsq, RealType &rlistsq) = 0; | 
| 124 | 
  | 
    virtual Vector3d& getGroupVelocityColumn(int atom2) = 0; | 
| 125 | 
  | 
 | 
| 126 | 
  | 
    // Group->atom bookkeeping | 
| 169 | 
  | 
    RealType largestRcut_; | 
| 170 | 
  | 
 | 
| 171 | 
  | 
    vector<int> idents; | 
| 172 | 
+ | 
    vector<int> regions; | 
| 173 | 
  | 
    potVec pairwisePot; | 
| 174 | 
  | 
    potVec embeddingPot; | 
| 175 | 
  | 
    potVec excludedPot; | 
| 199 | 
  | 
    RealType userCutoff_; | 
| 200 | 
  | 
    CutoffPolicy cutoffPolicy_; | 
| 201 | 
  | 
 | 
| 202 | 
< | 
    map<pair<int, int>, tuple3<RealType, RealType, RealType> > gTypeCutoffMap; | 
| 202 | 
> | 
    //map<pair<int, int>, tuple3<RealType, RealType, RealType> > gTypeCutoffMap; | 
| 203 | 
> | 
    vector<vector<RealType> > GrCut; | 
| 204 | 
> | 
    vector<vector<RealType> > GrCutSq; | 
| 205 | 
> | 
    vector<vector<RealType> > GrlistSq; | 
| 206 | 
  | 
 | 
| 207 | 
  | 
  };     | 
| 208 | 
  | 
} |