|
CORSIKA8
0.0.0
The framework to simulate particle cascades for astroparticle physics
|
Define ParticleInterface for NuclearStackExtension Stack derived from ParticleInterface of Inner stack class. More...
#include <NuclearStackExtension.hpp>

Public Types | |
| typedef InnerParticleInterface< StackIteratorInterface > | super_type |
| typedef std::tuple< Code, HEPEnergyType, DirectionVector, Point, TimeType, unsigned short, unsigned short > | nuclear_particle_data_type |
| typedef std::tuple< Code, MomentumVector, Point, TimeType, unsigned short, unsigned short > | nuclear_particle_data_momentum_type |
Public Member Functions | |
| void | setParticleData (typename super_type::particle_data_type const &v) |
| void | setParticleData (nuclear_particle_data_type const &v) |
| void | setParticleData (super_type &p, typename super_type::particle_data_type const &v) |
| void | setParticleData (super_type &p, nuclear_particle_data_type const &v) |
| void | setParticleData (typename super_type::particle_data_momentum_type const &v) |
| void | setParticleData (nuclear_particle_data_momentum_type const &v) |
| void | setParticleData (super_type &p, typename super_type::particle_data_momentum_type const &v) |
| void | setParticleData (super_type &p, nuclear_particle_data_momentum_type const &v) |
| std::string | asString () const |
| PDGCode | getPDG () const |
| Overwrite normal getPDG function with nuclear version. | |
| void | setMomentum (MomentumVector const &v) |
| Overwrite normal setMomentum function with nuclear version. | |
| MomentumVector | getMomentum () const |
| Overwrite normal getMomentum function with nuclear version. | |
| void | setEnergy (HEPEnergyType const &e) |
| Overwrite normal getEnergy function with nuclear version. | |
| VelocityVector | getVelocity () const |
| Overwrite normal getVelocity function with nuclear version. | |
| HEPMassType | getMass () const |
| Overwrite normal getMass function with nuclear version. | |
| ElectricChargeType | getCharge () const |
| Overwrite normal getParticleCharge function with nuclear version. | |
| HEPEnergyType | getEnergy () const |
| Overwrite normal getEnergy function with nuclear version. | |
| int16_t | getChargeNumber () const |
| Overwirte normal getChargeNumber function with nuclear version. | |
| int | getNucleusRef () const |
individual setters | |
| void | setNuclearA (const unsigned short vA) |
| void | setNuclearZ (const unsigned short vZ) |
individual getters | |
| int | getNuclearA () const |
| int | getNuclearZ () const |
Protected Member Functions | |
| void | setNucleusRef (const int vR) |
| bool | isNucleus () const |
Define ParticleInterface for NuclearStackExtension Stack derived from ParticleInterface of Inner stack class.
Add A and Z data to existing stack (currently VectorStack) of particle properties. This is done via inheritance, not via CombinedStack since the nuclear data is stored ONLY when needed (for nuclei) and not for all particles. Thus, this is a new, derived Stack object.
Only for Code::Nucleus particles A and Z are stored, not for all normal elementary particles.
Thus in your code, make sure to always check particle.getPID()==Code::Nucleus before attempting to read any nuclear information.
Definition at line 44 of file NuclearStackExtension.hpp.
| void corsika::nuclear_stack::NuclearParticleInterface< InnerParticleInterface, StackIteratorInterface >::setParticleData | ( | typename super_type::particle_data_type const & | v | ) |
| v | which is a tuple containing: PID, kinetic Energy, DirectionVector, Position, Time |
| void corsika::nuclear_stack::NuclearParticleInterface< InnerParticleInterface, StackIteratorInterface >::setParticleData | ( | nuclear_particle_data_type const & | v | ) |
| v | which is a tuple containing: PID, kinetic Energy, DirectionVector, Position, Time, A, Z |
| void corsika::nuclear_stack::NuclearParticleInterface< InnerParticleInterface, StackIteratorInterface >::setParticleData | ( | super_type & | p, |
| typename super_type::particle_data_type const & | v | ||
| ) |
| p | the parent particle |
| v | which is a tuple containing: PID, Momentum Vector, Position, Time |
| void corsika::nuclear_stack::NuclearParticleInterface< InnerParticleInterface, StackIteratorInterface >::setParticleData | ( | super_type & | p, |
| nuclear_particle_data_type const & | v | ||
| ) |
| p | the parent particle |
| v | which is a tuple containing: PID, Momentum Vector, Position, Time, A, Z |
| void corsika::nuclear_stack::NuclearParticleInterface< InnerParticleInterface, StackIteratorInterface >::setParticleData | ( | typename super_type::particle_data_momentum_type const & | v | ) |
| v | which is a tuple containing: PID, Total Energy, MomentumVector, Position, Time |
| void corsika::nuclear_stack::NuclearParticleInterface< InnerParticleInterface, StackIteratorInterface >::setParticleData | ( | nuclear_particle_data_momentum_type const & | v | ) |
| v | which is a tuple containing: PID, Total Energy, MomentumVector, Position, Time, A, Z |
| void corsika::nuclear_stack::NuclearParticleInterface< InnerParticleInterface, StackIteratorInterface >::setParticleData | ( | super_type & | p, |
| typename super_type::particle_data_momentum_type const & | v | ||
| ) |
| p | parent particle |
| v | which is a tuple containing: PID, Total Energy, MomentumVector, Position, Time |
| void corsika::nuclear_stack::NuclearParticleInterface< InnerParticleInterface, StackIteratorInterface >::setParticleData | ( | super_type & | p, |
| nuclear_particle_data_momentum_type const & | v | ||
| ) |
| p | parent particle |
| v | which is a tuple containing: PID, Total Energy, MomentumVector, Position, Time, A, Z |