diff options
Diffstat (limited to 'Python/pywarpx/callbacks.py')
-rw-r--r-- | Python/pywarpx/callbacks.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Python/pywarpx/callbacks.py b/Python/pywarpx/callbacks.py index 9ae36266e..8fa08e6ef 100644 --- a/Python/pywarpx/callbacks.py +++ b/Python/pywarpx/callbacks.py @@ -250,6 +250,8 @@ class CallbackFunctions(object): # --- Now create the actual instances. _afterinit = CallbackFunctions('afterinit') +_beforecollisions = CallbackFunctions('beforecollisions') +_aftercollisions = CallbackFunctions('aftercollisions') _beforeEsolve = CallbackFunctions('beforeEsolve') _poissonsolver = CallbackFunctions('poissonsolver') _afterEsolve = CallbackFunctions('afterEsolve') @@ -314,6 +316,34 @@ def isinstalledafterinit(f): return _afterinit.isinstalledfuncinlist(f) # ---------------------------------------------------------------------------- +def callfrombeforecollisions(f): + installbeforecollisions(f) + return f +def installbeforecollisions(f): + "Adds a function to the list of functions called before collisions" + _beforecollisions.installfuncinlist(f) +def uninstallbeforecollisions(f): + "Removes the function from the list of functions called before collisions" + _beforecollisions.uninstallfuncinlist(f) +def isinstalledbeforecollisions(f): + "Checks if the function is called before collisions" + return _beforecollisions.isinstalledfuncinlist(f) + +# ---------------------------------------------------------------------------- +def callfromaftercollisions(f): + installaftercollisions(f) + return f +def installaftercollisions(f): + "Adds a function to the list of functions called after collisions" + _aftercollisions.installfuncinlist(f) +def uninstallaftercollisions(f): + "Removes the function from the list of functions called after collisions" + _aftercollisions.uninstallfuncinlist(f) +def isinstalledaftercollisions(f): + "Checks if the function is called after collisions" + return _aftercollisions.isinstalledfuncinlist(f) + +# ---------------------------------------------------------------------------- def callfrombeforeEsolve(f): installbeforeEsolve(f) return f |