Struct BetheHeitler

Struct Documentation

struct ActsFatras::BetheHeitler

Simulate electron energy loss using the Bethe-Heitler description.

Bethe-Heitler for electron bremsstrahlung description as described here: “A Gaussian-mixture approximation of the Bethe–Heitler model of electron

energy loss by bremsstrahlung” R. Frühwirth

Public Types

using Scalar = Particle::Scalar
using Vector3 = Particle::Vector3

Public Functions

Particle bremPhoton(const Particle &particle, Scalar gammaE, Scalar rndPsi, Scalar rndTheta1, Scalar rndTheta2, Scalar rndTheta3) const

Simulate the photon emission.

Parameters
  • [in] particle: The unmodified electron

  • [in] gammaE: Energy of the photon

  • [in] rndPsi: Random number for the azimuthal angle

  • [in] rndTheta1: Random number for the polar angle

  • [in] rndTheta2: Random number for the polar angle

  • [in] rndTheta3: Random number for the polar angle

template<typename generator_t>
std::array<Particle, 1> operator()(generator_t &generator, const Acts::MaterialSlab &slab, Particle &particle) const

Simulate energy loss and update the particle parameters.

Return

Produced photon.

Parameters
  • [in] generator: is the random number generator

  • [in] slab: defines the passed material

  • [inout] particle: is the particle being updated

Template Parameters
  • generator_t: is a RandomNumberEngine

Public Members

double scaleFactor = 1.

A scaling factor to.

bool uniformHertzDipoleAngle = false