32 double time_last_coll,
33 const ParticleList &plist) {
70 double time_of_interest =
position_.
x0() + delta_time;
72 double scaling_factor;
102 return scaling_factor;
107 return out <<
p.type().name() <<
" (" << std::setw(5) <<
p.type().pdgcode()
108 <<
")" << std::right <<
"{id:" << field<6> <<
p.id()
109 <<
", process:" << field<4> <<
p.id_process()
110 <<
", pos [fm]:" <<
p.position() <<
", mom [GeV]:" <<
p.momentum()
111 <<
", formation time [fm]:" <<
p.formation_time()
112 <<
", cross section scaling factor:" <<
p.xsec_scaling_factor()
116 std::ostream &
operator<<(std::ostream &out,
const ParticleList &particle_list) {
117 auto column = out.tellp();
119 for (
const auto &
p : particle_list) {
120 if (out.tellp() - column >= 201) {
122 column = out.tellp();
125 out << std::setw(5) << std::setprecision(3) <<
p.momentum().abs3()
135 for (
const auto &
p : particle_list.
list) {
double begin_formation_time_
time when the cross section scaling factor starts to increase to 1
double diffractive. Two strings are formed, one from A and one from B.
constexpr double really_small
Numerical error tolerance.
const ParticleList & list
Particle list.
double effective_mass() const
Get the particle's effective mass.
ProcessType
Process Types are used to identify the type of the process.
Collection of useful constants that are known at compile time.
double pole_mass() const
Get the particle's pole mass ("on-shell").
a special case of baryon-antibaryon annihilation.
PdgCode p2
PdgCode of the second parent particles.
2->2 inelastic scattering
const FourVector & momentum() const
Get the particle's 4-momentum.
forced thermalization, many particles are replaced by a thermalized ensemble
HistoryData history_
history information
uint32_t id_process
id of the last action
PdgCode p1
PdgCode of the first parent particles.
FourVector position_
position in space: x0, x1, x2, x3 as t, x, y, z
elastic scattering: particles remain the same, only momenta change
double formation_time_
Formation time at which the particle is fully formed given as an absolute value in the computational ...
double time_last_collision
Time of the last action (excluding walls), time of kinetic freeze_out for HBT analysis this time shou...
double initial_xsec_scaling_factor_
Initial cross section scaling factor.
hard string process involving 2->2 QCD process by PYTHIA.
static double formation_power_
Power with which the cross section scaling factor grows in time.
ProcessType process_type
type of the last action
resonance formation (2->1)
single diffractive AB->XB.
int collisions_per_particle
Collision counter per particle, zero only for initially present particles.
std::ostream & operator<<(std::ostream &out, const ActionPtr &action)
Convenience: dereferences the ActionPtr to Action.
non-diffractive. Two strings are formed both have ends in A and B.
void set_history(int ncoll, uint32_t pid, ProcessType pt, double time_of_or, const ParticleList &plist)
Store history information.
double abs() const
calculate the lorentz invariant absolute value
ParticleData contains the dynamic information of a certain particle.
(41-45) soft string excitations.
double xsec_scaling_factor(double delta_time=0.) const
Return the cross section scaling factor at a given time.