diff options
Diffstat (limited to 'space_wolff.hpp')
-rw-r--r-- | space_wolff.hpp | 8 |
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); |