Struct NuclearInteraction

Struct Documentation

struct ActsFatras::NuclearInteraction

This class provides a parametrised nuclear interaction.

The thereby required parametrisation needs to be set and is not provided by default.

Note

This class differs between two different processes labelled as nuclear interaction. Either the initial particle survives (soft) or it gets destroyed (hard) by this process.

Public Types

using Scalar = Particle::Scalar

Public Functions

template<typename generator_t>
std::pair<Scalar, Scalar> generatePathLimits(generator_t &generator, const Particle &particle) const

This method evaluates the nuclear interaction length L0.

Return

valid X0 limit and no limit on L0

Template Parameters
  • generator_t: The random number generator type

Parameters
  • [inout] generator: The random number generator

  • [in] particle: The ingoing particle

template<typename generator_t>
bool run(generator_t &generator, Particle &particle, std::vector<Particle> &generated) const

This method performs a nuclear interaction.

Return

True if the particle was killed, false otherwise

Template Parameters
  • generator_t: The random number generator type

Parameters
  • [inout] generator: The random number generator

  • [in] slab: The material

  • [inout] particle: The ingoing particle

Public Members

detail::MultiParticleNuclearInteractionParametrisation multiParticleParameterisation

The storage of the parameterisation.

unsigned int nMatchingTrials = 100

The number of trials to match momenta and inveriant masses.

unsigned int nMatchingTrialsTotal = 1000