CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
corsika::ParticleInterface< TStackIterator > Class Template Reference

Example of a particle object on the stack. More...

#include <VectorStack.hpp>

Inheritance diagram for corsika::ParticleInterface< TStackIterator >:

Public Types

typedef std::tuple< Code, HEPEnergyType, DirectionVector, Point, TimeTypeparticle_data_type
 particle data information content. More...
 
typedef std::tuple< Code, HEPEnergyType, DirectionVectorsecondary_data_type
 secondary particle data information content. More...
 
typedef std::tuple< Code, HEPEnergyType, DirectionVector, Vector< length_d >, TimeTypesecondary_extended_data_type
 secondary particle data information content with position and time update. More...
 
- Public Types inherited from corsika::ParticleBase< TStackIterator >
typedef TStackIterator stack_iterator_type
 

Public Member Functions

std::string asString () const
 
void setParticleData (particle_data_type const &v)
 Set data of new particle. More...
 
void setParticleData (ParticleInterface< TStackIterator > const &parent, secondary_data_type const &v)
 Set data of new particle. More...
 
void setParticleData (ParticleInterface< TStackIterator > const &parent, secondary_extended_data_type const &v)
 Set data of new particle. More...
 
void setPID (Code const id)
 ! Set particle corsika::Code
 
void setEnergy (HEPEnergyType const &e)
 ! Set energy
 
void setKineticEnergy (HEPEnergyType const &ekin)
 ! Set kinetic energy
 
void setDirection (DirectionVector const &v)
 Set direction.
 
void setPosition (Point const &v)
 Set position.
 
void setTime (TimeType const &v)
 Set time.
 
Code getPID () const
 Get corsika::Code.
 
PDGCode getPDG () const
 Get PDG code.
 
HEPEnergyType getKineticEnergy () const
 Get kinetic energy.
 
DirectionVector const & getDirection () const
 Get direction.
 
Point const & getPosition () const
 Get position.
 
TimeType getTime () const
 Get time.
 
derived quantities
VelocityVector getVelocity () const
 Get velocity.
 
MomentumVector getMomentum () const
 Get momentum.
 
HEPMassType getMass () const
 Get mass of particle.
 
ElectricChargeType getCharge () const
 Get electric charge.
 
HEPEnergyType getEnergy () const
 Get total energy.
 
int16_t getChargeNumber () const
 Get charge number.
 
- Public Member Functions inherited from corsika::ParticleBase< TStackIterator >
 ParticleBase (ParticleBase &&)=delete
 
 ParticleBase (ParticleBase const &)=delete
 
ParticleBase operator= (ParticleBase &&)=delete
 
ParticleBase operator= (ParticleBase const &)=delete
 
void erase ()
 Delete this particle on the stack. More...
 
bool isErased () const
 Method to retrieve the status of the Particle. More...
 
template<typename... TArgs>
stack_iterator_type addSecondary (const TArgs... args)
 Add a secondary particle based on *this on the stack. More...
 
stack_iterator_type & getIterator ()
 return the corresponding TStackIterator for this particle
 
const stack_iterator_type & getIterator () const
 

Additional Inherited Members

- Protected Member Functions inherited from corsika::ParticleBase< TStackIterator >
auto & getStackData ()
 
const auto & getStackData () const
 
auto & getStack ()
 
const auto & getStack () const
 
std::size_t getIndex () const
 return the index number of the underlying iterator object
 

Detailed Description

template<typename TStackIterator>
class corsika::ParticleInterface< TStackIterator >

Example of a particle object on the stack.

Definition at line 31 of file VectorStack.hpp.

Member Typedef Documentation

◆ particle_data_type

template<typename TStackIterator>
typedef std::tuple<Code, HEPEnergyType, DirectionVector, Point, TimeType> corsika::ParticleInterface< TStackIterator >::particle_data_type

particle data information content.

PID, Ekin, direction, position, time.

Definition at line 43 of file VectorStack.hpp.

◆ secondary_data_type

template<typename TStackIterator>
typedef std::tuple<Code, HEPEnergyType, DirectionVector> corsika::ParticleInterface< TStackIterator >::secondary_data_type

secondary particle data information content.

PID, Ekin, direction.

Definition at line 50 of file VectorStack.hpp.

◆ secondary_extended_data_type

template<typename TStackIterator>
typedef std::tuple<Code, HEPEnergyType, DirectionVector, Vector<length_d>, TimeType> corsika::ParticleInterface< TStackIterator >::secondary_extended_data_type

secondary particle data information content with position and time update.

PID, Ekin, direction, delta-Position, delta-Time.

Definition at line 58 of file VectorStack.hpp.

Member Function Documentation

◆ setParticleData() [1/3]

template<typename TStackIterator>
void corsika::ParticleInterface< TStackIterator >::setParticleData ( particle_data_type const &  v)

Set data of new particle.

Parameters
vtuple containing of type particle_data_type

◆ setParticleData() [2/3]

template<typename TStackIterator>
void corsika::ParticleInterface< TStackIterator >::setParticleData ( ParticleInterface< TStackIterator > const &  parent,
secondary_data_type const &  v 
)

Set data of new particle.

Parameters
parentparent particle
vtuple containing of type secondary_data_type.

◆ setParticleData() [3/3]

template<typename TStackIterator>
void corsika::ParticleInterface< TStackIterator >::setParticleData ( ParticleInterface< TStackIterator > const &  parent,
secondary_extended_data_type const &  v 
)

Set data of new particle.

Parameters
parentparent particle
vtuple containing of type secondary_extended_data_type.

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