Index: src/LinkedCell/LinkedCell.hpp
===================================================================
--- src/LinkedCell/LinkedCell.hpp	(revision c8f6b692b88a0dc8e4758c132ca2f8a448ac41cc)
+++ src/LinkedCell/LinkedCell.hpp	(revision 4459fcac9c9f1ef9ec32ea88af1da695c2b4e845)
@@ -14,4 +14,5 @@
 #endif
 
+#include "LinkedCell/tripleIndex.hpp"
 #include "LinkedCell/types.hpp"
 
Index: src/LinkedCell/LinkedCell_Model.hpp
===================================================================
--- src/LinkedCell/LinkedCell_Model.hpp	(revision c8f6b692b88a0dc8e4758c132ca2f8a448ac41cc)
+++ src/LinkedCell/LinkedCell_Model.hpp	(revision 4459fcac9c9f1ef9ec32ea88af1da695c2b4e845)
@@ -20,4 +20,5 @@
 #include "LinearAlgebra/defs.hpp"
 #include "LinearAlgebra/RealSpaceMatrix.hpp"
+#include "LinkedCell/tripleIndex.hpp"
 #include "LinkedCell/types.hpp"
 
Index: src/LinkedCell/LinkedCell_View.cpp
===================================================================
--- src/LinkedCell/LinkedCell_View.cpp	(revision c8f6b692b88a0dc8e4758c132ca2f8a448ac41cc)
+++ src/LinkedCell/LinkedCell_View.cpp	(revision 4459fcac9c9f1ef9ec32ea88af1da695c2b4e845)
@@ -26,4 +26,5 @@
 #include "LinkedCell.hpp"
 #include "LinkedCell_Model.hpp"
+#include "tripleIndex.hpp"
 
 using namespace LinkedCell;
Index: src/LinkedCell/Makefile.am
===================================================================
--- src/LinkedCell/Makefile.am	(revision c8f6b692b88a0dc8e4758c132ca2f8a448ac41cc)
+++ src/LinkedCell/Makefile.am	(revision 4459fcac9c9f1ef9ec32ea88af1da695c2b4e845)
@@ -7,5 +7,6 @@
   LinkedCell/LinkedCell_Controller.cpp \
   LinkedCell/LinkedCell_Model.cpp \
-  LinkedCell/LinkedCell_View.cpp
+  LinkedCell/LinkedCell_View.cpp \
+  LinkedCell/tripleIndex.cpp
 
 LINKEDCELLHEADER = \
@@ -16,5 +17,6 @@
   LinkedCell/LinkedCell_Model.hpp \
   LinkedCell/LinkedCell_View.hpp \
-  LinkedCell/PointCloudAdaptor.hpp
+  LinkedCell/PointCloudAdaptor.hpp \
+  LinkedCell/tripleIndex.hpp
 
 
Index: src/LinkedCell/tripleIndex.cpp
===================================================================
--- src/LinkedCell/tripleIndex.cpp	(revision 4459fcac9c9f1ef9ec32ea88af1da695c2b4e845)
+++ src/LinkedCell/tripleIndex.cpp	(revision 4459fcac9c9f1ef9ec32ea88af1da695c2b4e845)
@@ -0,0 +1,49 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2011 University of Bonn. All rights reserved.
+ * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
+ */
+
+/*
+ * tripleIndex.cpp
+ *
+ *  Created on: Dec 19, 2011
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "CodePatterns/MemDebug.hpp"
+
+#include <iostream>
+
+#include "LinkedCell/tripleIndex.hpp"
+
+using namespace LinkedCell;
+
+tripleIndex tripleIndex::operator*(const tripleIndex &a)
+{
+  tripleIndex res;
+  for (int i=0;i<NDIM;++i)
+    res[i] = (*this)[i]*a[i];
+  return res;
+}
+
+tripleIndex tripleIndex::operator+(const tripleIndex &a)
+{
+  tripleIndex res;
+  for (int i=0;i<NDIM;++i)
+    res[i] = (*this)[i]+a[i];
+  return res;
+}
+
+std::ostream & operator<<(std::ostream &ost, const tripleIndex &a)
+{
+  for (int i=0;i<NDIM;++i)
+    ost << ((i!=0) ? "," : "") << a[i];
+  return ost;
+}
Index: src/LinkedCell/tripleIndex.hpp
===================================================================
--- src/LinkedCell/tripleIndex.hpp	(revision 4459fcac9c9f1ef9ec32ea88af1da695c2b4e845)
+++ src/LinkedCell/tripleIndex.hpp	(revision 4459fcac9c9f1ef9ec32ea88af1da695c2b4e845)
@@ -0,0 +1,34 @@
+/*
+ * tripleIndex.hpp
+ *
+ *  Created on: Dec 19, 2011
+ *      Author: heber
+ */
+
+#ifndef TRIPLEINDEX_HPP_
+#define TRIPLEINDEX_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+
+#include <boost/array.hpp>
+#include <iosfwd>
+
+#include "types.hpp"
+
+namespace LinkedCell {
+  //!> vector of 3 indices
+  struct tripleIndex : public boost::array<LinkedCellArray::index, NDIM> {
+    tripleIndex operator+(const tripleIndex &a);
+    tripleIndex operator*(const tripleIndex &a);
+  };
+}
+
+
+std::ostream & operator << (std::ostream &ost, const LinkedCell::tripleIndex &a);
+
+
+#endif /* TRIPLEINDEX_HPP_ */
Index: src/LinkedCell/types.hpp
===================================================================
--- src/LinkedCell/types.hpp	(revision c8f6b692b88a0dc8e4758c132ca2f8a448ac41cc)
+++ src/LinkedCell/types.hpp	(revision 4459fcac9c9f1ef9ec32ea88af1da695c2b4e845)
@@ -17,5 +17,4 @@
 #include <vector>
 
-#include <boost/array.hpp>
 #include <boost/multi_array.hpp>
 
@@ -36,8 +35,6 @@
   //!> three-dimensional array of LinkedCell instances
   typedef boost::multi_array<LinkedCell *, NDIM> LinkedCellArray;
-
-  //!> vector of 3 indices
-  typedef boost::array<LinkedCellArray::index, NDIM> tripleIndex;
 }
 
+
 #endif /* LINKEDCELL_TYPES_HPP_ */
