#include <hypersurfacecrossingaction.h>
Finder for hypersurface crossing actions.
Loops through all particles and checks if they cross the hypersurface during the next timestep.
Definition at line 59 of file hypersurfacecrossingaction.h.
Public Member Functions | |
HyperSurfaceCrossActionsFinder (double tau) | |
Construct hypersurfacecrossing action finder. More... | |
ActionList | find_actions_in_cell (const ParticleList &plist, double dt, const double, const std::vector< FourVector > &beam_momentum) const override |
Find the next hypersurface crossings for each particle that occur within the timestepless propagation. More... | |
ActionList | find_actions_with_neighbors (const ParticleList &, const ParticleList &, double, const std::vector< FourVector > &) const override |
Ignore the neighbor searches for hypersurface crossing. More... | |
ActionList | find_actions_with_surrounding_particles (const ParticleList &, const Particles &, double, const std::vector< FourVector > &) const override |
Ignore the surrounding searches for hypersurface crossing. More... | |
ActionList | find_final_actions (const Particles &, bool) const override |
No final actions for hypersurface crossing. More... | |
![]() | |
virtual | ~ActionFinderInterface ()=default |
Private Member Functions | |
bool | crosses_hypersurface (ParticleData &pdata_before_propagation, ParticleData &pdata_after_propagation, const double tau) const |
Determine whether particle crosses hypersurface within next timestep during propagation. More... | |
FourVector | coordinates_on_hypersurface (ParticleData &pdata_before_propagation, ParticleData &pdata_after_propagation, const double tau) const |
Find the coordinates where particle crosses hypersurface. More... | |
Private Attributes | |
const double | prop_time_ |
Proper time of the hypersurface in fm. More... | |
|
inlineexplicit |
Construct hypersurfacecrossing action finder.
[in] | tau | Proper time of the hypersurface. [fm] |
Definition at line 65 of file hypersurfacecrossingaction.h.
|
overridevirtual |
Find the next hypersurface crossings for each particle that occur within the timestepless propagation.
[in] | plist | List of all particles. |
[in] | dt | Time until crossing can appear (until end of timestep). [fm] |
[in] | beam_momentum | [GeV] List of beam momenta for each particle; only necessary for frozen Fermi motion necessary if frozen Fermi Motion is activated |
Implements smash::ActionFinderInterface.
Definition at line 52 of file hypersurfacecrossingaction.cc.
|
inlineoverridevirtual |
Ignore the neighbor searches for hypersurface crossing.
Implements smash::ActionFinderInterface.
Definition at line 82 of file hypersurfacecrossingaction.h.
|
inlineoverridevirtual |
Ignore the surrounding searches for hypersurface crossing.
Implements smash::ActionFinderInterface.
Definition at line 89 of file hypersurfacecrossingaction.h.
|
inlineoverridevirtual |
No final actions for hypersurface crossing.
Implements smash::ActionFinderInterface.
Definition at line 96 of file hypersurfacecrossingaction.h.
|
private |
Determine whether particle crosses hypersurface within next timestep during propagation.
[in] | pdata_before_propagation | Particle data at the beginning of time step in question |
[in] | pdata_after_propagation | Particle data at the end of time step in question |
[in] | tau | Proper time of the hypersurface that is tested |
Definition at line 120 of file hypersurfacecrossingaction.cc.
|
private |
Find the coordinates where particle crosses hypersurface.
[in] | pdata_before_propagation | Particle data at the beginning of time in question |
[in] | pdata_after_propagation | Particle data at the end of time step in question |
[in] | tau | Proper time of the hypersurface that is crossed |
Definition at line 154 of file hypersurfacecrossingaction.cc.
|
private |
Proper time of the hypersurface in fm.
Definition at line 102 of file hypersurfacecrossingaction.h.