Struct ActsFatras::NuclearInteraction

struct 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>
inline std::pair<Scalar, Scalar> generatePathLimits(generator_t &generator, const Particle &particle) const

This method evaluates the nuclear interaction length L0.

Template Parameters

generator_t – The random number generator type

Parameters
  • generator[inout] The random number generator

  • particle[in] The ingoing particle

Returns

valid X0 limit and no limit on L0

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

This method performs a nuclear interaction.

Template Parameters

generator_t – The random number generator type

Parameters
  • generator[inout] The random number generator

  • particle[inout] The ingoing particle

  • generated[out] Additional generated particles

Returns

True if the particle was killed, false otherwise

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