From 191509ca1c39dcce9ef2bbc4c4000133341c06e6 Mon Sep 17 00:00:00 2001
From: Gareth Tribello <gareth.tribello@gmail.com>
Date: Wed, 22 Feb 2017 08:43:32 +0000
Subject: [PATCH] Fixed histogram on sphere option

---
 .../rt-spherical-integral/Makefile            |    1 +
 .../rt-spherical-integral/colvar.reference    |    6 +
 .../rt-spherical-integral/config              |    3 +
 .../rt-spherical-integral/forces.reference    | 1015 +++++++++++++++++
 .../rt-spherical-integral/plumed.dat          |    8 +
 .../rt-spherical-integral/trajectory.xyz      | 1015 +++++++++++++++++
 src/analysis/Histogram.cpp                    |   92 +-
 src/crystallization/BondOrientation.cpp       |  119 ++
 src/crystallization/VectorMean.cpp            |    2 +-
 src/crystallization/VectorSum.cpp             |    3 +-
 src/gridtools/GridVessel.h                    |    3 +-
 src/gridtools/HistogramOnGrid.cpp             |   14 +-
 12 files changed, 2236 insertions(+), 45 deletions(-)
 create mode 100644 regtest/crystallization/rt-spherical-integral/Makefile
 create mode 100644 regtest/crystallization/rt-spherical-integral/colvar.reference
 create mode 100644 regtest/crystallization/rt-spherical-integral/config
 create mode 100644 regtest/crystallization/rt-spherical-integral/forces.reference
 create mode 100644 regtest/crystallization/rt-spherical-integral/plumed.dat
 create mode 100644 regtest/crystallization/rt-spherical-integral/trajectory.xyz
 create mode 100644 src/crystallization/BondOrientation.cpp

