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

Public Member Functions

 InteractionModel (std::string const &dataPath="", bool const epos_printout_on=false)
 
std::tuple< CrossSectionType, CrossSectionTypecalcCrossSectionCoM (Code const corsikaId, int const, int const, Code const targetId, int const, int const, HEPEnergyType const sqrtS) const
 Returns production and elastic cross section for hadrons in epos. More...
 
std::tuple< CrossSectionType, CrossSectionTypereadCrossSectionTableLab (Code const, int const, int const, Code const, HEPEnergyType const) const
 Returns production and elastic cross section for hadrons in epos by reading pre-calculated tables from epos.
 
std::tuple< CrossSectionType, CrossSectionTypegetCrossSectionInelEla (Code const projectileId, Code const targetId, FourMomentum const &projectileP4, FourMomentum const &targetP4) const
 Returns production and elastic cross section. More...
 
bool isValid (Code const projectileId, Code const targetId, HEPEnergyType const sqrtS) const
 Checks validity of projectile, target and energy combination. More...
 
CrossSectionType getCrossSection (Code const projectileId, Code const targetId, FourMomentum const &projectileP4, FourMomentum const &targetP4) const
 Get the inelatic/production cross section. More...
 
template<typename TSecondaries >
void doInteraction (TSecondaries &, Code const projectileId, Code const targetId, FourMomentum const &projectileP4, FourMomentum const &targetP4)
 Calculate one hadron-hadron interaction.
 
void initializeEventCoM (Code const, int const, int const, Code const, int const, int const, HEPEnergyType const) const
 
void initializeEventLab (Code const, int const, int const, Code const, int const, int const, HEPEnergyType const) const
 
void configureParticles (Code const, int const, int const, Code const, int const, int const) const
 

Detailed Description

Definition at line 19 of file InteractionModel.hpp.

Member Function Documentation

◆ calcCrossSectionCoM()

std::tuple<CrossSectionType, CrossSectionType> corsika::epos::InteractionModel::calcCrossSectionCoM ( Code const  corsikaId,
int  const,
int  const,
Code const  targetId,
int  const,
int  const,
HEPEnergyType const  sqrtS 
) const

Returns production and elastic cross section for hadrons in epos.

Allowed targets are: nuclei or single nucleons (p,n,hydrogen). This routine calculates the cross sections from scratch.

Note: Very slow!, use tabulation for any performance application.

Parameters
corsikaId- PID of beam particle,
targetId- PID of target particle
sqrtS- center-of-mass energy.

◆ getCrossSection()

CrossSectionType corsika::epos::InteractionModel::getCrossSection ( Code const  projectileId,
Code const  targetId,
FourMomentum const &  projectileP4,
FourMomentum const &  targetP4 
) const
inline

Get the inelatic/production cross section.

Parameters
projectileId
targetId
projectileP4
targetP4
Returns
CrossSectionType

Definition at line 78 of file InteractionModel.hpp.

◆ getCrossSectionInelEla()

std::tuple<CrossSectionType, CrossSectionType> corsika::epos::InteractionModel::getCrossSectionInelEla ( Code const  projectileId,
Code const  targetId,
FourMomentum const &  projectileP4,
FourMomentum const &  targetP4 
) const

Returns production and elastic cross section.

Allowed configurations are hadron-nucleon, hadron-nucleus and nucleus-nucleus. Inputs are particle id's mass and charge numbers and total energy in the lab.

◆ isValid()

bool corsika::epos::InteractionModel::isValid ( Code const  projectileId,
Code const  targetId,
HEPEnergyType const  sqrtS 
) const

Checks validity of projectile, target and energy combination.

EPOSLHC only accepts nuclei with X<=A<=Y as targets, or protons aka Hydrogen or neutrons (p,n == nucleon).


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