File PhotonConversion.hpp¶
-
namespace ActsFatras
-
class PhotonConversion
- #include <ActsFatras/Physics/ElectroMagnetic/PhotonConversion.hpp>
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.
Private Functions
-
template<typename generator_t>
Particle::Vector3 generateChildDirection(generator_t &generator, const Particle &particle) const¶ Generate the direction of the child particles.
- Template Parameters
generator_t – Type of the random number generator
- Parameters
generator – [inout] The random number generator
particle – [in] The photon
- Returns
The direction vector of the child particle
-
std::array<Particle, 2> generateChildren(const Particle &photon, Scalar childEnergy, const Particle::Vector3 &childDirection) const¶
This method constructs and returns the child particles.
- Parameters
photon – [in] The interacting photon
childEnergy – [in] The energy of one child particle
childDirection – [in] The direction of the child particle
- Returns
Array containing the produced leptons
-
template<typename generator_t>
Scalar generateFirstChildEnergyFraction(generator_t &generator, Scalar gammaMom) const¶ Generate the energy fraction of the first child particle.
- Template Parameters
generator_t – Type of the random number generator
- Parameters
generator – [inout] The random number generator
gammaMom – [in] The momentum of the photon
- Returns
The energy of the child particle
-
using Scalar = ActsFatras::Particle::Scalar
-
class PhotonConversion