diff --git a/regtest/crystallization/rt-spherical-integral/Makefile b/regtest/crystallization/rt-spherical-integral/Makefile
new file mode 100644
index 000000000..3703b27ce
--- /dev/null
+++ b/regtest/crystallization/rt-spherical-integral/Makefile
@@ -0,0 +1 @@
+include ../../scripts/test.make
diff --git a/regtest/crystallization/rt-spherical-integral/colvar.reference b/regtest/crystallization/rt-spherical-integral/colvar.reference
new file mode 100644
index 000000000..f8684e6a3
--- /dev/null
+++ b/regtest/crystallization/rt-spherical-integral/colvar.reference
@@ -0,0 +1,6 @@
+#! FIELDS time iv b.bias b.force2
+ 0.000000   1.0485   0.4455   8.9106
+ 1.000000   0.9842   0.2741   5.4827
+ 2.000000   1.0049   0.3249   6.4986
+ 3.000000   0.9474   0.1949   3.8973
+ 4.000000   0.9911   0.2907   5.8143
diff --git a/regtest/crystallization/rt-spherical-integral/config b/regtest/crystallization/rt-spherical-integral/config
new file mode 100644
index 000000000..31b0428ec
--- /dev/null
+++ b/regtest/crystallization/rt-spherical-integral/config
@@ -0,0 +1,3 @@
+type=driver
+# this is to test a different name
+arg="--plumed plumed.dat --ixyz trajectory.xyz --dump-forces forces --dump-forces-fmt %8.4f" # --debug-forces forces.num"
diff --git a/regtest/crystallization/rt-spherical-integral/forces.reference b/regtest/crystallization/rt-spherical-integral/forces.reference
new file mode 100644
index 000000000..1d0ff64ec
--- /dev/null
+++ b/regtest/crystallization/rt-spherical-integral/forces.reference
@@ -0,0 +1,1015 @@
+201
+ -0.1864   0.0267   0.3014
+X   0.0003  -0.0003  -0.0003
+X  -0.1329   0.1134  -0.1861
+X   0.1329  -0.1134   0.1861
+X   0.0714   0.0810   0.0905
+X  -0.0717  -0.0808  -0.0902
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+201
+  0.0172   0.1320  -0.1770
+X  -0.0001  -0.0000   0.0000
+X   0.0075  -0.0076  -0.0156
+X  -0.0310  -0.0846   0.0847
+X  -0.0074   0.0077   0.0156
+X   0.0310   0.0846  -0.0847
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+201
+  0.0128  -0.0660   0.0610
+X   0.0030   0.0044   0.0010
+X  -0.0172   0.0225   0.0312
+X   0.0002  -0.0006  -0.0012
+X  -0.0015  -0.0029   0.0038
+X   0.0156  -0.0235  -0.0348
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+201
+ -0.0155   0.0614  -0.0330
+X   0.0011  -0.0024  -0.0009
+X  -0.0060  -0.0023  -0.0019
+X  -0.0015   0.0069   0.0035
+X  -0.0097   0.1341   0.0065
+X   0.0161  -0.1364  -0.0072
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+201
+  0.0124  -0.0030  -0.0094
+X  -0.0208   0.0213   0.0286
+X   0.0208  -0.0213  -0.0286
+X  -0.0261   0.0137   0.0262
+X  -0.0000  -0.0000   0.0000
+X   0.0261  -0.0137  -0.0262
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
+X   0.0000   0.0000   0.0000
diff --git a/regtest/crystallization/rt-spherical-integral/plumed.dat b/regtest/crystallization/rt-spherical-integral/plumed.dat
new file mode 100644
index 000000000..128dd216b
--- /dev/null
+++ b/regtest/crystallization/rt-spherical-integral/plumed.dat
@@ -0,0 +1,8 @@
+b1: BOND_DIRECTION GROUP=1-5 SWITCH={RATIONAL D_0=2.0 R_0=0.5 D_MAX=5.0} 
+
+h: HISTOGRAM VECTORS=b1 CONCENTRATION=10 GRID_BIN=100
+
+iv: INTEGRATE_GRID GRID=h
+
+b: RESTRAINT ARG=iv AT=0.75 KAPPA=10.0
+PRINT ARG=iv,b.* FILE=colvar FMT=%8.4f
diff --git a/regtest/crystallization/rt-spherical-integral/trajectory.xyz b/regtest/crystallization/rt-spherical-integral/trajectory.xyz
new file mode 100644
index 000000000..13fdd1145
--- /dev/null
+++ b/regtest/crystallization/rt-spherical-integral/trajectory.xyz
@@ -0,0 +1,1015 @@
+201
+10 10 10
+Ar 5 5 5
+Ar 7.82637e-05 1.31538 7.55605
+Ar 2.18959 0.470446 6.78865
+Ar 3.83502 5.19416 8.30965
+Ar 5.297 6.71149 0.0769819
+Ar 4.17486 6.86773 5.88977
+Ar 5.26929 0.919649 6.53919
+Ar 9.10321 7.62198 2.62453
+Ar 3.28234 6.32639 7.5641
+Ar 2.47039 9.8255 7.2266
+Ar 0.726859 6.31635 8.84707
+Ar 7.66495 4.77732 2.37774
+Ar 1.66507 4.86517 8.97656
+Ar 9.04653 5.04523 5.16292
+Ar 4.93977 2.66145 0.907329
+Ar 5.00707 3.84142 2.77082
+Ar 4.64446 9.4098 0.50084
+Ar 8.27817 1.25365 0.158677
+Ar 6.29543 7.36225 7.25412
+Ar 2.33195 3.06322 3.51015
+Ar 8.45982 4.12081 8.41511
+Ar 5.37304 4.67917 2.87212
+Ar 5.71655 8.02406 0.330538
+Ar 9.55361 7.48293 5.54584
+Ar 8.4204 1.59768 2.12752
+Ar 0.909903 2.74588 0.029996
+Ar 7.0982 9.37897 2.39911
+Ar 8.86991 6.52059 1.50335
+Ar 3.87725 4.99741 1.47533
+Ar 5.90109 9.55409 5.56146
+Ar 4.08767 1.4182 5.64899
+Ar 4.64031 9.61095 1.26031
+Ar 6.29269 1.26712 6.51254
+Ar 2.47842 4.76432 3.89314
+Ar 9.01673 4.26497 1.42021
+Ar 1.31189 8.85648 0.921736
+Ar 3.65339 2.53057 1.35109
+Ar 3.49524 4.523 8.08945
+Ar 2.15248 6.79592 9.08922
+Ar 4.71262 5.05956 6.00394
+Ar 4.62245 9.51367 6.32739
+Ar 6.88981 7.02207 9.87145
+Ar 2.89316 5.37426 5.14435
+Ar 5.76717 8.76566 4.40039
+Ar 7.15642 8.0072 7.06535
+Ar 8.86031 5.24987 4.63323
+Ar 4.88943 6.67679 6.82049
+Ar 8.65883 8.90019 5.43948
+Ar 9.89362 2.15532 4.46023
+Ar 8.81504 4.39726 4.67532
+Ar 2.11519 9.99117 1.53604
+Ar 0.00595042 0.00879 7.73352
+Ar 4.17724 6.82494 6.80562
+Ar 7.08921 8.28708 0.945488
+Ar 6.29572 2.13852 2.13547
+Ar 9.5216 9.47545 3.89854
+Ar 2.84035 7.76866 7.83865
+Ar 1.93967 0.113162 1.91824
+Ar 8.19726 1.36455 3.98144
+Ar 8.28355 1.57731 9.87937
+Ar 1.01637 2.19411 6.34717
+Ar 6.96243 7.5294 6.69521
+Ar 5.98217 2.27008 3.18778
+Ar 7.62571 5.26123 5.53911
+Ar 7.02989 1.43045 1.61688
+Ar 8.13266 5.56836 7.38997
+Ar 5.28548 3.10739 5.88119
+Ar 2.58843 3.70226 3.93018
+Ar 3.87831 2.79293 0.782632
+Ar 6.71784 6.76237 5.13936
+Ar 9.44753 4.60697 9.40163
+Ar 5.17145 6.61355 4.01833
+Ar 1.50394 6.70098 3.43818
+Ar 8.29239 0.149506 2.7421
+Ar 9.17848 2.66613 9.70087
+Ar 6.94024 4.55752 8.17101
+Ar 7.0695 7.07826 4.36638
+Ar 9.91533 6.95679 2.79512
+Ar 0.0425392 4.95691 0.799169
+Ar 7.82992 7.46679 4.36426
+Ar 5.18478 0.668498 5.44023
+Ar 3.85769 6.26861 6.59053
+Ar 2.80289 8.15932 3.7191
+Ar 0.0934752 1.03797 5.2096
+Ar 0.552788 0.706349 1.60274
+Ar 0.506026 4.77804 4.57162
+Ar 1.50312 2.85942 8.33682
+Ar 6.81164 3.31175 0.574753
+Ar 0.0165742 8.56193 0.293555
+Ar 5.76173 7.38959 6.79332
+Ar 1.22507 9.73356 1.88276
+Ar 6.07611 1.25933 5.52862
+Ar 8.38102 9.74252 2.59014
+Ar 8.13048 8.97914 2.44586
+Ar 4.51851 2.6362 6.65503
+Ar 1.13676 5.46975 0.0607937
+Ar 4.31908 0.825065 6.87414
+Ar 1.23637 9.73346 0.296353
+Ar 7.69437 9.3403 2.50155
+Ar 4.99955 7.49252 6.71903
+Ar 0.363676 2.30572 2.21667
+Ar 6.1661 3.71466 2.24801
+Ar 1.65928 7.44104 1.59758
+Ar 1.24945 9.49157 4.8418
+Ar 0.179445 5.93546 7.21872
+Ar 4.41633 5.19175 7.71944
+Ar 9.7718 4.67741 3.29056
+Ar 2.05341 1.71379 3.7252
+Ar 2.54957 0.703352 1.23849
+Ar 5.17707 1.05185 8.41576
+Ar 3.27228 7.13547 5.76776
+Ar 8.36598 6.99791 3.8906
+Ar 3.62084 5.39505 4.55072
+Ar 0.830857 4.21579 4.7238
+Ar 2.16386 8.02019 5.27439
+Ar 2.4375 7.11564 2.63663
+Ar 4.59763 2.32867 7.95353
+Ar 2.66119 6.64689 4.25191
+Ar 1.34039 7.95856 9.46045
+Ar 0.638036 3.47492 2.92468
+Ar 8.34338 7.26443 3.29434
+Ar 0.453407 0.414204 1.53315
+Ar 5.19303 9.2915 2.20516
+Ar 6.99691 7.06461 4.94631
+Ar 3.78366 2.00645 2.32608
+Ar 8.61187 9.77238 4.44519
+Ar 0.316388 7.53174 5.91588
+Ar 2.32078 5.36528 4.30618
+Ar 9.6691 8.50531 8.67514
+Ar 9.97599 6.39523 4.68075
+Ar 8.15407 5.41535 5.72807
+Ar 8.21334 1.55414 0.410748
+Ar 0.965383 5.18773 0.22405
+Ar 5.16908 6.74525 7.37175
+Ar 1.91984 6.70991 3.45872
+Ar 9.21117 2.21656 3.80115
+Ar 0.263397 6.91126 7.62344
+Ar 5.89809 9.25503 9.29698
+Ar 8.31256 9.19236 6.01638
+Ar 4.90817 1.61419 9.76116
+Ar 5.31427 6.98558 6.67049
+Ar 6.10738 6.67965 4.95125
+Ar 4.41313 1.51217 5.02275
+Ar 0.516167 5.22063 3.20642
+Ar 1.07181 3.82969 5.51829
+Ar 9.35252 7.7203 5.13148
+Ar 6.96996 4.07538 4.8685
+Ar 5.34199 2.76647 6.05538
+Ar 5.3049 9.38254 2.35403
+Ar 7.83002 9.20252 6.81491
+Ar 2.3027 1.43684 8.99521
+Ar 0.0481561 9.35936 2.75353
+Ar 9.52431 5.0682 1.2295
+Ar 4.36491 1.07739 7.66175
+Ar 3.44576 2.97064 7.57621
+Ar 0.556062 5.73183 4.85286
+Ar 9.74348 8.64609 4.91841
+Ar 1.62204 1.5958 0.577229
+Ar 3.80608 8.83705 4.24134
+Ar 3.08327 0.601425 8.14416
+Ar 9.01218 7.70046 1.70796
+Ar 8.03268 5.22215 8.61622
+Ar 5.86862 3.89172 8.11895
+Ar 4.20038 5.79863 7.49145
+Ar 1.89549 7.43126 7.18919
+Ar 7.10114 8.7906 3.59379
+Ar 4.16796 0.964286 6.74693
+Ar 8.78192 7.6936 6.35205
+Ar 4.86471 1.13071 3.77485
+Ar 1.2174 0.768218 1.43302
+Ar 2.38019 3.90967 9.75881
+Ar 9.08691 3.624 8.59213
+Ar 0.73511 4.98631 4.83873
+Ar 7.40759 9.32843 3.00122
+Ar 0.80322 9.72476 4.08177
+Ar 8.33474 1.9808 1.29482
+Ar 5.75679 4.40268 5.85675
+Ar 3.82317 6.00133 4.29473
+Ar 9.95401 6.98066 4.0274
+Ar 7.93382 3.74249 0.0960789
+Ar 6.46495 6.44898 7.99035
+Ar 3.895 3.34307 6.93589
+Ar 6.66856 8.54365 3.14699
+Ar 0.055882 9.2083 3.81955
+Ar 2.64133 2.91 8.33648
+Ar 0.486975 4.58046 3.76817
+Ar 6.65973 0.115306 7.94881
+Ar 4.1556 3.20611 5.1459
+Ar 2.31895 4.65007 3.73359
+Ar 2.02449 5.66183 8.31524
+Ar 2.93043 1.81196 3.57526
+Ar 3.6904 4.63059 6.2783
+Ar 0.504816 4.4485 5.95927
+Ar 1.31023 1.04579 6.65308
+Ar 6.58594 9.82032 0.18916
+Ar 9.67723 5.23072 2.78796
+Ar 8.37082 8.34691 6.59888
+Ar 3.49529 5.34876 6.64147
+Ar 4.4237 9.17967 2.76668
+Ar 4.16007 8.36375 9.62535
+Ar 5.35956 8.18107 9.2989
+201
+10 10 10
+Ar 5 5 5
+Ar 9.41429 5.96723 1.26034
+Ar 1.96178 1.62958 8.35997
+Ar 8.38679 6.71648 3.91555
+Ar 1.15607 0.000402252 6.76065
+Ar 5.74346 0.322694 3.51393
+Ar 6.61425 5.7643 0.599598
+Ar 4.42624 1.7642 0.918009
+Ar 5.94159 0.330036 6.90932
+Ar 8.95724 4.34503 6.88594
+Ar 2.72443 9.4712 2.443
+Ar 1.27088 9.61436 8.57156
+Ar 7.82475 0.503933 9.60055
+Ar 1.37093 1.29043 8.24627
+Ar 5.05059 5.26454 1.18397
+Ar 2.77586 3.86707 3.91493
+Ar 1.23444 7.28307 6.48075
+Ar 0.225564 1.05562 1.87979
+Ar 7.19204 6.66364 5.80969
+Ar 2.92091 1.6911 2.23697
+Ar 8.8651 5.79362 3.41848
+Ar 8.34283 7.91982 8.49068
+Ar 1.69961 5.33532 0.731837
+Ar 1.22221 1.646 4.25107
+Ar 4.33928 0.330772 9.29321
+Ar 4.82049 7.9278 2.57524
+Ar 3.80628 2.08123 9.28528
+Ar 5.75853 3.56334 9.07848
+Ar 7.9114 6.98163 0.182512
+Ar 8.94964 6.54629 3.45891
+Ar 3.31292 0.177851 9.14368
+Ar 7.29983 8.31551 8.77797
+Ar 9.4207 3.62191 3.5206
+Ar 7.76393 8.44201 4.93295
+Ar 4.35375 3.52314 3.49157
+Ar 6.26152 7.4458 1.5754
+Ar 6.12058 8.54603 3.14608
+Ar 3.73662 1.33293 2.61863
+Ar 7.50525 0.709501 4.58914
+Ar 1.97518 6.83946 0.813265
+Ar 1.20177 8.09124 9.44193
+Ar 8.29722 1.41179 8.01168
+Ar 5.99194 6.55206 0.537268
+Ar 4.1358 0.318384 1.08049
+Ar 6.7108 8.34369 2.38217
+Ar 2.2254 2.27762 0.0157362
+Ar 9.33005 0.224617 5.13499
+Ar 7.93872 6.09468 3.31804
+Ar 6.4439 2.5912 0.260003
+Ar 6.42325 5.60325 3.76933
+Ar 1.37716 5.858 5.426
+Ar 0.815947 3.62593 1.00809
+Ar 9.13002 8.27927 9.70299
+Ar 8.39796 4.4872 6.42095
+Ar 4.68209 1.93634 4.01555
+Ar 3.78445 5.17596 2.27756
+Ar 1.36994 4.58481 6.89134
+Ar 7.39932 0.312551 3.03932
+Ar 2.74869 7.17761 4.08626
+Ar 5.77059 6.32939 7.98596
+Ar 3.46431 4.71857 4.92207
+Ar 8.57925 1.38002 3.99142
+Ar 0.561348 4.56879 7.65532
+Ar 10 9.99092 7.41617
+Ar 1.99 6.00734 5.42825
+Ar 5.75624 5.13759 7.47701
+Ar 7.9845 5.54778 1.46671
+Ar 2.463 5.71627 3.34365
+Ar 8.44641 8.76262 3.32073
+Ar 6.61891 4.02784 5.85027
+Ar 6.14501 9.2483 6.13926
+Ar 6.20714 3.43489 0.241668
+Ar 4.23845 5.68438 7.30373
+Ar 3.76277 0.866058 5.83115
+Ar 3.25262 6.85165 5.63984
+Ar 9.74538 0.602413 4.75344
+Ar 5.49515 6.98705 1.27237
+Ar 4.45107 9.17977 4.39511
+Ar 5.49302 1.24284 8.46325
+Ar 6.56273 9.73193 4.57616
+Ar 2.83333 9.72964 5.97956
+Ar 9.25623 9.49394 4.66668
+Ar 4.30824 8.66139 1.98631
+Ar 8.14225 6.72739 7.21585
+Ar 1.68483 6.88042 9.20936
+Ar 1.76306 1.78152 1.98052
+Ar 5.17482 3.23405 4.66967
+Ar 8.70438 4.45121 1.47775
+Ar 8.8235 6.60927 2.03913
+Ar 1.65414 1.09083 3.61192
+Ar 2.45494 0.238609 0.300402
+Ar 9.13224 5.47401 1.72576
+Ar 9.36609 5.83064 5.48907
+Ar 3.32312 1.72459 5.12964
+Ar 9.67038 0.0477785 3.0139
+Ar 8.43532 2.50356 7.33911
+Ar 7.08479 4.05874 5.263
+Ar 4.03688 7.8213 2.64789
+Ar 7.56626 6.20673 6.45346
+Ar 1.84355 4.55199 5.3318
+Ar 4.09058 0.311874 1.67285
+Ar 1.40259 3.3357 3.09118
+Ar 3.2215 3.79582 6.41376
+Ar 3.35103 0.782141 5.44029
+Ar 2.52718 4.3932 6.58614
+Ar 9.72696 1.0087 3.18377
+Ar 1.65406 9.85489 1.16442
+Ar 7.85281 2.2039 1.01461
+Ar 2.43011 2.82594 5.49228
+Ar 6.70468 5.5761 7.57833
+Ar 7.59697 2.3395 9.9829
+Ar 2.99503 7.45522 9.91835
+Ar 6.41665 4.63801 1.02468
+Ar 5.03358 9.30975 8.98036
+Ar 9.754 5.44049 8.30669
+Ar 9.75294 7.65209 8.69878
+Ar 3.75437 9.69667 1.93147
+Ar 8.96504 5.49478 0.847728
+Ar 7.08398 0.519357 8.83565
+Ar 2.69917 4.99773 6.87318
+Ar 6.89707 9.11773 1.71227
+Ar 4.81877 9.10853 7.03183
+Ar 9.02494 2.10064 5.48365
+Ar 8.06702 2.35834 6.58912
+Ar 4.52883 6.0687 6.67104
+Ar 3.77316 5.41796 9.697
+Ar 7.58699 4.53228 4.0675
+Ar 2.13819 6.61177 4.07049
+Ar 3.01463 6.88401 9.54292
+Ar 0.216561 9.7424 0.53752
+Ar 7.96038 0.115786 6.02006
+Ar 5.45015 0.730384 5.56517
+Ar 3.90933 4.08673 5.59109
+Ar 5.89636 0.111431 2.82762
+Ar 5.6569 5.54309 2.68586
+Ar 3.54305 8.0831 2.65734
+Ar 6.48154 5.29665 0.728548
+Ar 0.988572 4.93255 1.32815
+Ar 3.53126 9.93806 8.92149
+Ar 8.01629 9.82168 3.01218
+Ar 1.43244 5.06545 4.99835
+Ar 2.17063 1.72927 3.85219
+Ar 1.64685 8.56503 2.45427
+Ar 9.64197 2.50746 2.84081
+Ar 5.1529 4.86485 3.51869
+Ar 0.204031 9.15687 9.59515
+Ar 4.00523 5.8766 8.06355
+Ar 5.45435 1.30099 5.74699
+Ar 2.07209 5.63862 8.30683
+Ar 9.77984 9.84922 5.83705
+Ar 0.823947 8.0774 6.81656
+Ar 2.00402 1.63937 2.80788
+Ar 8.71827 7.892 0.907455
+Ar 7.6144 5.1707 3.91793
+Ar 5.96703 7.8021 9.86729
+Ar 7.77039 6.86431 8.41948
+Ar 3.96655 5.85257 4.20051
+Ar 6.90773 8.13622 5.50919
+Ar 4.7432 8.98639 4.29241
+Ar 0.000391542 6.58065 0.918404
+Ar 6.67623 7.45264 6.52465
+Ar 7.82769 0.0518158 0.868126
+Ar 2.14659 7.81356 2.53661
+Ar 2.95857 4.7319 9.09973
+Ar 2.50655 7.52406 6.8391
+Ar 2.08753 5.0639 8.97771
+Ar 9.73102 9.18436 1.48704
+Ar 7.71451 7.70618 7.75716
+Ar 6.36321 6.47096 7.42002
+Ar 7.80221 1.80408 1.19997
+Ar 0.77255 4.24933 8.41116
+Ar 4.30353 9.45963 7.98559
+Ar 8.28705 0.416034 2.28601
+Ar 0.434911 9.54651 8.24232
+Ar 7.50104 9.98299 4.17458
+Ar 1.08905 3.62057 0.968765
+Ar 8.23579 8.99207 9.65837
+Ar 8.17441 7.24963 4.58524
+Ar 6.0336 6.67519 9.8743
+Ar 6.25461 1.30178 8.96096
+Ar 2.36833 4.5146 6.80744
+Ar 7.0385 5.9878 6.90966
+Ar 2.02964 2.16739 7.32599
+Ar 7.1546 7.40477 1.95229
+Ar 8.3916 7.60827 2.18624
+Ar 6.76851 8.35845 0.504922
+Ar 4.57732 1.09521 7.25235
+Ar 5.38175 1.02257 6.40354
+Ar 2.42478 3.299 6.31842
+Ar 7.68851 0.789411 7.62721
+Ar 4.7033 8.3848 3.38452
+Ar 7.86713 2.78563 8.15297
+Ar 8.70376 4.12815 1.81981
+Ar 3.50968 7.25291 9.7199
+Ar 2.37746 8.0156 8.223
+Ar 6.0237 0.386598 7.55131
+Ar 3.55253 7.29884 1.65043
+Ar 6.77584 1.50371 2.87851
+Ar 5.91714 9.44596 8.29331
+Ar 0.303791 5.82117 6.41647
+Ar 3.07525 5.74306 3.68609
+201
+10 10 10
+Ar 5 5 5
+Ar 7.5695 0.652273 2.75348
+Ar 3.02871 3.54434 9.67253
+Ar 3.46591 1.54431 5.16009
+Ar 6.88987 8.07667 4.58841
+Ar 3.2784 0.124615 4.40638
+Ar 5.63489 5.6706 5.75652
+Ar 1.11175 5.10826 4.44486
+Ar 5.85182 1.48493 7.25622
+Ar 5.87793 0.32957 9.08952
+Ar 4.09143 4.6321 1.62533
+Ar 6.92757 1.71729 2.50726
+Ar 8.20092 2.88709 3.32639
+Ar 4.24314 4.41389 4.31431
+Ar 6.44286 5.18011 2.08885
+Ar 5.1332 3.6702 5.02298
+Ar 8.13234 0.291272 5.40555
+Ar 6.32031 5.49682 5.10782
+Ar 7.20948 9.75647 7.05298
+Ar 6.30165 1.84357 4.88743
+Ar 7.00235 8.49437 4.9026
+Ar 4.49827 2.34011 0.23474
+Ar 3.38934 4.58718 6.74611
+Ar 3.57162 8.20933 4.23101
+Ar 1.38688 9.24011 8.56061
+Ar 9.74908 2.75584 7.35949
+Ar 7.82175 0.123637 7.97382
+Ar 5.4719 6.26824 0.290541
+Ar 3.20619 6.51622 8.14288
+Ar 6.86567 1.29753 7.54228
+Ar 1.04098 5.69399 8.83811
+Ar 2.40964 8.78211 0.88676
+Ar 8.03795 3.89757 6.47873
+Ar 9.80936 5.91894 9.61583
+Ar 2.50697 4.72729 1.58855
+Ar 0.397496 0.719813 7.90158
+Ar 2.37858 6.82644 1.92756
+Ar 2.73417 3.17012 0.227274
+Ar 6.62178 2.21213 9.28902
+Ar 2.8849 6.5124 3.84612
+Ar 2.57187 5.33529 0.242924
+Ar 9.34847 9.67667 5.8707
+Ar 8.69281 0.0655631 1.91843
+Ar 5.10074 8.17946 2.20417
+Ar 1.83057 6.44666 8.93645
+Ar 1.3907 3.51769 1.83774
+Ar 0.431582 3.60519 2.44023
+Ar 3.84147 3.51096 8.6668
+Ar 3.20744 7.47109 6.6245
+Ar 5.16082 7.95015 8.09086
+Ar 3.22907 1.0014 0.591831
+Ar 4.33362 5.15876 3.22814
+Ar 6.12364 0.0696027 9.81289
+Ar 6.27369 1.91306 2.85189
+Ar 9.28788 1.4413 3.97386
+Ar 7.56102 8.01325 8.68794
+Ar 5.70929 6.03147 0.842391
+Ar 4.17251 7.44114 3.23595
+Ar 5.06807 8.98505 1.75787
+Ar 4.08904 4.54629 9.54362
+Ar 1.74194 6.85043 5.15791
+Ar 4.00413 7.43142 9.80445
+Ar 9.62922 8.29065 0.995498
+Ar 7.85494 7.94239 7.80114
+Ar 1.39837 2.43357 0.968659
+Ar 7.03856 7.1328 0.88807
+Ar 5.87647 5.89635 9.95334
+Ar 2.72528 3.75871 2.56752
+Ar 9.82881 2.74655 1.34113
+Ar 5.78786 6.55652 5.35274
+Ar 8.79341 0.775374 1.71586
+Ar 9.56571 0.960075 5.97675
+Ar 1.2045 3.96628 1.34091
+Ar 6.73604 2.57837 4.73408
+Ar 1.87079 2.32948 1.54378
+Ar 4.85577 0.971637 0.310194
+Ar 9.17023 4.13157 9.31294
+Ar 4.0708 8.00032 1.4194
+Ar 8.11845 6.80462 5.16441
+Ar 5.51341 3.83457 7.54757
+Ar 5.59622 5.72303 7.01768
+Ar 7.70103 1.17474 3.83296
+Ar 0.47252 1.648 7.93975
+Ar 8.41865 2.23189 1.30036
+Ar 2.99237 2.84531 1.10282
+Ar 9.80176 8.2239 9.06449
+Ar 2.26136 6.64316 1.63039
+Ar 1.10733 0.823489 0.374919
+Ar 2.3412 8.47198 8.57696
+Ar 4.78682 2.01087 6.6524
+Ar 7.63624 2.27704 0.131423
+Ar 7.14594 1.84213 0.630616
+Ar 0.54297 5.70175 9.36927
+Ar 3.59691 3.21922 5.40083
+Ar 1.62713 7.19937 9.85789
+Ar 6.60614 9.38363 0.726351
+Ar 4.42821 4.96468 1.31522
+Ar 3.82243 3.66313 6.2871
+Ar 7.7319 0.0130101 8.66038
+Ar 3.9303 6.55235 5.37968
+Ar 4.73192 9.39119 7.69784
+Ar 7.77598 0.879195 6.62258
+Ar 3.02735 0.595074 1.41636
+Ar 0.095646 7.52224 6.23197
+Ar 6.9111 4.93485 9.96059
+Ar 7.72596 0.247698 3.06745
+Ar 4.14182 1.5477 2.13207
+Ar 5.93871 1.85374 5.79569
+Ar 4.67173 7.71369 3.94445
+Ar 2.96776 9.10829 3.0169
+Ar 1.50726 2.50785 9.42107
+Ar 9.01082 4.90272 0.0233687
+Ar 9.03613 0.249924 0.471862
+Ar 1.54432 5.35012 9.3921
+Ar 3.66519 0.917451 9.6046
+Ar 4.46813 5.83682 9.48445
+Ar 3.7191 6.87722 5.38491
+Ar 8.03778 1.00432 9.58921
+Ar 6.41703 1.08694 8.16211
+Ar 5.2372 1.67929 3.74412
+Ar 6.70025 1.15234 7.39727
+Ar 2.14022 0.611399 5.79126
+Ar 1.75809 8.13962 2.64646
+Ar 0.482823 4.80752 9.91771
+Ar 8.13381 4.88368 0.0203477
+Ar 4.17207 6.26594e-05 1.05312
+Ar 5.96175 9.15947 3.14811
+Ar 6.12437 2.27608 4.03955
+Ar 2.02319 3.79761 6.45802
+Ar 2.40997 4.29148 6.91272
+Ar 9.53473 0.216787 3.53631
+Ar 6.87346 2.20639 2.77095
+Ar 6.82496 7.17839 7.19747
+Ar 3.9906 9.97153 1.55245
+Ar 1.56116 8.33942 0.61241
+Ar 5.85313 3.51874 9.53731
+Ar 1.46443 2.69562 5.20889
+Ar 3.04216 9.53591 0.120105
+Ar 9.07256 2.56259 9.50273
+Ar 1.15747 3.67556 5.14668
+Ar 3.27499 2.8093 5.83021
+Ar 9.35912 8.72381 1.09592
+Ar 8.54533 1.33405 1.36231
+Ar 7.0522 6.27707 8.70284
+Ar 6.10937 0.243665 5.27873
+Ar 9.33215 5.49947 9.62295
+Ar 5.77584 4.56012 1.87135
+Ar 5.57062 5.48482 3.34386
+Ar 7.63549 9.72064 4.85026
+Ar 1.37325 0.292358 3.6597
+Ar 7.30151 6.47369 3.32442
+Ar 1.35349 8.12004 3.4635
+Ar 1.94652 5.22653 2.32136
+Ar 1.83201 0.660737 5.01457
+Ar 5.2742 3.53386 3.64629
+Ar 6.12926 4.51776 9.94794
+Ar 9.32875 8.23612 4.45769
+Ar 7.07452 1.50233 9.587
+Ar 9.36504 8.16441 9.18602
+Ar 3.82113 1.72206 2.72879
+Ar 5.43716 2.31332 0.0197179
+Ar 1.09039 6.14815 1.96891
+Ar 6.10731 5.49318 3.82257
+Ar 6.89994 7.29952 3.05893
+Ar 1.07314 6.30569 9.68442
+Ar 6.28793 1.28038 9.27167
+Ar 6.06931 6.84658 0.388291
+Ar 8.06936 1.6727 2.99106
+Ar 4.84787 8.12857 6.83257
+Ar 5.29119 9.07386 4.34714
+Ar 2.48754 8.10747 2.19152
+Ar 2.08676 2.25699 3.17195
+Ar 0.0790594 8.75103 8.61796
+Ar 4.95345 2.57662 5.19423
+Ar 2.81286 5.66859 1.9909
+Ar 8.50158 6.1052 0.0689164
+Ar 0.19626 8.53626 8.90322
+Ar 0.0385946 8.65903 2.35741
+Ar 8.61275 4.49308 5.18629
+Ar 7.54091 0.0548941 2.60497
+Ar 5.53569 8.25785 9.75457
+Ar 6.19307 6.89595 0.263147
+Ar 4.20896 9.93945 2.34315
+Ar 1.92009 1.0224 3.41074
+Ar 4.61433 3.10742 6.32557
+Ar 4.74292 4.226 6.43278
+Ar 4.32824 4.65556 6.03059
+Ar 9.72228 2.31401 1.51634
+Ar 9.78818 9.90922 4.25526
+Ar 5.35562 1.9696 3.03432
+Ar 1.94742 0.302937 1.45493
+Ar 3.32748 4.87891 9.88146
+Ar 0.281228 6.59586 6.56879
+Ar 2.48455 7.78219 5.27545
+Ar 1.54141 6.51788 5.93987
+Ar 9.12572 6.02232 7.07396
+Ar 4.87855 3.79943 7.00175
+Ar 2.52032 9.00591 2.36043
+Ar 9.2389 8.14099 5.58907
+Ar 0.41205 5.32563 7.82447
+Ar 1.5827 0.373486 7.18541
+201
+10 10 10
+Ar 5 5 5
+Ar 0.585477 0.110114 0.684869
+Ar 9.77116 3.83664 2.40794
+Ar 4.18684 8.20726 9.4046
+Ar 3.33783 8.9657 6.45655
+Ar 2.25867 1.53205 9.13491
+Ar 6.07855 2.26309 5.67751
+Ar 1.83592 6.33235 7.80252
+Ar 2.45704 5.39349 8.31407
+Ar 9.6476 7.29512 9.0851
+Ar 9.65072 9.63741 5.91994
+Ar 4.9685 5.53802 7.4905
+Ar 4.97498 4.42215 3.02191
+Ar 3.18246 7.53316 9.83366
+Ar 0.0564456 8.68118 4.52756
+Ar 3.45015 6.72995 0.199055
+Ar 4.07436 7.82501 4.95659
+Ar 5.55356 8.63532 3.74031
+Ar 8.66305 9.87988 1.10149
+Ar 5.79989 8.70389 6.19807
+Ar 9.0962 9.78863 7.57851
+Ar 1.7219 9.95458 6.64506
+Ar 2.31068 5.55694 5.49373
+Ar 5.55733 1.9875 3.98937
+Ar 4.9474 0.995039 3.62681
+Ar 3.73159 6.80556 1.09921
+Ar 5.52801 9.24063 7.2093
+Ar 0.250363 7.84688 2.58753
+Ar 7.90095 1.20215 4.6146
+Ar 0.0740833 5.11728 6.08319
+Ar 4.33937 1.86764 9.36867
+Ar 4.3229 4.94322 0.726531
+Ar 9.45025 0.38419 7.07826
+Ar 4.0198 0.790307 2.68303
+Ar 3.72159 8.70243 1.74004
+Ar 0.741926 9.55034 2.6045
+Ar 6.10995 9.87933 1.97273
+Ar 1.69951 3.6705 0.0135434
+Ar 0.975465 4.64788 6.92031
+Ar 6.46646 1.76885 9.04255
+Ar 2.46148 0.102676 5.67826
+Ar 5.12551 4.46475 8.9939
+Ar 9.13758 5.27377 6.30692
+Ar 0.648155 3.53456 5.41551
+Ar 9.61115 4.56171 8.58274
+Ar 8.47088 0.0661062 1.0468
+Ar 6.26861 6.57449 7.44073
+Ar 5.98648 4.85276 0.419553
+Ar 4.91754 9.03034 2.95524
+Ar 1.11 5.71734 1.3814
+Ar 7.75146 8.72537 7.31582
+Ar 8.2173 8.13283 8.42835
+Ar 5.87103 4.41705 7.36285
+Ar 9.59406 7.41339 6.86644
+Ar 8.44531 0.363607 1.13458
+Ar 4.12048 2.8767 8.66202
+Ar 6.61595 4.21433 0.190167
+Ar 3.24932 1.25038 5.15464
+Ar 4.82227 7.90702 3.33424
+Ar 0.0198728 4.00283 5.56947
+Ar 4.28414 3.61125 4.26834
+Ar 4.84291 4.7602 4.7442
+Ar 0.814141 3.27089 3.80451
+Ar 9.43368 1.93755 4.33632
+Ar 5.91948 8.66953 8.8569
+Ar 0.522875 7.95447 0.860441
+Ar 2.1557 0.774862 3.10631
+Ar 2.31509 9.70521 5.54465
+Ar 7.60733 6.35225 2.21052
+Ar 4.99441 1.03751 7.4424
+Ar 7.81586 1.18925 7.74786
+Ar 9.58102 8.1604 1.76983
+Ar 0.757743 5.39434 2.67695
+Ar 9.78321 6.40155 0.794262
+Ar 7.62175 8.69311 5.09753
+Ar 1.36002 7.79604 7.98831
+Ar 5.54308 2.62802 9.10738
+Ar 0.933215 4.54895 4.257
+Ar 7.91614 6.64819 6.21247
+Ar 9.85106 6.84372 2.36851
+Ar 5.97392 3.70014 8.24905
+Ar 6.64836 9.00852 6.14584
+Ar 3.26696 7.72741 4.6529
+Ar 2.08414 8.20126 8.5472
+Ar 8.71225 6.83691 7.88704
+Ar 7.78519 5.69214 7.71757
+Ar 9.78456 9.12228 8.14702
+Ar 4.18868 9.10694 0.322859
+Ar 8.30622 2.6772 5.65806
+Ar 0.0157827 5.25929 2.88429
+Ar 0.632955 8.0814 4.11825
+Ar 5.01598 3.58241 9.48683
+Ar 6.2658 9.24671 9.49752
+Ar 5.29306 0.482018 1.27549
+Ar 1.34334 7.5973 7.88174
+Ar 6.84132 2.1142 3.40302
+Ar 8.03589 9.19091 1.63418
+Ar 0.873677 3.89043 6.50166
+Ar 2.08449 4.0845 8.1333
+Ar 0.499961 2.83645 2.26594
+Ar 5.12893 1.87383 3.39278
+Ar 7.96486 5.35161 4.56202
+Ar 0.835465 1.66366 1.1062
+Ar 8.88116 5.57788 7.50574
+Ar 9.00944 1.63399 2.39468
+Ar 8.10724 8.31387 1.1825
+Ar 7.40154 7.65349 2.18798
+Ar 5.80881 8.67864 1.94781
+Ar 4.47492 9.93644 1.79788
+Ar 8.01359 4.39 2.7289
+Ar 4.25763 7.93677 3.35346
+Ar 6.64434 1.34455 7.78315
+Ar 9.5285 5.42773 3.83717
+Ar 3.79528 7.30003 1.58419
+Ar 8.66185 9.6574 1.92608
+Ar 3.86281 2.25192 8.08468
+Ar 5.4693 2.60563 2.80889
+Ar 2.73772 2.92202 0.463033
+Ar 9.32158 7.7224 0.34999
+Ar 3.39061 5.98839 6.82779
+Ar 5.58232 2.10435 7.73404
+Ar 9.11083 5.67101 2.63003
+Ar 0.590107 7.93451 5.35025
+Ar 7.92024 5.52079 7.95577
+Ar 8.834 3.01055 8.28432
+Ar 8.8867 8.8272 8.6824
+Ar 2.77907 7.78888 7.70617
+Ar 9.63608 3.52666 2.59576
+Ar 9.9523 8.32903 6.02341
+Ar 5.02671 3.86767 3.99013
+Ar 9.89527 9.85848 1.39968
+Ar 5.66065 8.60828 9.44422
+Ar 3.25281 9.9649 0.0565812
+Ar 9.22475 0.377142 8.63133
+Ar 6.98223 0.27845 9.91102
+Ar 0.954877 8.61968 0.9086
+Ar 4.66669 2.98862 9.7805
+Ar 3.2901 6.73037 7.29006
+Ar 9.43989 6.2528 0.73777
+Ar 5.2691 7.78675 1.9626
+Ar 2.37807 8.25969 0.664659
+Ar 5.7161 0.444766 5.19037
+Ar 1.77788 0.838111 6.12816
+Ar 3.77918 6.68077 3.73031
+Ar 7.05868 5.18765 8.83197
+Ar 5.07012 3.43673 1.10128
+Ar 5.46813 2.88451 9.94419
+Ar 9.86988 2.99554 6.02776
+Ar 2.1216 7.68248 9.39316
+Ar 9.15878 1.55022 4.47531
+Ar 4.50696 8.42133 7.25026
+Ar 2.39512 4.72938 6.73935
+Ar 9.49451 4.19622 5.86391
+Ar 6.70501 1.07076 6.31325
+Ar 7.49134 7.01545 8.59661
+Ar 2.83648 2.75877 6.57069
+Ar 0.226766 1.25274 4.87276
+Ar 2.96327 3.68784 1.49853
+Ar 8.14282 6.32737 4.09754
+Ar 4.63358 6.59755 5.0765
+Ar 4.76308 3.09981 8.49083
+Ar 2.2856 4.0852 9.92717
+Ar 8.72976 1.0972 0.622184
+Ar 4.05474 7.98644 8.01343
+Ar 6.0611 8.82793 0.971363
+Ar 5.21621 8.90506 7.42054
+Ar 0.85252 8.31187 7.55784
+Ar 5.08025 3.78838 1.26698
+Ar 4.28152 9.54903 0.467227
+Ar 1.27929 1.10995 4.96625
+Ar 7.85078 8.07968 5.21226
+Ar 2.03223 5.74007 3.43845
+Ar 6.12752 5.15792 9.0895
+Ar 6.31432 4.74453 1.28442
+Ar 0.14469 1.80883 1.00882
+Ar 3.38733 0.859129 9.3866
+Ar 1.8513 4.83748 3.57565
+Ar 4.9641 1.69709 2.92853
+Ar 4.69439 8.58465 2.24284
+Ar 8.52547 7.61727 3.499
+Ar 5.41058 5.62408 3.91523
+Ar 4.29181 2.48439 5.20293
+Ar 2.54077 2.77065 6.32843
+Ar 9.42594 1.73494 9.07766
+Ar 7.05099 6.06211 5.80371
+Ar 5.62884 3.99252 2.32817
+Ar 3.01044 6.47846 3.49305
+Ar 8.11484 6.03974 9.99273
+Ar 6.75007 8.43681 7.50192
+Ar 7.78899 9.57315 5.97498
+Ar 5.15115 5.30966 9.47706
+Ar 9.31936 0.443993 2.18826
+Ar 7.14071 3.97125 4.85273
+Ar 5.07424 2.67889 4.05894
+Ar 1.72002 8.30412 7.30678
+Ar 8.9812 7.09069 3.30219
+Ar 2.71071 8.90597 2.62741
+Ar 1.81835 1.03718 1.82565
+Ar 8.37568 0.125978 7.30861
+Ar 8.92944 7.10977 3.83388
+Ar 9.39118 7.58272 2.7392
+201
+10 10 10
+Ar 5 5 5
+Ar 3.87313 5.73295 3.63497
+Ar 1.26258 0.100799 4.12172
+Ar 1.10159 4.34212 8.03789
+Ar 1.68553 8.74191 5.25031
+Ar 3.13274 1.94513 1.85997
+Ar 7.03405 1.31265 1.73485
+Ar 4.08922 7.47022 2.06127
+Ar 3.58184 0.00244104 1.02653
+Ar 5.27005 3.80757 3.76106
+Ar 2.89607 4.28288 2.40539
+Ar 0.114875 0.702451 6.08648
+Ar 9.34867 3.02487 9.05185
+Ar 1.84465 2.99507 8.0757
+Ar 6.06855 4.20323 3.7223
+Ar 3.25266 7.48637 3.35445
+Ar 7.16833 8.19242 0.0718171
+Ar 9.08901 9.00553 5.94015
+Ar 0.189675 7.86545 4.61016
+Ar 6.39849 9.35537 5.73023
+Ar 0.697546 3.65579 2.9288
+Ar 9.39054 6.74899 0.240582
+Ar 5.49707 9.28968 1.65453
+Ar 3.27444 3.51501 6.81452
+Ar 6.29866 1.5525 2.79149
+Ar 4.64982 9.60691 3.2555
+Ar 8.15288 5.51547 8.54029
+Ar 6.94179 0.599838 1.47644
+Ar 5.37966 5.96036 5.79728
+Ar 9.8735 3.95466 5.96734
+Ar 4.16777 7.64724 7.08618
+Ar 6.04369 6.22166 7.43236
+Ar 3.97462 1.4452 9.53387
+Ar 2.57261 7.93528 8.18957
+Ar 2.63467 0.829112 4.88013
+Ar 8.1737 5.4002 1.11248
+Ar 5.12547 3.70872 2.44357
+Ar 3.82244 3.81637 1.79699
+Ar 9.31441 7.23388 9.79397
+Ar 5.2172 5.52303 5.55224
+Ar 1.51073 0.920974 8.80278
+Ar 6.54699 5.25457 3.63229
+Ar 0.975062 7.86054 2.08892
+Ar 9.40749 1.6041 0.0695826
+Ar 9.3944 1.76099 7.02375
+Ar 1.05714 7.26908 1.40206
+Ar 0.875512 4.73728 9.53985
+Ar 0.87403 9.82149 9.78365
+Ar 9.08002 7.92467 9.95481
+Ar 8.81729 2.21584 1.57518
+Ar 9.95981 4.57134 0.530516
+Ar 3.01772 8.74764 1.52663
+Ar 1.4901 4.09918 4.85936
+Ar 2.14934 4.01285 4.04616
+Ar 3.94403 7.37757 4.88059
+Ar 2.71207 1.79254 7.2659
+Ar 7.72304 1.19616 3.9264
+Ar 1.46436 1.41616 1.41128
+Ar 6.25419 4.08813 9.26625
+Ar 5.47793 7.64297 5.31423
+Ar 1.24938 8.28795 5.64537
+Ar 5.906 2.20219 2.22719
+Ar 7.99586 6.40725 6.67558
+Ar 7.90695 2.08468 7.22678
+Ar 2.38571 6.54578 4.94976
+Ar 0.543483 4.32665 7.95794
+Ar 9.07555 2.81133 9.97924
+Ar 1.23925 7.99383 2.2824
+Ar 2.93181 4.88769 7.48209
+Ar 6.57922 7.03311 5.44743
+Ar 5.12078 4.9839 4.35566
+Ar 0.802694 0.877835 3.76606
+Ar 8.24957 0.516574 2.06065
+Ar 8.90722 3.65429 7.58976
+Ar 0.790915 2.90278 7.03097
+Ar 1.48872 0.835137 6.15335
+Ar 0.880791 3.45231 2.98357
+Ar 0.616992 9.78219 9.32629
+Ar 6.93267 7.37385 2.29875
+Ar 7.83518 5.78737 8.30345
+Ar 3.45898 5.08621 3.93421
+Ar 3.18839 7.21309 0.34932
+Ar 7.35437 4.84111 4.51841
+Ar 4.74387 0.259729 5.26859
+Ar 3.91218 1.96141 5.39494
+Ar 6.36433 5.35012 9.44947
+Ar 5.57066 6.1013 4.57543
+Ar 3.71078 7.13575 0.554679
+Ar 7.13267 8.751 8.08733
+Ar 8.4745 0.95792 9.7614
+Ar 6.51654 3.49025 0.550051
+Ar 4.51249 1.40634 6.39581
+Ar 4.61514 6.63256 3.35415
+Ar 6.44425 8.54386 6.58629
+Ar 3.85636 3.77078 5.43398
+Ar 9.44688 3.70312 8.32443
+Ar 3.20095 8.29598 0.518127
+Ar 8.66746 3.93658 2.16028
+Ar 4.47321 1.24615 3.99721
+Ar 3.23632 2.8568 4.22255
+Ar 0.305042 6.84601 0.845912
+Ar 4.30951 9.89081 4.81353
+Ar 5.91209 4.46826 8.08957
+Ar 2.89971 5.44071 2.08941
+Ar 9.1212 0.0409497 8.2423
+Ar 8.0862 4.81407 9.99059
+Ar 8.70323 5.10685 0.842173
+Ar 3.37046 7.37802 2.33168
+Ar 0.57017 2.84092 7.35925
+Ar 1.86622 5.56774 7.07927
+Ar 5.84218 9.5658 2.48035
+Ar 7.12449 1.24036 6.78823
+Ar 7.54274 0.831074 7.85693
+Ar 3.43707 6.7934 6.59203
+Ar 4.49628 8.96041 7.62218
+Ar 5.13876 7.08872 0.0466171
+Ar 0.329645 0.343775 7.82165
+Ar 5.90956 2.02453 6.30304
+Ar 5.60079 2.5502 1.13809
+Ar 0.648723 3.07937 4.9558
+Ar 6.55088 0.616576 2.78534
+Ar 1.88598 7.69475 5.67168
+Ar 6.47486 3.03928 1.09507
+Ar 4.7741 8.22263 7.81637
+Ar 4.67219 5.55962 0.577062
+Ar 2.12326 5.69258 5.24466
+Ar 1.13544 3.34053 4.33406
+Ar 4.29996 9.34654 7.28091
+Ar 8.37924 9.93932 0.116003
+Ar 3.85205 1.44965 4.19509
+Ar 7.23612 7.55002 3.13938
+Ar 6.55743 0.648518 9.64876
+Ar 5.7365 3.36003 2.04684
+Ar 5.40897 8.60198 3.3941
+Ar 8.8512 2.10176 4.25653
+Ar 8.37896 5.1477 7.42059
+Ar 2.43862 5.87741 1.59926
+Ar 0.857514 2.23809 5.65975
+Ar 5.20599 7.00215 5.14985
+Ar 2.245 1.74703 2.32142
+Ar 8.19193 1.72719 8.80939
+Ar 1.92166 7.2765 6.12871
+Ar 9.60594 7.0251 0.783787
+Ar 7.49085 8.79009 5.01202
+Ar 5.12531 1.03312 3.61994
+Ar 6.68699 8.23934 8.65404
+Ar 5.85407 9.37865 6.91885
+Ar 8.28803 6.91793 9.71231
+Ar 0.154994 4.99089 1.81561
+Ar 7.47213 4.11338 3.59508
+Ar 4.94654 6.47822 9.44509
+Ar 5.0936 8.16921 9.92238
+Ar 1.06304 6.57717 2.5574
+Ar 6.40198 8.14627 4.44098
+Ar 4.90826 3.16757 7.38135
+Ar 8.95555 6.00488 4.08592
+Ar 3.95336 4.17199 8.71278
+Ar 5.47846 6.40654 4.7525
+Ar 7.36347 7.83685 3.85437
+Ar 8.27623 8.65346 8.70981
+Ar 1.6617 8.19874 6.1984
+Ar 4.50241 2.00458 0.971449
+Ar 7.76135 5.04448 2.63619
+Ar 8.71161 6.07659 9.21288
+Ar 6.76582 3.08604 7.01563
+Ar 9.21579 9.78598 2.96539
+Ar 0.855888 4.90513 0.457679
+Ar 8.2507 9.56063 5.59129
+Ar 2.08136 1.42156 2.19529
+Ar 7.70847 6.17798 3.27745
+Ar 0.754502 0.909584 7.37261
+Ar 9.43419 0.423678 0.760008
+Ar 5.435 6.11527 9.33427
+Ar 8.02994 9.2571 4.03267
+Ar 0.606574 4.6945 0.383465
+Ar 9.35323 9.74732 3.19666
+Ar 6.36671 5.22578 9.74157
+Ar 5.95597 1.91401 8.77683
+Ar 1.40332 5.56064 7.74702
+Ar 6.30169 2.42405 1.04518
+Ar 2.34835 8.69722 4.20179
+Ar 0.670357 6.6892 5.34706
+Ar 8.63881 2.45052 5.89593
+Ar 1.26038 3.14406 2.16308
+Ar 1.58515 1.54755 9.59656
+Ar 7.05547 1.25183 9.5881
+Ar 3.01513 5.25619 0.776404
+Ar 2.64111 9.14238 6.04527
+Ar 6.33888 7.62816 6.48992
+Ar 5.49963 2.2152 0.907294
+Ar 7.72449 5.53304 3.83241
+Ar 4.46581 6.90197 1.34986
+Ar 7.2834 2.1483 6.41683
+Ar 9.77827 3.36416 1.43895
+Ar 3.87117 2.67413 4.07172
+Ar 6.46873 9.92897 6.25149
+Ar 0.268344 0.0617421 7.69979
+Ar 8.13526 9.23425 0.117487
+Ar 9.51619 8.66444 3.31978
+Ar 2.70354 8.34826 9.27735
+Ar 3.98257 4.97261 4.6757
diff --git a/src/analysis/Histogram.cpp b/src/analysis/Histogram.cpp
index 53c09e374..8a6f6067e 100644
--- a/src/analysis/Histogram.cpp
+++ b/src/analysis/Histogram.cpp
@@ -161,7 +161,7 @@ DUMPGRID GRID=hh FILE=histo STRIDE=100000
 class Histogram : public gridtools::ActionWithGrid { 
 private:
   double ww;
-  bool in_apply;
+  bool in_apply, mvectors;
   KernelFunctions* kernel;
   std::vector<double> forcesToApply, finalForces;
   std::vector<vesselbase::ActionWithVessel*> myvessels;
@@ -186,6 +186,7 @@ PLUMED_REGISTER_ACTION(Histogram,"HISTOGRAM")
 void Histogram::registerKeywords( Keywords& keys ){
   gridtools::ActionWithGrid::registerKeywords( keys ); keys.use("ARG");
   keys.add("optional","DATA","input data from action with vessel and compute histogram");
+  keys.add("optional","VECTORS","input three dimsnional vectors for computing histogram");
   keys.add("compulsory","GRID_MIN","the lower bounds for the grid");
   keys.add("compulsory","GRID_MAX","the upper bounds for the grid");
   keys.add("optional","GRID_BIN","the number of bins for the grid");
@@ -198,46 +199,58 @@ Action(ao),
 ActionWithGrid(ao),
 ww(0.0),
 in_apply(false),
+mvectors(false),
 kernel(NULL)
 {
   // Read in arguments 
-  std::vector<std::string> mlab; parseVector("DATA",mlab);
-  if( mlab.size()>0 ){
-     for(unsigned i=0;i<mlab.size();++i){
-         ActionWithVessel* myv = plumed.getActionSet().selectWithLabel<ActionWithVessel*>( mlab[i] );
-         if( !myv ) error("action labelled " + mlab[i] + " does not exist or is not an ActionWithVessel");
-         myvessels.push_back( myv ); stashes.push_back( myv->buildDataStashes( NULL ) );
-         // log.printf("  for all base quantities calculated by %s \n",myvessel->getLabel().c_str() );
-         // Add the dependency
-         addDependency( myv );
-     }
-     unsigned nvals = myvessels[0]->getFullNumberOfTasks();
-     for(unsigned i=1;i<mlab.size();++i){
-         if( nvals!=myvessels[i]->getFullNumberOfTasks() ) error("mismatched number of quantities calculated by actions input to histogram");
-     }
-     log.printf("  for all base quantities calculated by %s ", myvessels[0]->getLabel().c_str() );
-     for(unsigned i=1;i<mlab.size();++i) log.printf(", %s \n", myvessels[i]->getLabel().c_str() );
-     log.printf("\n");
+  std::string vlab; parse("VECTORS",vlab);
+  if( vlab.length()>0 ){
+     ActionWithVessel* myv = plumed.getActionSet().selectWithLabel<ActionWithVessel*>( vlab );
+     if( !myv ) error("action labelled " + vlab + " does not exist or is not an ActionWithVessel");
+     myvessels.push_back( myv ); stashes.push_back( myv->buildDataStashes( NULL ) );
+     addDependency( myv ); mvectors=true;
+     if( myv->getNumberOfQuantities()!=5 ) error("can only compute histograms for three dimensional vectors");
+     log.printf("  for vector quantities calculated by %s \n", vlab.c_str() );
   } else {
-     std::vector<Value*> arg; parseArgumentList("ARG",arg);
-     if(!arg.empty()){
-        log.printf("  with arguments");
-        for(unsigned i=0;i<arg.size();i++) log.printf(" %s",arg[i]->getName().c_str());
+     std::vector<std::string> mlab; parseVector("DATA",mlab);
+     if( mlab.size()>0 ){
+        for(unsigned i=0;i<mlab.size();++i){
+            ActionWithVessel* myv = plumed.getActionSet().selectWithLabel<ActionWithVessel*>( mlab[i] );
+            if( !myv ) error("action labelled " + mlab[i] + " does not exist or is not an ActionWithVessel");
+            myvessels.push_back( myv ); stashes.push_back( myv->buildDataStashes( NULL ) );
+            // log.printf("  for all base quantities calculated by %s \n",myvessel->getLabel().c_str() );
+            // Add the dependency
+            addDependency( myv );
+        }
+        unsigned nvals = myvessels[0]->getFullNumberOfTasks();
+        for(unsigned i=1;i<mlab.size();++i){
+            if( nvals!=myvessels[i]->getFullNumberOfTasks() ) error("mismatched number of quantities calculated by actions input to histogram");
+        }
+        log.printf("  for all base quantities calculated by %s ", myvessels[0]->getLabel().c_str() );
+        for(unsigned i=1;i<mlab.size();++i) log.printf(", %s \n", myvessels[i]->getLabel().c_str() );
         log.printf("\n");
-        // Retrieve the bias acting and make sure we request this also
-        std::vector<Value*> bias( ActionWithArguments::getArguments() );
-        for(unsigned i=0;i<bias.size();++i) arg.push_back( bias[i] ); 
-        requestArguments(arg);
+     } else {
+        std::vector<Value*> arg; parseArgumentList("ARG",arg);
+        if(!arg.empty()){
+           log.printf("  with arguments");
+           for(unsigned i=0;i<arg.size();i++) log.printf(" %s",arg[i]->getName().c_str());
+           log.printf("\n");
+           // Retrieve the bias acting and make sure we request this also
+           std::vector<Value*> bias( ActionWithArguments::getArguments() );
+           for(unsigned i=0;i<bias.size();++i) arg.push_back( bias[i] ); 
+           requestArguments(arg);
+        }
      }
   } 
 
   // Read stuff for grid
   unsigned narg = getNumberOfArguments();
   if( myvessels.size()>0 ) narg=myvessels.size();
-
   // Input of name and labels
   std::string vstring="COMPONENTS=" + getLabel();
-  if( myvessels.size()>0 ){
+  if( mvectors ){
+     vstring += " COORDINATES=x,y,z PBC=F,F,F";
+  } else if( myvessels.size()>0 ){
      vstring += " COORDINATES=" + myvessels[0]->getLabel();
      for(unsigned i=1;i<myvessels.size();++i) vstring +="," + myvessels[i]->getLabel();
      // Input for PBC
@@ -261,6 +274,7 @@ kernel(NULL)
   // And create the grid
   createGrid( "histogram", vstring ); 
   if( mygrid->getType()=="flat" ){
+      if( mvectors ) error("computing histogram for three dimensional vectors but grid is not of fibonacci type - use CONCENTRATION");
       std::vector<std::string> gmin( narg ), gmax( narg );
       parseVector("GRID_MIN",gmin); parseVector("GRID_MAX",gmax);
       std::vector<unsigned> nbin; parseVector("GRID_BIN",nbin);
@@ -286,7 +300,7 @@ kernel(NULL)
      myhist->addOneKernelEachTimeOnly();
      setAveragingAction( mygrid, myhist->noDiscreteKernels() ); 
   }
-  checkRead(); 
+  checkRead();
 }
 
 void Histogram::turnOnDerivatives(){
@@ -317,7 +331,8 @@ unsigned Histogram::getNumberOfDerivatives(){
 }
 
 unsigned Histogram::getNumberOfQuantities() const {
-  if( myvessels.size()>0 ) return myvessels.size()+2;
+  if( mvectors ) return myvessels[0]->getNumberOfQuantities();
+  else if( myvessels.size()>0 ) return myvessels.size()+2;
   return 2;
 }
 
@@ -365,7 +380,21 @@ void Histogram::finishAveraging(){
 }
 
 void Histogram::compute( const unsigned& current, MultiValue& myvals ) const {  
-  if( myvessels.size()>0 ){
+  if( mvectors ){
+      std::vector<double> cvals( myvessels[0]->getNumberOfQuantities() );
+      stashes[0]->retrieveSequentialValue( current, true, cvals ); 
+      for(unsigned i=2;i<myvessels[0]->getNumberOfQuantities();++i) myvals.setValue( i-1, cvals[i] ); 
+      myvals.setValue( 0, cvals[0] ); myvals.setValue( myvessels[0]->getNumberOfQuantities() - 1, ww );   
+      if( in_apply ){
+          MultiValue tmpval( myvessels[0]->getNumberOfQuantities(), myvessels[0]->getNumberOfDerivatives() );
+          stashes[0]->retrieveDerivatives( stashes[0]->getTrueIndex(current), true, tmpval );
+          for(unsigned j=0;j<tmpval.getNumberActive();++j){
+              unsigned jder=tmpval.getActiveIndex(j); myvals.addDerivative( 0, jder, tmpval.getDerivative(0, jder) );
+              for(unsigned i=2;i<myvessels[0]->getNumberOfQuantities();++i) myvals.addDerivative( i-1, jder, tmpval.getDerivative(i, jder) );
+          }
+          myvals.updateDynamicList(); 
+      }
+  } else if( myvessels.size()>0 ){
       std::vector<double> cvals( myvessels[0]->getNumberOfQuantities() );
       stashes[0]->retrieveSequentialValue( current, false, cvals );
       unsigned derbase; double totweight=cvals[0], tnorm = cvals[0]; myvals.setValue( 1, cvals[1] ); 
@@ -415,6 +444,7 @@ void Histogram::compute( const unsigned& current, MultiValue& myvals ) const {
           // Evaluate the histogram at the relevant grid point and set the values 
           double vvh = kernel->evaluate( vv, der ,true); myvals.setValue( 1, vvh );
       } else {
+          plumed_merror("normalisation of vectors does not work with arguments and spherical grids");
           // Evalulate dot product
           double dot=0; for(unsigned j=0;j<getNumberOfArguments();++j){ dot+=val[j]*getArgument(j); der[j]=val[j]; }
           // Von misses distribution for concentration parameter
diff --git a/src/crystallization/BondOrientation.cpp b/src/crystallization/BondOrientation.cpp
new file mode 100644
index 000000000..efac59c44
--- /dev/null
+++ b/src/crystallization/BondOrientation.cpp
@@ -0,0 +1,119 @@
+/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   Copyright (c) 2013-2016 The plumed team
+   (see the PEOPLE file at the root of the distribution for a list of names)
+
+   See http://www.plumed.org for more information.
+
+   This file is part of plumed, version 2.
+
+   plumed is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   plumed is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with plumed.  If not, see <http://www.gnu.org/licenses/>.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
+#include "tools/SwitchingFunction.h"
+#include "core/ActionRegister.h"
+#include "VectorMultiColvar.h"
+
+namespace PLMD {
+namespace crystallization {
+
+class BondOrientation : public VectorMultiColvar {
+private:
+  double rcut2;
+  SwitchingFunction switchingFunction;
+public:
+  static void registerKeywords( Keywords& keys );
+  explicit BondOrientation( const ActionOptions& ao );
+  double calculateWeight( const unsigned& current, const double& weight, multicolvar::AtomValuePack& myatoms ) const ;
+  void calculateVector( multicolvar::AtomValuePack& myatoms ) const ;
+};
+
+PLUMED_REGISTER_ACTION(BondOrientation,"BOND_DIRECTION")
+
+void BondOrientation::registerKeywords( Keywords& keys ){
+  VectorMultiColvar::registerKeywords( keys );
+  keys.use("ATOMS");
+  keys.add("atoms-1","GROUP","Calculate the distance between each distinct pair of atoms in the group");
+  keys.add("atoms-2","GROUPA","Calculate the distances between all the atoms in GROUPA and all "
+                              "the atoms in GROUPB. This must be used in conjuction with GROUPB.");
+  keys.add("atoms-2","GROUPB","Calculate the distances between all the atoms in GROUPA and all the atoms "
+                              "in GROUPB. This must be used in conjuction with GROUPA.");
+  keys.add("compulsory","NN","12","The n parameter of the switching function ");
+  keys.add("compulsory","MM","0","The m parameter of the switching function; 0 implies 2*NN");
+  keys.add("compulsory","D_0","0.0","The d_0 parameter of the switching function");
+  keys.add("compulsory","R_0","The r_0 parameter of the switching function");
+  keys.add("optional","SWITCH","This keyword is used if you want to employ an alternative to the continuous swiching function defined above. "
+                               "The following provides information on the \\ref switchingfunction that are available. "
+                               "When this keyword is present you no longer need the NN, MM, D_0 and R_0 keywords.");
+  keys.use("VMEAN"); keys.use("VSUM");
+}
+
+BondOrientation::BondOrientation( const ActionOptions& ao ):
+Action(ao),
+VectorMultiColvar(ao)
+{
+  // Read atoms
+  weightHasDerivatives=true;
+  std::vector<AtomNumber> all_atoms; 
+  readTwoGroups( "GROUP", "GROUPA", "GROUPB", all_atoms );
+  int natoms=2; readAtoms( natoms, all_atoms ); 
+  // Read in the switching function
+  std::string sw, errors; parse("SWITCH",sw);
+  if(sw.length()>0){
+     switchingFunction.set(sw,errors);
+  } else {
+     double r_0=-1.0, d_0; int nn, mm;
+     parse("NN",nn); parse("MM",mm);
+     parse("R_0",r_0); parse("D_0",d_0);
+     if( r_0<0.0 ) error("you must set a value for R_0");
+     switchingFunction.set(nn,mm,r_0,d_0);
+  }
+  log.printf("  orientation of those bonds with lengths are less than %s\n",( switchingFunction.description() ).c_str() );
+  // Set the link cell cutoff
+  setLinkCellCutoff( switchingFunction.get_dmax() );
+  double rcut = switchingFunction.get_dmax(); rcut2 = rcut*rcut;
+  // Set the dimensionality of the vectors
+  setVectorDimensionality(3);
+}
+
+double BondOrientation::calculateWeight( const unsigned& current, const double& weight, multicolvar::AtomValuePack& myatoms ) const {
+  Vector distance=getSeparation( myatoms.getPosition(0), myatoms.getPosition(1) ); double distm=distance.modulo2();
+  if( distm>rcut2 ) return 0.0;
+  double df, ww=switchingFunction.calculateSqr( distm, df );
+  // Derivatives of weights
+  addAtomDerivatives( 0, 0, -df*weight*distance, myatoms ); 
+  addAtomDerivatives( 0, 1, df*weight*distance, myatoms );
+  myatoms.addBoxDerivatives( 0, (-df)*weight*Tensor(distance,distance) );
+  return ww; 
+}
+
+void BondOrientation::calculateVector( multicolvar::AtomValuePack& myatoms ) const {
+  Vector distance=getSeparation( myatoms.getPosition(0), myatoms.getPosition(1) );
+
+  addAtomDerivatives( 2, 0, Vector(-1.0,0,0), myatoms );
+  addAtomDerivatives( 2, 1, Vector(+1.0,0,0), myatoms );
+  myatoms.addBoxDerivatives( 2, Tensor(distance,Vector(-1.0,0,0)) );
+  myatoms.addValue( 2, distance[0] );
+
+  addAtomDerivatives( 3, 0, Vector(0,-1.0,0), myatoms );
+  addAtomDerivatives( 3, 1, Vector(0,+1.0,0), myatoms );
+  myatoms.addBoxDerivatives( 3, Tensor(distance,Vector(0,-1.0,0)) );
+  myatoms.addValue( 3, distance[1] );
+
+  addAtomDerivatives( 4 , 0, Vector(0,0,-1.0), myatoms );
+  addAtomDerivatives( 4 , 1, Vector(0,0,+1.0), myatoms );
+  myatoms.addBoxDerivatives( 4, Tensor(distance,Vector(0,0,-1.0)) );
+  myatoms.addValue( 4, distance[2] );
+}
+
+}
+} 
diff --git a/src/crystallization/VectorMean.cpp b/src/crystallization/VectorMean.cpp
index f4775acd4..9fae24b4c 100644
--- a/src/crystallization/VectorMean.cpp
+++ b/src/crystallization/VectorMean.cpp
@@ -103,7 +103,7 @@ void VectorMean::finish( const std::vector<double>& buffer ){
 
   Value* fval=getFinalValue(); double tw = 1.0 / sqrt(sum);
   for(unsigned icomp=0;icomp<ncomp;++icomp){
-      double tmp = buffer[(icomp+1)*(1+nder)] / ww; 
+      double tmp = buffer[bufstart + (icomp+1)*(1+nder)] / ww; 
       unsigned bstart = bufstart + (1+icomp)*(nder+1) + 1;
       for(unsigned jder=0;jder<nder;++jder) fval->addDerivative( jder, (tw*tmp/ww)*( buffer[bstart + jder] - tmp*buffer[bufstart + 1 + jder] ) );
   }
diff --git a/src/crystallization/VectorSum.cpp b/src/crystallization/VectorSum.cpp
index 0b8fc359a..a9c81445b 100644
--- a/src/crystallization/VectorSum.cpp
+++ b/src/crystallization/VectorSum.cpp
@@ -79,7 +79,6 @@ void VectorSum::calculate( const unsigned& current, MultiValue& myvals, std::vec
 
   double weight=myvals.get(0); 
   plumed_dbg_assert( weight>=getTolerance() );
-  buffer[bufstart] += weight;
   for(unsigned i=0;i<ncomp;++i) buffer[bufstart + i*(1+nder)] += weight*myvals.get(2+i);
   if( !getAction()->derivativesAreRequired() ) return;
 
@@ -105,7 +104,7 @@ void VectorSum::finish( const std::vector<double>& buffer ){
 
   Value* fval=getFinalValue();
   for(unsigned icomp=0;icomp<ncomp;++icomp){
-      double tmp = buffer[icomp*(1+nder)];    
+      double tmp = buffer[bufstart + icomp*(1+nder)];    
       unsigned bstart = bufstart + icomp*(nder+1) + 1;
       for(unsigned jder=0;jder<nder;++jder) fval->addDerivative( jder, tw*tmp*buffer[bstart + jder] );
   }
diff --git a/src/gridtools/GridVessel.h b/src/gridtools/GridVessel.h
index 2e2c08a2c..18f467ca7 100644
--- a/src/gridtools/GridVessel.h
+++ b/src/gridtools/GridVessel.h
@@ -204,8 +204,7 @@ double GridVessel::getCellVolume() const {
       double myvol=1.0; for(unsigned i=0;i<dimension;++i) myvol *= dx[i];
       return myvol;
   } else {
-      plumed_merror("cell volume for surface grid not worked out yet"); 
-      return 0.0; 
+      return 4*pi / static_cast<double>( getNumberOfPoints() ); 
   }
 }
 
diff --git a/src/gridtools/HistogramOnGrid.cpp b/src/gridtools/HistogramOnGrid.cpp
index e47c5380f..8adb3b13e 100644
--- a/src/gridtools/HistogramOnGrid.cpp
+++ b/src/gridtools/HistogramOnGrid.cpp
@@ -112,11 +112,6 @@ void HistogramOnGrid::calculate( const unsigned& current, MultiValue& myvals, st
      unsigned num_neigh; std::vector<unsigned> neighbors; 
      std::vector<double> der( dimension ); 
      KernelFunctions* kernel=getKernelAndNeighbors( point, num_neigh, neighbors );
-     // If no kernel normalize the vector so von misses distribution is calculated correctly
-     if( !kernel ){ 
-        double norm=0; for(unsigned j=0;j<dimension;++j) norm += point[j]*point[j];
-        norm=sqrt( norm ); for(unsigned j=0;j<dimension;++j) point[j] = point[j] / norm;
-     }
 
      if( !kernel && getType()=="flat" ){
          plumed_dbg_assert( num_neigh==1 );
@@ -131,8 +126,8 @@ void HistogramOnGrid::calculate( const unsigned& current, MultiValue& myvals, st
              unsigned ineigh=neighbors[i];
              if( inactive( ineigh ) ) continue ;
              getGridPointCoordinates( ineigh, xx );
-             for(unsigned j=0;j<dimension;++j) vv[j]->set(xx[j]);
              if( kernel ){
+                  for(unsigned j=0;j<dimension;++j) vv[j]->set(xx[j]);
                   newval = kernel->evaluate( vv, der, true ); 
              } else {
                   // Evalulate dot product
@@ -149,14 +144,15 @@ void HistogramOnGrid::calculate( const unsigned& current, MultiValue& myvals, st
              } 
          }
          if( wasForced() ){
+             // Minus sign for kernel here as we are taking derivative with respect to position of center of 
+             // kernel NOT derivative wrt to grid point
+             double pref = 1; if( kernel ) pref = -1;
              unsigned nder = getAction()->getNumberOfDerivatives();
              unsigned gridbuf = getNumberOfBufferPoints()*getNumberOfQuantities(); 
              for(unsigned j=0;j<dimension;++j){
                  for(unsigned k=0;k<myvals.getNumberActive();++k){
-                     // Minus sign here as we are taking derivative with respect to position of center of kernel NOT derivative wrt to
-                     // grid point
                      unsigned kder=myvals.getActiveIndex(k); 
-                     buffer[ bufstart + gridbuf + kder ] -= intforce[j]*myvals.getDerivative( j+1, kder ); 
+                     buffer[ bufstart + gridbuf + kder ] += pref*intforce[j]*myvals.getDerivative( j+1, kder ); 
                  }
              }
              // Accumulate the sum of all the weights
-- 
GitLab