10 #ifndef SRC_INCLUDE_HYPERSURFACECROSSINGACTION_H_ 11 #define SRC_INCLUDE_HYPERSURFACECROSSINGACTION_H_ 35 const double time_until)
36 :
Action(in_part, out_part, time_until,
77 ActionList find_actions_in_cell(
78 const ParticleList &plist,
double dt,
const double,
79 const std::vector<FourVector> &beam_momentum)
const override;
83 const ParticleList &,
const ParticleList &,
double,
84 const std::vector<FourVector> &)
const override {
90 const ParticleList &,
const Particles &,
double,
91 const std::vector<FourVector> &)
const override {
114 bool crosses_hypersurface(
ParticleData &pdata_before_propagation,
116 const double tau)
const;
129 const double tau)
const;
134 #endif // SRC_INCLUDE_HYPERSURFACECROSSINGACTION_H_ void generate_final_state() override
Generate the final state of the hypersurface crossing particles.
ProcessType
Process Types are used to identify the type of the process.
void check_conservation(const uint32_t id_process) const override
Check various conservation laws.
Hypersurface crossing Particles are removed from the evolution and printed to a separate output to se...
ActionList find_actions_with_neighbors(const ParticleList &, const ParticleList &, double, const std::vector< FourVector > &) const override
Ignore the neighbor searches for hypersurface crossing.
HypersurfacecrossingAction(const ParticleData &in_part, const ParticleData &out_part, const double time_until)
Construct hypersurfacecrossing action.
ParticleList incoming_particles_
List with data of incoming particles.
Action is the base class for a generic process that takes a number of incoming particles and transfor...
Hypersurfacecrossingaction is a special action which indicates that a particle has crossed a hypersur...
double get_partial_weight() const override
Return the specific weight for the chosen outgoing channel, which is mainly used for the partial weig...
HyperSurfaceCrossActionsFinder(double tau)
Construct hypersurfacecrossing action finder.
double get_total_weight() const override
Return the total weight value, which is mainly used for the weight output entry.
ActionFinderInterface is the abstract base class for all action finders, i.e.
The Particles class abstracts the storage and manipulation of particles.
void format_debug_output(std::ostream &out) const override
Writes information about this action to the out stream.
ActionList find_final_actions(const Particles &, bool) const override
No final actions for hypersurface crossing.
The FourVector class holds relevant values in Minkowski spacetime with (+, −, −, −) metric signature.
Finder for hypersurface crossing actions.
ActionList find_actions_with_surrounding_particles(const ParticleList &, const Particles &, double, const std::vector< FourVector > &) const override
Ignore the surrounding searches for hypersurface crossing.
ParticleData contains the dynamic information of a certain particle.
const double prop_time_
Proper time of the hypersurface in fm.