CORSIKA8  0.0.0
The framework to simulate particle cascades for astroparticle physics
ParticleProperties.hpp File Reference

Interface to particle properties. More...

#include <array>
#include <cstdint>
#include <cmath>
#include <iosfwd>
#include <string_view>
#include <type_traits>
#include <unordered_map>
#include <corsika/framework/core/PhysicalUnits.hpp>
#include <corsika/framework/core/GeneratedParticleProperties.inc>
#include <corsika/detail/framework/core/ParticleProperties.inl>
#include <corsika/framework/core/GeneratedParticleClasses.inc>
Include dependency graph for ParticleProperties.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 corsika
 The cascade namespace assembles all objects needed to simulate full particles cascades.
 

Typedefs

using corsika::CodeIntType = int32_t std::underlying_type< Code >::type
 The Code enum is the actual place to define CORSIKA 8 particle codes. More...
 
using corsika::PDGCodeType = std::underlying_type< PDGCode >::type
 

Functions

int16_t constexpr corsika::get_charge_number (Code const)
 electric charge in units of e
 
ElectricChargeType constexpr corsika::get_charge (Code const)
 electric charge
 
HEPMassType constexpr corsika::get_mass (Code const)
 mass
 
HEPEnergyType constexpr corsika::get_kinetic_energy_threshold (Code const)
 get kinetic energy threshold below which the particle is discarded, by default set to zero
 
void constexpr corsika::set_kinetic_energy_threshold (Code const, HEPEnergyType const)
 set kinetic energy threshold below which the particle is discarded
 
void corsika::set_kinetic_energy_threshold (std::pair< Code const, HEPEnergyType const > p)
 
void corsika::set_kinetic_energy_thresholds (std::unordered_map< Code const, HEPEnergyType const > const &eCuts)
 
PDGCode constexpr corsika::get_PDG (Code const)
 Particle code according to PDG, "Monte Carlo Particle Numbering Scheme".
 
PDGCode constexpr corsika::get_PDG (unsigned int A, unsigned int Z)
 
std::string_view constexpr corsika::get_name (Code const)
 name of the particle as string
 
TimeType constexpr corsika::get_lifetime (Code const)
 lifetime
 
bool constexpr corsika::is_nucleus (Code const)
 true iff the particle is a hard-coded nucleus or Code::Nucleus
 
bool constexpr corsika::is_hadron (Code const)
 true iff particle is hadron
 
bool constexpr corsika::is_em (Code const)
 true iff particle is electron, positron or photon
 
bool constexpr corsika::is_muon (Code const)
 true iff particle is mu+ or mu-
 
bool constexpr corsika::is_neutrino (Code const)
 true iff particle is (anti-) neutrino
 
int constexpr corsika::get_nucleus_A (Code const)
 returns A for hard-coded nucleus, otherwise 0
 
int constexpr corsika::get_nucleus_Z (Code const)
 returns Z for hard-coded nucleus, otherwise 0
 
HEPMassType corsika::get_nucleus_mass (unsigned int const, unsigned int const)
 returns mass of (A,Z) nucleus, disregarding binding energy
 
Code corsika::convert_from_PDG (PDGCode const)
 convert PDG code to CORSIKA 8 internal code
 
std::initializer_list< Code > constexpr corsika::get_all_particles ()
 
std::ostream & corsika::operator<< (std::ostream &, corsika::Code)
 the output stream operator for human-readable particle codes
 

Detailed Description

Interface to particle properties.

Definition in file ParticleProperties.hpp.