Class PhotonConversion

Class Documentation

class ActsFatras::PhotonConversion

This class handles the photon conversion.

It evaluates the distance after which the interaction will occur and the final state due the interaction itself.

Public Types

using Scalar = ActsFatras::Particle::Scalar

Public Functions

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

Method for evaluating the distance after which the photon conversion will occur.

Return

valid X0 limit and no limit on L0

Template Parameters
  • generator_t: Type of the random number generator

Parameters
  • [inout] generator: The random number generator

  • [in] momentum: The momentum of the particle

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

This method evaluates the final state due to the photon conversion.

Return

True if the conversion occured, else false

Template Parameters
  • generator_t: Type of the random number generator

Parameters
  • [inout] generator: The random number generator

  • [inout] particle: The interacting photon

  • [out] generated: List of generated particles

Public Members

Scalar childEnergyScaleFactor = 2.

Scaling factor of children energy.

Scalar conversionProbScaleFactor = 0.98

Scaling factor for photon conversion probability.