--- trunk/src/utils/LocalIndexManager.hpp 2009/11/25 20:02:06 1390 +++ branches/development/src/utils/LocalIndexManager.hpp 2013/05/15 15:09:35 1874 @@ -35,8 +35,9 @@ * * [1] Meineke, et al., J. Comp. Chem. 26, 252-271 (2005). * [2] Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006). - * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008). - * [4] Vardeman & Gezelter, in progress (2009). + * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008). + * [4] Kuang & Gezelter, J. Chem. Phys. 133, 164101 (2010). + * [5] Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). */ /** @@ -79,7 +80,6 @@ namespace OpenMD { std::cerr << "" << std::endl; } - IndexListContainerIterator i = indexContainer_.begin(); int result; result = indexContainer_.front().first; @@ -128,7 +128,6 @@ namespace OpenMD { std::unique(indices.begin(), indices.end()); std::vector::iterator i; - IndexListContainerIterator insertPos; int beginIndex; beginIndex = indices[0]; @@ -139,8 +138,6 @@ namespace OpenMD { beginIndex = *i; } } - - } std::vector getIndicesBefore(int index) { @@ -196,10 +193,7 @@ namespace OpenMD { if (endIndex > maxIndex_) { std::cerr << "" << std::endl; } - - - IndexListContainerIterator j; - + IndexListContainerIterator i = indexContainer_.begin(); for (; i != indexContainer_.end(); ++i) { if ((*i).first > endIndex) { @@ -294,11 +288,32 @@ namespace OpenMD { void releaseRigidBodyIndex(std::vector indices) { rigidBodyIndexContainer_.insert(indices); } + + int getNextCutoffGroupIndex() { + return cutoffGroupIndexContainer_.pop(); + } + + std::vector getCutoffGroupIndicesBefore(int index) { + return cutoffGroupIndexContainer_.getIndicesBefore(index); + } + + void releaseCutoffGroupIndex(int index) { + cutoffGroupIndexContainer_.insert(index); + } + + void releaseCutoffGroupIndex(int beginIndex, int endIndex) { + cutoffGroupIndexContainer_.insert(beginIndex, endIndex); + } + + void releaseCutoffGroupIndex(std::vector indices) { + cutoffGroupIndexContainer_.insert(indices); + } private: IndexListContainer atomIndexContainer_; IndexListContainer rigidBodyIndexContainer_; + IndexListContainer cutoffGroupIndexContainer_; }; } //end namespace OpenMD