| 56 | 
  | 
#include "UseTheForce/notifyCutoffs_interface.h" | 
| 57 | 
  | 
#include "utils/MemoryUtils.hpp" | 
| 58 | 
  | 
#include "utils/simError.h" | 
| 59 | 
+ | 
#include "selection/SelectionManager.hpp" | 
| 60 | 
  | 
 | 
| 61 | 
  | 
#ifdef IS_MPI | 
| 62 | 
  | 
#include "UseTheForce/mpiComponentPlan.h" | 
| 73 | 
  | 
                                nGlobalIntegrableObjects_(0), nGlobalRigidBodies_(0), | 
| 74 | 
  | 
                                nAtoms_(0), nBonds_(0),  nBends_(0), nTorsions_(0), nRigidBodies_(0), | 
| 75 | 
  | 
                                nIntegrableObjects_(0),  nCutoffGroups_(0), nConstraints_(0), | 
| 76 | 
< | 
                                sman_(NULL), fortranInitialized_(false) { | 
| 76 | 
> | 
                                sman_(NULL), fortranInitialized_(false), selectMan_(NULL) { | 
| 77 | 
  | 
 | 
| 78 | 
  | 
             | 
| 79 | 
  | 
    std::vector<std::pair<MoleculeStamp*, int> >::iterator i; | 
| 109 | 
  | 
 | 
| 110 | 
  | 
        //calculate atoms in rigid bodies | 
| 111 | 
  | 
        int nAtomsInRigidBodies = 0; | 
| 112 | 
< | 
        int nRigidBodiesInStamp = molStamp->getNCutoffGroups(); | 
| 112 | 
> | 
        int nRigidBodiesInStamp = molStamp->getNRigidBodies(); | 
| 113 | 
  | 
         | 
| 114 | 
  | 
        for (int j=0; j < nRigidBodiesInStamp; j++) { | 
| 115 | 
  | 
            rbStamp = molStamp->getRigidBody(j); | 
| 138 | 
  | 
#ifdef IS_MPI     | 
| 139 | 
  | 
    molToProcMap_.resize(nGlobalMols_); | 
| 140 | 
  | 
#endif | 
| 141 | 
< | 
     | 
| 141 | 
> | 
 | 
| 142 | 
> | 
    selectMan_ = new SelectionManager(this); | 
| 143 | 
> | 
    selectMan_->selectAll(); | 
| 144 | 
  | 
} | 
| 145 | 
  | 
 | 
| 146 | 
  | 
SimInfo::~SimInfo() { | 
| 151 | 
  | 
    delete sman_; | 
| 152 | 
  | 
    delete simParams_; | 
| 153 | 
  | 
    delete forceField_; | 
| 154 | 
< | 
 | 
| 154 | 
> | 
    delete selectMan_; | 
| 155 | 
  | 
} | 
| 156 | 
  | 
 | 
| 157 | 
  | 
int SimInfo::getNGlobalConstraints() { | 
| 754 | 
  | 
    return maxCutoffRadius; | 
| 755 | 
  | 
} | 
| 756 | 
  | 
 | 
| 757 | 
< | 
void SimInfo::setupCutoff() { | 
| 755 | 
< | 
    double rcut_;  //cutoff radius | 
| 756 | 
< | 
    double rsw_; //switching radius | 
| 757 | 
> | 
void SimInfo::getCutoff(double& rcut, double& rsw) { | 
| 758 | 
  | 
     | 
| 759 | 
  | 
    if (fInfo_.SIM_uses_Charges | fInfo_.SIM_uses_Dipoles | fInfo_.SIM_uses_RF) { | 
| 760 | 
  | 
         | 
| 800 | 
  | 
        } | 
| 801 | 
  | 
     | 
| 802 | 
  | 
    } | 
| 803 | 
< | 
         | 
| 803 | 
> | 
} | 
| 804 | 
> | 
 | 
| 805 | 
> | 
void SimInfo::setupCutoff() { | 
| 806 | 
> | 
    getCutoff(rcut_, rsw_);     | 
| 807 | 
  | 
    double rnblist = rcut_ + 1; // skin of neighbor list | 
| 808 | 
  | 
 | 
| 809 | 
  | 
    //Pass these cutoff radius etc. to fortran. This function should be called once and only once |