Class ActsFatras::PhotonConversion

class 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.

Template Parameters

generator_t – Type of the random number generator

Parameters
  • generator[inout] The random number generator

  • particle[in] The particle

Returns

valid X0 limit and no limit on L0

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.

Template Parameters

generator_t – Type of the random number generator

Parameters
  • generator[inout] The random number generator

  • particle[inout] The interacting photon

  • generated[out] List of generated particles

Returns

True if the conversion occured, else false

Public Members

Scalar childEnergyScaleFactor = 2.

Scaling factor of children energy.

Scalar conversionProbScaleFactor = 0.98

Scaling factor for photon conversion probability.