Version: SMASH-2.0
actionfinderfactory.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright (c) 2014-2020
4  * SMASH Team
5  *
6  * GNU General Public License (GPLv3 or later)
7  *
8  */
9 
10 #ifndef SRC_INCLUDE_SMASH_ACTIONFINDERFACTORY_H_
11 #define SRC_INCLUDE_SMASH_ACTIONFINDERFACTORY_H_
12 
13 #include <vector>
14 
15 #include "clock.h"
16 #include "forwarddeclarations.h"
17 #include "lattice.h"
18 #include "potentials.h"
19 
20 namespace smash {
21 
28  public:
29  virtual ~ActionFinderInterface() = default;
30 
43  virtual ActionList find_actions_in_cell(
44  const ParticleList &search_list, double dt, const double gcell_vol,
45  const std::vector<FourVector> &beam_momentum) const = 0;
60  virtual ActionList find_actions_with_neighbors(
61  const ParticleList &search_list, const ParticleList &neighbors_list,
62  double dt, const std::vector<FourVector> &beam_momentum) const = 0;
63 
81  virtual ActionList find_actions_with_surrounding_particles(
82  const ParticleList &search_list, const Particles &surrounding_list,
83  double dt, const std::vector<FourVector> &beam_momentum) const = 0;
84 
96  virtual ActionList find_final_actions(const Particles &search_list,
97  bool only_res = false) const = 0;
98 };
99 
100 } // namespace smash
101 
102 #endif // SRC_INCLUDE_SMASH_ACTIONFINDERFACTORY_H_
smash
Definition: action.h:24
smash::ActionFinderInterface::~ActionFinderInterface
virtual ~ActionFinderInterface()=default
smash::ActionFinderInterface::find_final_actions
virtual ActionList find_final_actions(const Particles &search_list, bool only_res=false) const =0
This abstract function finds 'final' actions (for cleaning up at the end of the simulation,...
clock.h
forwarddeclarations.h
lattice.h
smash::ActionFinderInterface::find_actions_with_neighbors
virtual ActionList find_actions_with_neighbors(const ParticleList &search_list, const ParticleList &neighbors_list, double dt, const std::vector< FourVector > &beam_momentum) const =0
Abstract function for finding actions, given two lists of particles, a search list and a neighbors li...
smash::ActionFinderInterface
Definition: actionfinderfactory.h:27
smash::Particles
Definition: particles.h:33
smash::ActionFinderInterface::find_actions_in_cell
virtual ActionList find_actions_in_cell(const ParticleList &search_list, double dt, const double gcell_vol, const std::vector< FourVector > &beam_momentum) const =0
Abstract function for finding actions, given a list of particles.
smash::ActionFinderInterface::find_actions_with_surrounding_particles
virtual ActionList find_actions_with_surrounding_particles(const ParticleList &search_list, const Particles &surrounding_list, double dt, const std::vector< FourVector > &beam_momentum) const =0
Abstract function for finding actions between a list of particles and the surrounding particles.
potentials.h