| 35 |  | * | 
| 36 |  | * [1]  Meineke, et al., J. Comp. Chem. 26, 252-271 (2005). | 
| 37 |  | * [2]  Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006). | 
| 38 | < | * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008). | 
| 39 | < | * [4]  Vardeman & Gezelter, in progress (2009). | 
| 38 | > | * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008). | 
| 39 | > | * [4]  Kuang & Gezelter,  J. Chem. Phys. 133, 164101 (2010). | 
| 40 | > | * [5]  Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). | 
| 41 |  | */ | 
| 42 |  |  | 
| 43 |  | /** | 
| 80 |  | std::cerr << "" << std::endl; | 
| 81 |  | } | 
| 82 |  |  | 
| 82 | – | IndexListContainerIterator i = indexContainer_.begin(); | 
| 83 |  | int result; | 
| 84 |  |  | 
| 85 |  | result = indexContainer_.front().first; | 
| 128 |  | std::unique(indices.begin(), indices.end()); | 
| 129 |  |  | 
| 130 |  | std::vector<int>::iterator i; | 
| 131 | – | IndexListContainerIterator insertPos; | 
| 131 |  | int beginIndex; | 
| 132 |  |  | 
| 133 |  | beginIndex = indices[0]; | 
| 138 |  | beginIndex = *i; | 
| 139 |  | } | 
| 140 |  | } | 
| 142 | – |  | 
| 143 | – |  | 
| 141 |  | } | 
| 142 |  |  | 
| 143 |  | std::vector<int> getIndicesBefore(int index) { | 
| 193 |  | if (endIndex > maxIndex_) { | 
| 194 |  | std::cerr << "" << std::endl; | 
| 195 |  | } | 
| 196 | < |  | 
| 200 | < |  | 
| 201 | < | IndexListContainerIterator j; | 
| 202 | < |  | 
| 196 | > |  | 
| 197 |  | IndexListContainerIterator i = indexContainer_.begin(); | 
| 198 |  | for (; i != indexContainer_.end(); ++i) { | 
| 199 |  | if ((*i).first > endIndex) { | 
| 288 |  | void releaseRigidBodyIndex(std::vector<int> indices) { | 
| 289 |  | rigidBodyIndexContainer_.insert(indices); | 
| 290 |  | } | 
| 291 | + |  | 
| 292 | + | int getNextCutoffGroupIndex() { | 
| 293 | + | return cutoffGroupIndexContainer_.pop(); | 
| 294 | + | } | 
| 295 | + |  | 
| 296 | + | std::vector<int> getCutoffGroupIndicesBefore(int index) { | 
| 297 | + | return cutoffGroupIndexContainer_.getIndicesBefore(index); | 
| 298 | + | } | 
| 299 | + |  | 
| 300 | + | void releaseCutoffGroupIndex(int index) { | 
| 301 | + | cutoffGroupIndexContainer_.insert(index); | 
| 302 | + | } | 
| 303 | + |  | 
| 304 | + | void releaseCutoffGroupIndex(int beginIndex, int endIndex) { | 
| 305 | + | cutoffGroupIndexContainer_.insert(beginIndex, endIndex); | 
| 306 | + | } | 
| 307 | + |  | 
| 308 | + | void releaseCutoffGroupIndex(std::vector<int> indices) { | 
| 309 | + | cutoffGroupIndexContainer_.insert(indices); | 
| 310 | + | } | 
| 311 |  |  | 
| 312 |  | private: | 
| 313 |  |  | 
| 314 |  | IndexListContainer atomIndexContainer_; | 
| 315 |  | IndexListContainer rigidBodyIndexContainer_; | 
| 316 | + | IndexListContainer cutoffGroupIndexContainer_; | 
| 317 |  | }; | 
| 318 |  |  | 
| 319 |  | } //end namespace OpenMD |