| 65 | 
  | 
 | 
| 66 | 
  | 
namespace oopse { | 
| 67 | 
  | 
 | 
| 68 | 
< | 
SimInfo::SimInfo(std::vector<std::pair<MoleculeStamp*, int> >& molStampPairs,  | 
| 68 | 
> | 
SimInfo::SimInfo(MakeStamps* stamps, std::vector<std::pair<MoleculeStamp*, int> >& molStampPairs,  | 
| 69 | 
  | 
                                ForceField* ff, Globals* simParams) :  | 
| 70 | 
< | 
                                forceField_(ff), simParams_(simParams),  | 
| 70 | 
> | 
                                stamps_(stamps), forceField_(ff), simParams_(simParams),  | 
| 71 | 
  | 
                                ndf_(0), ndfRaw_(0), ndfTrans_(0), nZconstraint_(0), | 
| 72 | 
  | 
                                nGlobalMols_(0), nGlobalAtoms_(0), nGlobalCutoffGroups_(0),  | 
| 73 | 
  | 
                                nGlobalIntegrableObjects_(0), nGlobalRigidBodies_(0), | 
| 147 | 
  | 
        delete i->second; | 
| 148 | 
  | 
    } | 
| 149 | 
  | 
    molecules_.clear(); | 
| 150 | 
< | 
     | 
| 151 | 
< | 
    MemoryUtils::deletePointers(moleculeStamps_); | 
| 152 | 
< | 
     | 
| 150 | 
> | 
        | 
| 151 | 
> | 
    delete stamps_; | 
| 152 | 
  | 
    delete sman_; | 
| 153 | 
  | 
    delete simParams_; | 
| 154 | 
  | 
    delete forceField_; | 
| 379 | 
  | 
        } | 
| 380 | 
  | 
    }         | 
| 381 | 
  | 
 | 
| 383 | 
– | 
    Molecule::CutoffGroupIterator cgIter; | 
| 384 | 
– | 
    CutoffGroup* cg; | 
| 385 | 
– | 
    for (cg = mol->beginCutoffGroup(cgIter); cg != NULL; cg = mol->nextCutoffGroup(cgIter)) { | 
| 386 | 
– | 
        std::vector<Atom*> atoms = cg->getAtoms(); | 
| 387 | 
– | 
        for (int i = 0; i < atoms.size() -1 ; ++i) { | 
| 388 | 
– | 
            for (int j = i + 1; j < atoms.size(); ++j) { | 
| 389 | 
– | 
                a = atoms[i]->getGlobalIndex(); | 
| 390 | 
– | 
                b = atoms[j]->getGlobalIndex(); | 
| 391 | 
– | 
                exclude_.addPair(a, b); | 
| 392 | 
– | 
            } | 
| 393 | 
– | 
        } | 
| 394 | 
– | 
    }   | 
| 395 | 
– | 
 | 
| 382 | 
  | 
} | 
| 383 | 
  | 
 | 
| 384 | 
  | 
void SimInfo::removeExcludePairs(Molecule* mol) { | 
| 436 | 
  | 
        } | 
| 437 | 
  | 
    }         | 
| 438 | 
  | 
 | 
| 453 | 
– | 
    Molecule::CutoffGroupIterator cgIter; | 
| 454 | 
– | 
    CutoffGroup* cg; | 
| 455 | 
– | 
    for (cg = mol->beginCutoffGroup(cgIter); cg != NULL; cg = mol->nextCutoffGroup(cgIter)) { | 
| 456 | 
– | 
        std::vector<Atom*> atoms = cg->getAtoms(); | 
| 457 | 
– | 
        for (int i = 0; i < atoms.size() -1 ; ++i) { | 
| 458 | 
– | 
            for (int j = i + 1; j < atoms.size(); ++j) { | 
| 459 | 
– | 
                a = atoms[i]->getGlobalIndex(); | 
| 460 | 
– | 
                b = atoms[j]->getGlobalIndex(); | 
| 461 | 
– | 
                exclude_.removePair(a, b); | 
| 462 | 
– | 
            } | 
| 463 | 
– | 
        } | 
| 464 | 
– | 
    }   | 
| 465 | 
– | 
 | 
| 439 | 
  | 
} | 
| 440 | 
  | 
 | 
| 441 | 
  | 
 |