diff --git a/src/pair.h b/src/pair.h index 3f66c6095a8199b8b4530761af014854efce0914..dd859e5f2a07ca2b99ba288302a03b2f17d1cbbe 100644 --- a/src/pair.h +++ b/src/pair.h @@ -194,8 +194,8 @@ class Pair : protected Pointers { int num_tally_compute; class Compute **list_tally_compute; public: - void add_tally_callback(class Compute *); - void del_tally_callback(class Compute *); + virtual void add_tally_callback(class Compute *); + virtual void del_tally_callback(class Compute *); protected: int instance_me; // which Pair class instantiation I am diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp index 03e55006fc44953f068609927aab53982b94edf4..e327066183174d36ace7679bc496f4e1878b0c36 100644 --- a/src/pair_hybrid.cpp +++ b/src/pair_hybrid.cpp @@ -169,6 +169,23 @@ void PairHybrid::compute(int eflag, int vflag) if (vflag_fdotr) virial_fdotr_compute(); } + +/* ---------------------------------------------------------------------- */ + +void PairHybrid::add_tally_callback(Compute *ptr) +{ + for (int m = 0; m < nstyles; m++) + styles[m]->add_tally_callback(ptr); +} + +/* ---------------------------------------------------------------------- */ + +void PairHybrid::del_tally_callback(Compute *ptr) +{ + for (int m = 0; m < nstyles; m++) + styles[m]->del_tally_callback(ptr); +} + /* ---------------------------------------------------------------------- */ void PairHybrid::compute_inner() diff --git a/src/pair_hybrid.h b/src/pair_hybrid.h index e3de3b022a4d1bcf2a300a44c74d65fd7d92e5d1..8fd0b9e4e032bbe54da0b77631451112b7aa2e23 100644 --- a/src/pair_hybrid.h +++ b/src/pair_hybrid.h @@ -55,6 +55,9 @@ class PairHybrid : public Pair { int check_ijtype(int, int, char *); + virtual void add_tally_callback(class Compute *); + virtual void del_tally_callback(class Compute *); + protected: int nstyles; // # of sub-styles Pair **styles; // list of Pair style classes