Line data Source code
1 : #include "crpropa/module/RestrictToRegion.h"
2 :
3 : #include <sstream>
4 :
5 : namespace crpropa {
6 :
7 1 : RestrictToRegion::RestrictToRegion(Module* _module, Surface* _surface) : module(_module), surface(_surface) {
8 1 : };
9 :
10 2 : void RestrictToRegion::process(Candidate *candidate) const {
11 2 : if (surface->distance(candidate->current.getPosition()) <= 0) {
12 1 : module->process(candidate);
13 : }
14 2 : };
15 :
16 0 : std::string RestrictToRegion::getDescription() const {
17 0 : std::stringstream s;
18 : s << "RestrictToArea:\n"
19 0 : << " Module: " << module->getDescription() << std::endl
20 0 : << " Region: " << surface->getDescription() << std::endl;
21 0 : return s.str();
22 0 : };
23 :
24 :
25 : } // namespace crpropa
|