CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
corsika::pythia8::Interaction Class Reference
Inheritance diagram for corsika::pythia8::Interaction:

Public Member Functions

 Interaction (boost::filesystem::path const &mpiInitFile=corsika_data("Pythia/main184.mpi"), bool const print_listing=false)
 
bool canInteract (Code const) const
 
bool isValid (Code const projectileId, Code const targetId, HEPEnergyType const sqrtS) const
 
std::tuple< CrossSectionType, CrossSectionTypegetCrossSectionInelEla (Code const projectile, Code const target, FourMomentum const &projectileP4, FourMomentum const &targetP4) const
 Returns inelastic AND elastic cross sections. More...
 
CrossSectionType getCrossSection (Code const projectile, Code const target, FourMomentum const &projectileP4, FourMomentum const &targetP4) const
 Returns inelastic (production) cross section. More...
 
template<typename TView >
void doInteraction (TView &output, Code const projectileId, Code const targetId, FourMomentum const &projectileP4, FourMomentum const &targetP4)
 In this function PYTHIA is called to produce one event. More...
 
double getAverageSubcollisions (Code targetId, CrossSectionType sigTot) const
 return average number of sub-collisions in a nucleus, using the parameterizations of Sjöstrand and Utheim, EPJ C 82 (2022) 1, 21, arXiv:2108.03481 [hep-ph] More...
 

Static Public Attributes

static std::array constexpr validTargets_
 
- Static Public Attributes inherited from corsika::BaseProcess< Interaction >
static bool const is_process_sequence
 
static bool const is_switch_process_sequence
 

Additional Inherited Members

- Public Types inherited from corsika::BaseProcess< Interaction >
using process_type = Interaction
 Base processor type for use in other template classes.
 
- Protected Member Functions inherited from corsika::BaseProcess< Interaction >
Interaction & getRef ()
 
const Interaction & getRef () const
 
- Protected Attributes inherited from corsika::BaseProcess< Interaction >
friend TDerived
 

Detailed Description

Definition at line 22 of file Interaction.hpp.

Member Function Documentation

◆ doInteraction()

template<typename TView >
void corsika::pythia8::Interaction::doInteraction ( TView &  output,
Code const  projectileId,
Code const  targetId,
FourMomentum const &  projectileP4,
FourMomentum const &  targetP4 
)

In this function PYTHIA is called to produce one event.

The event is copied (and boosted) into the shower lab frame.

◆ getAverageSubcollisions()

double corsika::pythia8::Interaction::getAverageSubcollisions ( Code  targetId,
CrossSectionType  sigTot 
) const

return average number of sub-collisions in a nucleus, using the parameterizations of Sjöstrand and Utheim, EPJ C 82 (2022) 1, 21, arXiv:2108.03481 [hep-ph]

Parameters
targetIdtarget (nucleus)
sigTotprojectile-nucleon (=proton) cross-secion

◆ getCrossSection()

CrossSectionType corsika::pythia8::Interaction::getCrossSection ( Code const  projectile,
Code const  target,
FourMomentum const &  projectileP4,
FourMomentum const &  targetP4 
) const

Returns inelastic (production) cross section.

This cross section must correspond to the process described in doInteraction. Allowed targets are: nuclei or single nucleons (p,n,hydrogen).

Parameters
projectileis the Code of the projectile
targetis the Code of the target
sqrtSnnis the center-of-mass energy (per nucleon pair)
Aprojectilis the mass number of the projectils, if it is a nucleus
Atargetis the mass number of the target, if it is a nucleus
Returns
inelastic cross section elastic cross section

◆ getCrossSectionInelEla()

std::tuple<CrossSectionType, CrossSectionType> corsika::pythia8::Interaction::getCrossSectionInelEla ( Code const  projectile,
Code const  target,
FourMomentum const &  projectileP4,
FourMomentum const &  targetP4 
) const

Returns inelastic AND elastic cross sections.

These cross sections must correspond to the process described in doInteraction AND elastic scattering (sigma_tot = sigma_inel + sigma_el). Allowed targets are: nuclei or single nucleons (p,n,hydrogen). This "InelEla" method is used since Sibyll must be useful inside the NuclearInteraction model, which requires that.

Parameters
projectileis the Code of the projectile
targetis the Code of the target
sqrtSnnis the center-of-mass energy (per nucleon pair)
Aprojectilis the mass number of the projectils, if it is a nucleus
Atargetis the mass number of the target, if it is a nucleus
Returns
a tuple of: inelastic cross section, elastic cross section

Member Data Documentation

◆ validTargets_

std::array constexpr corsika::pythia8::Interaction::validTargets_
static
Initial value:
{Code::Oxygen, Code::Nitrogen,
Code::Argon, Code::Hydrogen,
Code::Proton, Code::Neutron}

Definition at line 90 of file Interaction.hpp.


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