|
OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
|
#include "Physics/LinearBreitWheeler.h"#include "Physics/Physics.h"#include "Utilities/OpalException.h"#include "Utilities/Options.h"#include <algorithm>#include <cmath>#include <cstdint>#include <limits>#include <random>#include <string>
Go to the source code of this file.
Namespaces | |
| namespace | Physics |
| namespace | Physics::LinearBreitWheeler |
Functions | |
| double | Physics::LinearBreitWheeler::photonEnergyFromWavelengthGeV (double wavelength_m) |
| Convert a laser wavelength to a single-photon energy. | |
| double | Physics::LinearBreitWheeler::invariantSGeV2 (double photon1EnergyGeV, double photon2EnergyGeV, const Vector_t< double, 3 > &photon1Direction, const Vector_t< double, 3 > &photon2Direction) |
| Two-photon invariant \(s\) for Breit-Wheeler pair production. | |
| double | Physics::LinearBreitWheeler::thresholdInvariantSGeV2 () |
| Threshold invariant for \(\gamma + \gamma \to e^- + e^+\). | |
| bool | Physics::LinearBreitWheeler::isAboveThreshold (double invariantSGeV2) |
| Check whether pair creation is kinematically allowed. | |
| double | Physics::LinearBreitWheeler::pairBetaCM (double invariantSGeV2) |
| Outgoing lepton speed in the pair center-of-momentum frame. | |
| double | Physics::LinearBreitWheeler::totalCrossSection (double invariantSGeV2) |
| Total unpolarized linear Breit-Wheeler cross section. | |
| double | Physics::LinearBreitWheeler::proposalZToScatteringCosineCM (double invariantSGeV2, double proposalZ) |
| Map CAIN's proposal parameter \(z \in [-1,1]\) to the CM scattering cosine. | |
| double | Physics::LinearBreitWheeler::unpolarizedAngularWeight (double invariantSGeV2, double proposalZ) |
| Evaluate the unpolarized CAIN-aligned angular kernel in proposal coordinates. | |
| SamplingKernel | Physics::LinearBreitWheeler::makeSamplingKernel (double highEnergyPhotonEnergyGeV, double laserPhotonEnergyGeV, const Vector_t< double, 3 > &highEnergyDirection, const Vector_t< double, 3 > &laserDirection) |
| Build a cached sampling kernel for repeated sampled events. | |
| std::mt19937_64 | Physics::LinearBreitWheeler::makeHostRandomEngine (std::uint64_t streamIndex=0) |
Build a deterministic host RNG from Options::seed. | |
| SampledEvent | Physics::LinearBreitWheeler::sampleEvent (const SamplingKernel &kernel, std::mt19937_64 &engine) |
| Sample one unpolarized linear Breit-Wheeler event. | |