Version: SMASH-3.1
smash::ActionFinderInterface Class Referenceabstract

#include <actionfinderfactory.h>

ActionFinderInterface is the abstract base class for all action finders, i.e.

objects which create action lists.

Definition at line 27 of file actionfinderfactory.h.

Inheritance diagram for smash::ActionFinderInterface:
smash::DecayActionsFinder smash::HyperSurfaceCrossActionsFinder smash::ScatterActionsFinder smash::WallCrossActionsFinder

Public Member Functions

virtual ~ActionFinderInterface ()=default
 
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. More...
 
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 list. More...
 
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. More...
 
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, e.g. More...
 

Constructor & Destructor Documentation

◆ ~ActionFinderInterface()

virtual smash::ActionFinderInterface::~ActionFinderInterface ( )
virtualdefault

Member Function Documentation

◆ find_actions_in_cell()

virtual ActionList smash::ActionFinderInterface::find_actions_in_cell ( const ParticleList &  search_list,
double  dt,
const double  gcell_vol,
const std::vector< FourVector > &  beam_momentum 
) const
pure virtual

Abstract function for finding actions, given a list of particles.

Parameters
[in]search_lista list of particles where each pair needs to be tested for possible interaction
[in]dtduration of the current time step [fm]
[in]gcell_volvolume of searched grid cell [fm^3]
[in]beam_momentum[GeV] List of beam momenta for each particle; only necessary for frozen Fermi motion
Returns
The function returns a list (std::vector) of Action objects that could possibly be executed in this time step.

Implemented in smash::DecayActionsFinder, smash::ScatterActionsFinder, smash::WallCrossActionsFinder, and smash::HyperSurfaceCrossActionsFinder.

◆ find_actions_with_neighbors()

virtual ActionList smash::ActionFinderInterface::find_actions_with_neighbors ( const ParticleList &  search_list,
const ParticleList &  neighbors_list,
double  dt,
const std::vector< FourVector > &  beam_momentum 
) const
pure virtual

Abstract function for finding actions, given two lists of particles, a search list and a neighbors list.

Parameters
[in]search_lista list of particles where each particle needs to be tested for possible interactions with the neighbors
[in]neighbors_lista list of particles that need to be tested against particles in search_list for possible interaction
[in]dtduration of the current time step [fm]
[in]beam_momentum[GeV] List of beam momenta for each particle; only necessary for frozen Fermi motion
Returns
The function returns a list (std::vector) of Action objects that could possibly be executed in this time step.

Implemented in smash::ScatterActionsFinder, smash::WallCrossActionsFinder, smash::HyperSurfaceCrossActionsFinder, and smash::DecayActionsFinder.

◆ find_actions_with_surrounding_particles()

virtual ActionList smash::ActionFinderInterface::find_actions_with_surrounding_particles ( const ParticleList &  search_list,
const Particles surrounding_list,
double  dt,
const std::vector< FourVector > &  beam_momentum 
) const
pure virtual

Abstract function for finding actions between a list of particles and the surrounding particles.

Note: The first list can be a subset of the second list.

Parameters
[in]search_lista list of particles where each particle needs to be tested for possible interactions with the surrounding particles
[in]surrounding_lista list of particles that need to be tested against particles in search_list for possible interaction
[in]dtduration of the current time step [fm]
[in]beam_momentum[GeV] List of beam momenta for each particle; only necessary for frozen Fermi motion
Returns
The function returns a list (std::vector) of Action objects that could possibly be executed in this time step.

Implemented in smash::ScatterActionsFinder, smash::WallCrossActionsFinder, smash::HyperSurfaceCrossActionsFinder, and smash::DecayActionsFinder.

◆ find_final_actions()

virtual ActionList smash::ActionFinderInterface::find_final_actions ( const Particles search_list,
bool  only_res = false 
) const
pure virtual

This abstract function finds 'final' actions (for cleaning up at the end of the simulation, e.g.

letting the remaining resonances decay).

Parameters
[in]search_lista list of particles where each particle needs to be tested for possible interactions with the surrounding particles
[in]only_resthis optional parameter requests that only actions regarding resonances are considered (disregarding stable particles)
Returns
The function returns a list (std::vector) of Action objects.

Implemented in smash::DecayActionsFinder, smash::ScatterActionsFinder, smash::WallCrossActionsFinder, and smash::HyperSurfaceCrossActionsFinder.


The documentation for this class was generated from the following file: