Class ActsFatras::PhotonConversion

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.

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.