#include <crosssections.h>
The cross section class assembels everything that is needed to calculate the cross section and returns a list of all possible reactions for the incoming particles at the given energy with the calculated cross sections.
Definition at line 65 of file crosssections.h.
Public Member Functions | |
CrossSections (const ParticleList &incoming_particles, const double sqrt_s, const std::pair< FourVector, FourVector > potentials) | |
Construct CrossSections instance. More... | |
CollisionBranchList | generate_collision_list (double elastic_parameter, bool two_to_one_switch, ReactionsBitSet included_2to2, MultiParticleReactionsBitSet included_multi, double low_snn_cut, bool strings_switch, bool use_AQM, bool strings_with_probability, NNbarTreatment nnbar_treatment, StringProcess *string_process, double scale_xs, double additional_el_xs) const |
Generate a list of all possible collisions between the incoming particles with the given c.m. More... | |
CollisionBranchPtr | elastic (double elast_par, bool use_AQM, double add_el_xs, double scale_xs) const |
Determine the elastic cross section for this collision. More... | |
CollisionBranchList | two_to_one () const |
Find all resonances that can be produced in a 2->1 collision of the two input particles and the production cross sections of these resonances. More... | |
double | formation (const ParticleType &type_resonance, double cm_momentum_sqr) const |
Return the 2-to-1 resonance production cross section for a given resonance. More... | |
CollisionBranchList | rare_two_to_two () const |
Find all 2->2 processes which are suppressed at high energies when strings are turned on with probabilites, but important for the production of rare species such as strange particles. More... | |
CollisionBranchList | two_to_two (ReactionsBitSet included_2to2) const |
Find all inelastic 2->2 processes for the given scattering. More... | |
CollisionBranchList | two_to_three () const |
Find all 2->3 processes for the given scattering. More... | |
CollisionBranchList | two_to_four () const |
Find all 2->4 processes for the given scattering. More... | |
CollisionBranchList | string_excitation (double total_string_xs, StringProcess *string_process, bool use_AQM) const |
Determine the cross section for string excitations, which is given by the difference between the parametrized total cross section and all the explicitly implemented channels at low energy (elastic, resonance excitation, etc). More... | |
CollisionBranchPtr | NNbar_annihilation (const double current_xs, const double scale_xs) const |
Determine the cross section for NNbar annihilation, which is given by the difference between the parametrized total cross section and all the explicitly implemented channels at low energy (in this case only elastic). More... | |
CollisionBranchList | NNbar_creation () const |
Determine the cross section for NNbar creation, which is given by detailed balance from the reverse reaction. More... | |
CollisionBranchPtr | NNbar_to_5pi (const double scale_xs) const |
Create collision branch for NNbar annihilation going directly into 5 pions. More... | |
double | high_energy () const |
Determine the parametrized total cross section at high energies for the given collision, which is non-zero for Baryon-Baryon and Nucleon-Pion scatterings currently. More... | |
double | string_probability (bool strings_switch, bool use_transition_probability, bool use_AQM, bool treat_nnbar_with_strings) const |
double | probability_transit_high (const double region_lower, const double region_upper) const |
Static Public Member Functions | |
static double | sum_xs_of (const CollisionBranchList &list) |
Helper function: Sum all cross sections of the given process list. More... | |
static double | d_pi_inelastic_xs (double pion_kinetic_energy) |
Parametrization of deuteron-pion inelastic cross section. More... | |
static double | d_N_inelastic_xs (double N_kinetic_energy) |
Parametrization of deuteron-nucleon inelastic cross section. More... | |
static double | d_aN_inelastic_xs (double aN_kinetic_energy) |
Parametrization of deuteron-antinucleon inelastic cross section. More... | |
static double | two_to_three_xs (const ParticleType &type_in1, const ParticleType &type_in2, double sqrts) |
Determine 2->3 cross section for the scattering of the given particle types. More... | |
static double | two_to_four_xs (const ParticleType &type_in1, const ParticleType &type_in2, double sqrts) |
Determine 2->4 cross section for the scattering of the given particle types. More... | |
Private Member Functions | |
double | elastic_parametrization (bool use_AQM) const |
Choose the appropriate parametrizations for given incoming particles and return the (parametrized) elastic cross section. More... | |
double | nn_el () const |
Determine the (parametrized) elastic cross section for a nucleon-nucleon (NN) collision. More... | |
double | npi_el () const |
Determine the elastic cross section for a nucleon-pion (Npi) collision. More... | |
double | nk_el () const |
Determine the elastic cross section for a nucleon-kaon (NK) collision. More... | |
CollisionBranchList | npi_yk () const |
Find all processes for Nucleon-Pion to Hyperon-Kaon Scattering. More... | |
CollisionBranchList | bb_xx_except_nn (ReactionsBitSet included_2to2) const |
Find all inelastic 2->2 processes for Baryon-Baryon (BB) Scattering except the more specific Nucleon-Nucleon Scattering. More... | |
CollisionBranchList | nn_xx (ReactionsBitSet included_2to2) const |
Find all inelastic 2->2 processes for Nucelon-Nucelon Scattering. More... | |
CollisionBranchList | nk_xx (ReactionsBitSet included_2to2) const |
Find all inelastic 2->2 background processes for Nucleon-Kaon (NK) Scattering. More... | |
CollisionBranchList | deltak_xx (ReactionsBitSet included_2to2) const |
Find all inelastic 2->2 processes for Delta-Kaon (DeltaK) Scattering. More... | |
CollisionBranchList | ypi_xx (ReactionsBitSet included_2to2) const |
Find all inelastic 2->2 processes for Hyperon-Pion (Ypi) Scattering. More... | |
CollisionBranchList | dpi_xx (ReactionsBitSet included_2to2) const |
Find all inelastic 2->2 processes involving Pion and (anti-) Deuteron (dpi), specifically dπ→ NN, d̅π→ N̅N̅; πd→ πd' (mockup for πd→ πnp), πd̅→ πd̅' and reverse. More... | |
CollisionBranchList | dn_xx (ReactionsBitSet included_2to2) const |
Find all inelastic 2->2 processes involving Nucleon and (anti-) Deuteron (dN), specifically Nd → Nd', N̅d → N̅d', N̅d̅→ N̅d̅', Nd̅→ Nd̅' and reverse (e.g. More... | |
double | string_hard_cross_section () const |
Determine the (parametrized) hard non-diffractive string cross section for this collision. More... | |
CollisionBranchList | bar_bar_to_nuc_nuc (const bool is_anti_particles) const |
Calculate cross sections for resonance absorption (i.e. More... | |
template<class IntegrationMethod > | |
CollisionBranchList | find_nn_xsection_from_type (const ParticleTypePtrList &type_res_1, const ParticleTypePtrList &type_res_2, const IntegrationMethod integrator) const |
Utility function to avoid code replication in nn_xx(). More... | |
double | cm_momentum () const |
Determine the momenta of the incoming particles in the center-of-mass system. More... | |
template<typename F > | |
void | add_channel (CollisionBranchList &process_list, F &&get_xsection, double sqrts, const ParticleType &type_a, const ParticleType &type_b) const |
Helper function: Add a 2-to-2 channel to a collision branch list given a cross section. More... | |
Static Private Member Functions | |
static double | xs_dpi_dprimepi (const double sqrts, const double cm_mom, ParticleTypePtr produced_nucleus, const ParticleType &type_pi) |
Parametrized cross section for πd→ πd' (mockup for πd→ πnp), πd̅→ πd̅' and reverse, see Oliinychenko:2018ugs [39] for details. More... | |
static double | xs_dn_dprimen (const double sqrts, const double cm_mom, ParticleTypePtr produced_nucleus, const ParticleType &type_nucleus, const ParticleType &type_N) |
Parametrized cross section for Nd → Nd', N̅d → N̅d', N̅d̅→ N̅d̅', Nd̅→ Nd̅' and reverse (e.g. More... | |
static double | nn_to_resonance_matrix_element (double sqrts, const ParticleType &type_a, const ParticleType &type_b, const int twoI) |
Scattering matrix amplitude squared (divided by 16π) for resonance production processes like NN → NR and NN → ΔR, where R is a baryon resonance (Δ, N*, Δ*). More... | |
Private Attributes | |
const ParticleList | incoming_particles_ |
List with data of scattering particles. More... | |
const double | sqrt_s_ |
Total energy in the center-of-mass frame. More... | |
const std::pair< FourVector, FourVector > | potentials_ |
Potentials at the interacting point. More... | |
const bool | is_BBbar_pair_ |
Whether incoming particles are a pair of a baryon and an antibaryon (could be different baryon types) More... | |
const bool | is_NNbar_pair_ |
Whether incoming particles are a nulecon-antinucleon pair (same isospin) More... | |
smash::CrossSections::CrossSections | ( | const ParticleList & | incoming_particles, |
const double | sqrt_s, | ||
const std::pair< FourVector, FourVector > | potentials | ||
) |
Construct CrossSections instance.
[in] | incoming_particles | Particles that are reacting. |
[in] | sqrt_s | Center-of-mass energy of the reaction. |
[in] | potentials | Potentials at the interacting point. they are used to calculate the corrections on the thresholds. |
Definition at line 100 of file crosssections.cc.
CollisionBranchList smash::CrossSections::generate_collision_list | ( | double | elastic_parameter, |
bool | two_to_one_switch, | ||
ReactionsBitSet | included_2to2, | ||
MultiParticleReactionsBitSet | included_multi, | ||
double | low_snn_cut, | ||
bool | strings_switch, | ||
bool | use_AQM, | ||
bool | strings_with_probability, | ||
NNbarTreatment | nnbar_treatment, | ||
StringProcess * | string_process, | ||
double | scale_xs, | ||
double | additional_el_xs | ||
) | const |
Generate a list of all possible collisions between the incoming particles with the given c.m.
energy and the calculated cross sections. The string processes are not added at this step if it's not triggerd according to the probability. It will then be added in add_all_scatterings in scatteraction.cc
[in] | elastic_parameter | Value of the constant global elastic cross section, if it is non-zero. The parametrized elastic cross section is used otherwise. |
[in] | two_to_one_switch | 2->1 reactions enabled? |
[in] | included_2to2 | Which 2->2 ractions are enabled? |
[in] | included_multi | Which multi-particle reactions are enabled? |
[in] | low_snn_cut | Elastic collisions with CME below are forbidden. |
[in] | strings_switch | Are string processes enabled? |
[in] | use_AQM | Is the Additive Quark Model enabled? |
[in] | strings_with_probability | Are string processes triggered according to a probability? |
[in] | nnbar_treatment | NNbar treatment through resonance, strings or none |
[in] | string_process | a pointer to the StringProcess object, which is used for string excitation and fragmentation. |
[in] | scale_xs | Factor by which all (partial) cross sections are scaled |
[in] | additional_el_xs | Additional constant elastic cross section |
Definition at line 115 of file crosssections.cc.
|
inlinestatic |
Helper function: Sum all cross sections of the given process list.
Definition at line 116 of file crosssections.h.
CollisionBranchPtr smash::CrossSections::elastic | ( | double | elast_par, |
bool | use_AQM, | ||
double | add_el_xs, | ||
double | scale_xs | ||
) | const |
Determine the elastic cross section for this collision.
If elastic_par is given (and positive), we just use a constant cross section of that size, otherwise a parametrization of the elastic cross section is used (if available). Optional a constant additional elastic cross section is added
[in] | elast_par | Elastic cross section parameter from the input file. |
[in] | use_AQM | Whether to extend elastic cross-sections with AQM. |
[in] | add_el_xs | Additional constant elastic cross section |
[in] | scale_xs | Factor by which all (partial) cross sections are scaled |
Definition at line 195 of file crosssections.cc.
CollisionBranchList smash::CrossSections::two_to_one | ( | ) | const |
Find all resonances that can be produced in a 2->1 collision of the two input particles and the production cross sections of these resonances.
Given the data and type information of two colliding particles, create a list of possible resonance production processes and their cross sections.
Definition at line 710 of file crosssections.cc.
double smash::CrossSections::formation | ( | const ParticleType & | type_resonance, |
double | cm_momentum_sqr | ||
) | const |
Return the 2-to-1 resonance production cross section for a given resonance.
[in] | type_resonance | Type information for the resonance to be produced. |
[in] | cm_momentum_sqr | Square of the center-of-mass momentum of the two initial particles. |
Calculate resonance production cross section using the Breit-Wigner distribution as probability amplitude. See Eq. (176) in Buss:2011mx [10].
Definition at line 749 of file crosssections.cc.
CollisionBranchList smash::CrossSections::rare_two_to_two | ( | ) | const |
Find all 2->2 processes which are suppressed at high energies when strings are turned on with probabilites, but important for the production of rare species such as strange particles.
This function should call the different, more specific functions for the different scatterings. But so far, only Nucleon-Pion to Hyperon- Kaon scattering is implemented.
Definition at line 214 of file crosssections.cc.
CollisionBranchList smash::CrossSections::two_to_two | ( | ReactionsBitSet | included_2to2 | ) | const |
Find all inelastic 2->2 processes for the given scattering.
This function calls the different, more specific functions for the different scatterings.
[in] | included_2to2 | Which 2->2 reactions are enabled? |
Definition at line 786 of file crosssections.cc.
CollisionBranchList smash::CrossSections::two_to_three | ( | ) | const |
Find all 2->3 processes for the given scattering.
This function calls the different, more specific functions for the different scatterings.
Definition at line 836 of file crosssections.cc.
CollisionBranchList smash::CrossSections::two_to_four | ( | ) | const |
Find all 2->4 processes for the given scattering.
This function calls the different, more specific functions for the different scatterings.
Definition at line 891 of file crosssections.cc.
CollisionBranchList smash::CrossSections::string_excitation | ( | double | total_string_xs, |
StringProcess * | string_process, | ||
bool | use_AQM | ||
) | const |
Determine the cross section for string excitations, which is given by the difference between the parametrized total cross section and all the explicitly implemented channels at low energy (elastic, resonance excitation, etc).
[in] | total_string_xs | Total cross section for the string process [mb]. |
[in] | string_process | a pointer to the StringProcess object, which is used for string excitation and fragmentation. |
[in] | use_AQM | whether to extend string cross-sections with AQM |
std::runtime_error | if string_process is a null pointer. |
This method has to be called after all other processes have been determined.
Definition at line 2308 of file crosssections.cc.
CollisionBranchPtr smash::CrossSections::NNbar_annihilation | ( | const double | current_xs, |
const double | scale_xs | ||
) | const |
Determine the cross section for NNbar annihilation, which is given by the difference between the parametrized total cross section and all the explicitly implemented channels at low energy (in this case only elastic).
[in] | current_xs | Sum of all cross sections of already determined processes |
[in] | scale_xs | Factor by which all (partial) cross sections are scaled |
This method has to be called after all other processes have been determined.
Definition at line 2547 of file crosssections.cc.
CollisionBranchList smash::CrossSections::NNbar_creation | ( | ) | const |
Determine the cross section for NNbar creation, which is given by detailed balance from the reverse reaction.
See NNbar_annihilation.
Definition at line 2560 of file crosssections.cc.
CollisionBranchPtr smash::CrossSections::NNbar_to_5pi | ( | const double | scale_xs | ) | const |
Create collision branch for NNbar annihilation going directly into 5 pions.
The cross section is given by the parametrized ppbar cross section, which is also used for the reverse 5-to-2 process.
[in] | scale_xs | Factor by which all (partial) cross sections are scaled |
Definition at line 2530 of file crosssections.cc.
|
static |
Parametrization of deuteron-pion inelastic cross section.
[in] | pion_kinetic_energy | pion kinetic energy [GeV] in the deuteron rest frame |
Definition at line 943 of file crosssections.cc.
|
static |
Parametrization of deuteron-nucleon inelastic cross section.
[in] | N_kinetic_energy | Nucleon kinetic energy [GeV] in the deuteron rest frame |
Definition at line 948 of file crosssections.cc.
|
static |
Parametrization of deuteron-antinucleon inelastic cross section.
[in] | aN_kinetic_energy | [GeV] Anti-nucleon kinetic energy in the deuteron rest frame |
Definition at line 954 of file crosssections.cc.
|
static |
Determine 2->3 cross section for the scattering of the given particle types.
That the function only depends on the types of particles (plus sqrt(s)) and not on the specific particles, is an assumption needed in order to treat the 3->2 back-reaction with the stochastic criterion, where this function also needs to be called for 3-to-2 collision probability with only types and sqrt(s) known at this point. Therefore the function is also made static.
[in] | type_in1 | first scatterning particle type |
[in] | type_in2 | second scatterning particle type |
[in] | sqrts | center-of-mass energy of scattering |
Definition at line 958 of file crosssections.cc.
|
static |
Determine 2->4 cross section for the scattering of the given particle types.
Same assumptions as for 2->3 cross section, see respective documentation.
[in] | type_in1 | first scatterning particle type |
[in] | type_in2 | second scatterning particle type |
[in] | sqrts | center-of-mass energy of scattering |
Definition at line 997 of file crosssections.cc.
double smash::CrossSections::high_energy | ( | ) | const |
Determine the parametrized total cross section at high energies for the given collision, which is non-zero for Baryon-Baryon and Nucleon-Pion scatterings currently.
This is rescaled by AQM factors.
Definition at line 2443 of file crosssections.cc.
double smash::CrossSections::string_probability | ( | bool | strings_switch, |
bool | use_transition_probability, | ||
bool | use_AQM, | ||
bool | treat_nnbar_with_strings | ||
) | const |
If use_transition_probability is true: The string fragmentation is implemented in the same way in GiBUU (Physics Reports 512(2012), 1-124, pg. 33). If the center of mass energy is low, two particles scatter through the resonance channels. If high, the outgoing particles are generated by string fragmentation. If in between, the out- going particles are generated either through the resonance channels or string fragmentation by chance. In detail, the low energy region is from the threshold to (mix_scatter_type_energy - mix_scatter_type_window_width), while the high energy region is from (mix_scatter_type_energy + mix_scatter_type_window_width) to infinity. In between, the probability for string fragmentation increases smoothly from 0 to 1 as the c.m. energy.
If use_transition_probability is false: The string fragmentation is implemented similarly to what is in UrQMD (Bass:1998ca [4]). If sqrts is lower than some cutoff value, there are no strings. If higher, strings are allowed, with the cross-section being the difference between some parametrized total cross-section and the sum of all other channels, if this parametrization is larger than the sum of the channels. If not, strings are not allowed (this cross-section check is performed directly after the function is called, for technical reasons).
Both of these methods are initially implemented for NN and Npi cross- sections, and extended using the AQM to all BB, BM and MM interactions.
Baryon-antibaryon annihilation also uses this function to decide whether to produce strings or not. Since there are no other contributions for this process, there are no cutoffs or gradual increase in the probability of this process happening or not, it just requires the proper combination of incoming particles and config parameters.
[in] | strings_switch | Is string fragmentation enabled? |
[in] | use_transition_probability | which algorithm to use for string treatment (see Switch_on_String_with_Probability) |
[in] | use_AQM | whether AQM is activated |
[in] | treat_nnbar_with_strings | use strings for nnbar treatment? |
Definition at line 2820 of file crosssections.cc.
double smash::CrossSections::probability_transit_high | ( | const double | region_lower, |
const double | region_upper | ||
) | const |
[in] | region_lower | the lowest sqrts in the transition region [GeV] |
[in] | region_upper | the highest sqrts in the transition region [GeV] |
Definition at line 2912 of file crosssections.cc.
|
private |
Choose the appropriate parametrizations for given incoming particles and return the (parametrized) elastic cross section.
[in] | use_AQM | whether AQM is activated |
Definition at line 227 of file crosssections.cc.
|
private |
Determine the (parametrized) elastic cross section for a nucleon-nucleon (NN) collision.
std::runtime_error | if positive cross section cannot be specified. |
Definition at line 287 of file crosssections.cc.
|
private |
Determine the elastic cross section for a nucleon-pion (Npi) collision.
It is given by a parametrization of experimental data.
std::runtime_error | if incoming particles are not nucleon+pion. |
std::runtime_error | if positive cross section cannot be specified. |
Definition at line 318 of file crosssections.cc.
|
private |
Determine the elastic cross section for a nucleon-kaon (NK) collision.
It is given by a parametrization of experimental data.
std::runtime_error | if incoming particles are not nucleon+kaon. |
std::runtime_error | if positive cross section cannot be specified. |
Definition at line 615 of file crosssections.cc.
|
private |
Find all processes for Nucleon-Pion to Hyperon-Kaon Scattering.
These scatterings are suppressed at high energies when strings are turned on with probabilities, so they need to be added back manually.
Definition at line 401 of file crosssections.cc.
|
private |
Find all inelastic 2->2 processes for Baryon-Baryon (BB) Scattering except the more specific Nucleon-Nucleon Scattering.
[in] | included_2to2 | Which 2->2 reactions are enabled? |
Definition at line 1034 of file crosssections.cc.
|
private |
Find all inelastic 2->2 processes for Nucelon-Nucelon Scattering.
Calculate cross sections for resonance production from nucleon-nucleon collisions (i.e. N N -> N R, N N -> Delta R).
Checks are processed in the following order:
[in] | included_2to2 | Which 2->2 reactions are enabled? |
Definition at line 1061 of file crosssections.cc.
|
private |
Find all inelastic 2->2 background processes for Nucleon-Kaon (NK) Scattering.
[in] | included_2to2 | Which 2->2 reactions are enabled? |
Definition at line 1132 of file crosssections.cc.
|
private |
Find all inelastic 2->2 processes for Delta-Kaon (DeltaK) Scattering.
[in] | included_2to2 | Which 2->2 reactions are enabled? |
Definition at line 1615 of file crosssections.cc.
|
private |
Find all inelastic 2->2 processes for Hyperon-Pion (Ypi) Scattering.
[in] | included_2to2 | Which 2->2 reactions are enabled? |
Definition at line 1764 of file crosssections.cc.
|
private |
Find all inelastic 2->2 processes involving Pion and (anti-) Deuteron (dpi), specifically dπ→ NN, d̅π→ N̅N̅; πd→ πd' (mockup for πd→ πnp), πd̅→ πd̅' and reverse.
[in] | included_2to2 | Which 2->2 reactions are enabled? |
Definition at line 2152 of file crosssections.cc.
|
private |
Find all inelastic 2->2 processes involving Nucleon and (anti-) Deuteron (dN), specifically Nd → Nd', N̅d → N̅d', N̅d̅→ N̅d̅', Nd̅→ Nd̅' and reverse (e.g.
Nd'→ Nd).
[in] | included_2to2 | Which 2->2 reactions are enabled? |
Definition at line 2279 of file crosssections.cc.
|
staticprivate |
Parametrized cross section for πd→ πd' (mockup for πd→ πnp), πd̅→ πd̅' and reverse, see Oliinychenko:2018ugs [39] for details.
[in] | sqrts | square-root of mandelstam s |
[in] | cm_mom | center of mass momentum of incoming particles |
[in] | produced_nucleus | type of outgoing deuteron or d-prime |
[in] | type_pi | type of scattering pion |
Definition at line 2120 of file crosssections.cc.
|
staticprivate |
Parametrized cross section for Nd → Nd', N̅d → N̅d', N̅d̅→ N̅d̅', Nd̅→ Nd̅' and reverse (e.g.
Nd'→ Nd), see Oliinychenko:2018ugs [39] for details.
[in] | sqrts | square-root of mandelstam s |
[in] | cm_mom | center of mass momentum of incoming particles |
[in] | produced_nucleus | type of outgoing deuteron or d-prime |
[in] | type_nucleus | type of scattering (incoming) deuteron or d-prime |
[in] | type_N | type of scattering nucleon |
Nd → Nd', N̅d̅→ N̅d̅' and reverse: Fit to match experimental cross-section Nd -> Nnp from [13].
N̅d → N̅d', Nd̅→ Nd̅' and reverse: Fit to roughly match experimental cross-section N̅d -> N̅ np from Bizzarri:1973sp [7].
Definition at line 2241 of file crosssections.cc.
|
private |
Determine the (parametrized) hard non-diffractive string cross section for this collision.
Definition at line 2506 of file crosssections.cc.
|
private |
Calculate cross sections for resonance absorption (i.e.
NR->NN and ΔR->NN).
[in] | is_anti_particles | Whether the colliding particles are antiparticles |
Cross section for 2->2 resonance absorption, obtained via detailed balance from the inverse reaction. See eqs. (B.6), (B.9) and (181) in Buss:2011mx [10]. There are factors for spin, isospin and symmetry involved.
Definition at line 2592 of file crosssections.cc.
|
staticprivate |
Scattering matrix amplitude squared (divided by 16π) for resonance production processes like NN → NR and NN → ΔR, where R is a baryon resonance (Δ, N*, Δ*).
Includes no spin or isospin factors.
[in] | sqrts | sqrt(Mandelstam-s), i.e. collision CMS energy. |
[in] | type_a | Type information for the first final-state particle. |
[in] | type_b | Type information for the second final-state particle. |
[in] | twoI | Twice the total isospin of the involved state. |
NN → NΔ: fit sqrt(s)-dependence to OBE model [Dmitriev:1986st [17]]
All other processes use a constant matrix element, similar to Bass:1998ca [4], equ. (3.35).
pn → pnη cross section is known to be larger than the corresponding pp → ppη cross section by a factor of 6.5 [Calen:1998vh [11]]. Since the eta is mainly produced by an intermediate N*(1535) we introduce an explicit isospin asymmetry for the production of N*(1535) produced in pn vs. pp similar to [Teis:1996kx [51]], eq. 29.
Definition at line 2658 of file crosssections.cc.
|
private |
Utility function to avoid code replication in nn_xx().
[in] | type_res_1 | List of possible first final resonance types |
[in] | type_res_2 | List of possible second final resonance types |
[in] | integrator | Used to integrate over the kinematically allowed mass range of the Breit-Wigner distribution |
Cross section for 2->2 process with 1/2 resonance(s) in final state. Based on Eq. (46) in Weil:2013mya [54] and Eq. (3.29) in Bass:1998ca [4]
Definition at line 2746 of file crosssections.cc.
|
inlineprivate |
Determine the momenta of the incoming particles in the center-of-mass system.
Definition at line 606 of file crosssections.h.
|
inlineprivate |
Helper function: Add a 2-to-2 channel to a collision branch list given a cross section.
The cross section is only calculated if there is enough energy for the process. If the cross section is small, the branch is not added.
Definition at line 641 of file crosssections.h.
|
private |
List with data of scattering particles.
Definition at line 613 of file crosssections.h.
|
private |
Total energy in the center-of-mass frame.
Definition at line 616 of file crosssections.h.
|
private |
Potentials at the interacting point.
They are used to calculate the corrections on the threshold energies.
Definition at line 622 of file crosssections.h.
|
private |
Whether incoming particles are a pair of a baryon and an antibaryon (could be different baryon types)
Definition at line 628 of file crosssections.h.
|
private |
Whether incoming particles are a nulecon-antinucleon pair (same isospin)
Definition at line 631 of file crosssections.h.