+ return ArrayRef<ForceBufferElementType>(
+ reinterpret_cast<ForceBufferElementType*>(forceBuffer_.data()),
+ reinterpret_cast<ForceBufferElementType*>(forceBuffer_.data()) + numAtoms_);
+ }
+
+ /*! \brief Returns an array reference with padding to the force buffer which is aligned for SIMD access
+ *
+ * For RVec there is padding of one real for 4-wide SIMD access.
+ * For both RVec and rvec4 there is padding up to the block size for use in ThreadedForceBuffer.
+ */
+ ArrayRefWithPadding<ForceBufferElementType> forceBufferWithPadding()
+ {
+ return ArrayRefWithPadding<ForceBufferElementType>(
+ reinterpret_cast<ForceBufferElementType*>(forceBuffer_.data()),
+ reinterpret_cast<ForceBufferElementType*>(forceBuffer_.data()) + numAtoms_,
+ reinterpret_cast<ForceBufferElementType*>(forceBuffer_.data() + forceBuffer_.size()));