|
CORSIKA
@c8_version@
The framework to simulate particle cascades for astroparticle physics
|
Provides the SIBYLL hadron-nucleus interaction model. More...
#include <HadronInteractionModel.hpp>
Public Member Functions | |
| void | setVerbose (bool const flag) |
| Set the Verbose flag. More... | |
| bool constexpr | isValid (Code const projectileId, Code const targetId, HEPEnergyType const sqrtSnn) const |
| evaluated validity of collision system. More... | |
| std::tuple< CrossSectionType, CrossSectionType > | getCrossSectionInelEla (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 TSecondaries > | |
| void | doInteraction (TSecondaries &view, Code const projectile, Code const target, FourMomentum const &projectileP4, FourMomentum const &targetP4) |
| In this function SIBYLL is called to produce one event. More... | |
Provides the SIBYLL hadron-nucleus interaction model.
This is a TModel argument for InteractionProcess<TModel>.
Definition at line 26 of file HadronInteractionModel.hpp.
| void corsika::sibyll::HadronInteractionModel::doInteraction | ( | TSecondaries & | view, |
| Code const | projectile, | ||
| Code const | target, | ||
| FourMomentum const & | projectileP4, | ||
| FourMomentum const & | targetP4 | ||
| ) |
In this function SIBYLL is called to produce one event.
The event is copied (and boosted) into the shower lab frame.
| view | is the stack object for the secondaries |
| projectile | is the Code of the projectile |
| target | is the Code of the target |
| projectileP4 | four-momentum of projectile |
| targetP4 | four-momentum of target |
|
inline |
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).
| projectile | is the Code of the projectile |
| target | is the Code of the target |
| projectileP4 | four-momentum of projectile |
| targetP4 | four-momentum of target |
Definition at line 84 of file HadronInteractionModel.hpp.
| std::tuple<CrossSectionType, CrossSectionType> corsika::sibyll::HadronInteractionModel::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.
| projectile | is the Code of the projectile |
| target | is the Code of the target |
| projectileP4 | four-momentum of projectile |
| targetP4 | four-momentum of target |
| bool constexpr corsika::sibyll::HadronInteractionModel::isValid | ( | Code const | projectileId, |
| Code const | targetId, | ||
| HEPEnergyType const | sqrtSnn | ||
| ) | const |
evaluated validity of collision system.
sibyll only accepts nuclei with 4<=A<=18 as targets, or protons aka Hydrogen or neutrons (p,n == nucleon).
| void corsika::sibyll::HadronInteractionModel::setVerbose | ( | bool const | flag | ) |
Set the Verbose flag.
If flag is true, SIBYLL will printout additional secondary particle information lists, etc.
| flag | to switch. |