diff options
author | Jakob Odersky <jodersky@gmail.com> | 2011-05-26 20:45:09 +0000 |
---|---|---|
committer | Jakob Odersky <jodersky@gmail.com> | 2011-05-26 20:45:09 +0000 |
commit | b9aef175be1459b827941476fb29a3c56bf73b92 (patch) | |
tree | 3579937f61a74e6528aab1200e0168a2855f5e9e /src/main/Interactor.h | |
parent | 87500c3938c670f427780f3eefa3190281007e61 (diff) | |
download | vhc-b9aef175be1459b827941476fb29a3c56bf73b92.tar.gz vhc-b9aef175be1459b827941476fb29a3c56bf73b92.tar.bz2 vhc-b9aef175be1459b827941476fb29a3c56bf73b92.zip |
*Creation des interacteurs, une maniere de gerer les interactions entre particules orientee evenement.
*Completion de commentaires de tous les fichiers de main
*Reponses aux questions
Diffstat (limited to 'src/main/Interactor.h')
-rw-r--r-- | src/main/Interactor.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/main/Interactor.h b/src/main/Interactor.h new file mode 100644 index 0000000..59170c9 --- /dev/null +++ b/src/main/Interactor.h @@ -0,0 +1,42 @@ +/* + * Interactor.h + * + * Created on: May 26, 2011 + * Author: jakob + */ + +#ifndef INTERACTOR_H_ +#define INTERACTOR_H_ + +#include "events.h" + +namespace vhc { + +/** Classe de base representant un moyen d'inclure les forces inter-particules dans la simulation. + * D'abord on souscrit un interacteur a une source d'evenements de paticules (typiquement des faisceaux). + * Lors de l'ajout d'une particule, l'interacteur a donc la possibilite d'inclure la particule dans + * la simulation de forces inter-particules. + * Quand la methode <code>applyInteractions()</code> est appelee, les forces inter-particules de tous + * les particules de cet interacteur sont appliques. */ +class Interactor: public Listener< ParticleAddedEvent >, public Listener< ParticleRemovedEvent > { + +public: + Interactor(); + virtual ~Interactor(); + + /** Simule tous les interactions entre particules. */ + virtual void applyInteractions() = 0; + + /** Appelee quand l'accelerateur contenant cet interacteur est ferme. */ + virtual void acceleratorClosed() = 0; + + /** Appelee lors de l'ajout d'une particule. Ajoute typiquement la particule au particules simules par cet interacteur. */ + virtual void react(const ParticleAddedEvent& event) = 0; + + /** Appelee lors de l'enlevement d'une particule. Enleve typiquement la particule des particules simules par cet interacteur. */ + virtual void react(const ParticleRemovedEvent& event) = 0; +}; + +} + +#endif /* INTERACTOR_H_ */ |