summaryrefslogtreecommitdiff
path: root/space_wolff.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'space_wolff.hpp')
-rw-r--r--space_wolff.hpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/space_wolff.hpp b/space_wolff.hpp
index 63bf118..dc06011 100644
--- a/space_wolff.hpp
+++ b/space_wolff.hpp
@@ -18,11 +18,10 @@ template <class U, int D, class R, class S> class Model;
template <class U, int D, class R, class S> class measurement {
public:
- virtual void pre_cluster(const Model<U, D, R, S>&, unsigned, const R&){};
+ virtual void pre_cluster(const Model<U, D, R, S>&, unsigned, const Transformation<double, D, Euclidean<double, D>, double>*){};
virtual void plain_bond_visited(const Model<U, D, R, S>&, const Spin<U, D, S>*,
const Spin<U, D, S>*, const Spin<U, D, S>&, double){};
- virtual void plain_site_transformed(const Model<U, D, R, S>&, const Spin<U, D, S>*,
- const Spin<U, D, S>&){};
+ virtual void plain_site_transformed(const Model<U, D, R, S>&, const Transformation<U, D, R, S>&){};
virtual void ghost_bond_visited(const Model<U, D, R, S>&, const Spin<U, D, S>&,
const Spin<U, D, S>&, double){};
@@ -70,6 +69,7 @@ public:
}
}
+ A.plain_site_transformed(*this, *t);
t->apply();
}
delete t;
@@ -84,6 +84,8 @@ public:
Gen<U, D, R, S>& g = rng.pick(gs);
Transformation<U, D, R, S> *t = g(*this, rng);
+ A.pre_cluster(*this, i, t);
+
this->step(T, t, A);
A.post_cluster(*this);