|
OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
|
#include "Physics/LinearBreitWheeler.h"#include "Physics/Physics.h"#include <cmath>#include <cstdint>#include <filesystem>#include <fstream>#include <random>#include <sstream>#include <stdexcept>#include <string>#include <vector>

Go to the source code of this file.
Classes | |
| struct | LinearBreitWheelerBenchmark::FinitePhotonBeamConfig |
| Configuration for folding the linear Breit-Wheeler kernel over a finite incoming photon beam. More... | |
| struct | LinearBreitWheelerBenchmark::HistogramConfig |
| struct | LinearBreitWheelerBenchmark::Histogram |
| struct | LinearBreitWheelerBenchmark::JointHistogramConfig |
| struct | LinearBreitWheelerBenchmark::FinitePhotonBeamJointConfig |
| struct | LinearBreitWheelerBenchmark::JointHistogram |
| struct | LinearBreitWheelerBenchmark::SampledPhotonBeamState |
Namespaces | |
| namespace | LinearBreitWheelerBenchmark |
| struct LinearBreitWheelerBenchmark::FinitePhotonBeamConfig |
Configuration for folding the linear Breit-Wheeler kernel over a finite incoming photon beam.
This benchmark keeps the laser photon fixed and samples only the incoming high-energy photon beam. The present implementation models the beam by a Gaussian spread in the transverse photon slopes around the reference beam axis and, optionally, by a Gaussian relative energy spread.
The benchmark intentionally stays momentum-space only. It does not model photon-beam position spread or laser-overlap weighting yet.
Definition at line 41 of file LinearBreitWheelerBenchmarkCommon.h.

| Class Members | ||
|---|---|---|
| size_t | bins = 80 | |
| double | centralHighEnergyPhotonEnergyGeV = 0.5 | |
| Vector_t< double, 3 > | laserDirection | |
| double | laserRayleighX_m = 1.0e-6 | |
| double | laserRayleighY_m = 1.0e-6 | |
| double | laserSigmaT_m = 5.0e-12 * Physics::c | |
| double | maxValue = 0.5 | |
| double | minValue = 0.0 | |
| bool | overlapWeighting = false | |
| Vector_t< double, 3 > | referenceHighEnergyDirection | |
| double | relativeEnergySpread = 0.0 | |
| double | sigmaS_m = 0.0 | |
| double | sigmaThetaXRad = 1.0e-3 | |
| double | sigmaThetaYRad = 1.0e-3 | |
| double | sigmaX_m = 0.0 | |
| double | sigmaY_m = 0.0 | |
| double | wavelength_m = 1.0e-9 | |
| struct LinearBreitWheelerBenchmark::HistogramConfig |
Definition at line 69 of file LinearBreitWheelerBenchmarkCommon.h.

| Class Members | ||
|---|---|---|
| size_t | bins = 80 | |
| Vector_t< double, 3 > | highEnergyDirection | |
| double | highEnergyPhotonEnergyGeV = 0.5 | |
| Vector_t< double, 3 > | laserDirection | |
| double | maxValue = 0.5 | |
| double | minValue = 0.0 | |
| double | wavelength_m = 1.0e-9 | |
| struct LinearBreitWheelerBenchmark::Histogram |
Definition at line 87 of file LinearBreitWheelerBenchmarkCommon.h.

| Class Members | ||
|---|---|---|
| double | binWidth = 0.0 | |
| vector< double > | centers | |
| vector< double > | counts | |
| vector< double > | density | |
| double | totalWeight = 0.0 | |
| struct LinearBreitWheelerBenchmark::JointHistogramConfig |
Definition at line 95 of file LinearBreitWheelerBenchmarkCommon.h.

| Class Members | ||
|---|---|---|
| size_t | energyBins = 80 | |
| double | energyMaxGeV = 0.5 | |
| double | energyMinGeV = 0.0 | |
| Vector_t< double, 3 > | highEnergyDirection | |
| double | highEnergyPhotonEnergyGeV = 0.5 | |
| Vector_t< double, 3 > | laserDirection | |
| size_t | thetaBins = 80 | |
| double | thetaMaxRad = 0.0045 | |
| double | thetaMinRad = 0.0 | |
| double | wavelength_m = 1.0e-9 | |
| struct LinearBreitWheelerBenchmark::FinitePhotonBeamJointConfig |
Definition at line 116 of file LinearBreitWheelerBenchmarkCommon.h.

| Class Members | ||
|---|---|---|
| double | centralHighEnergyPhotonEnergyGeV = 0.5 | |
| size_t | energyBins = 80 | |
| double | energyMaxGeV = 0.5 | |
| double | energyMinGeV = 0.0 | |
| Vector_t< double, 3 > | laserDirection | |
| double | laserRayleighX_m = 1.0e-6 | |
| double | laserRayleighY_m = 1.0e-6 | |
| double | laserSigmaT_m = 5.0e-12 * Physics::c | |
| bool | overlapWeighting = false | |
| Vector_t< double, 3 > | referenceHighEnergyDirection | |
| double | relativeEnergySpread = 0.0 | |
| double | sigmaS_m = 0.0 | |
| double | sigmaThetaXRad = 1.0e-3 | |
| double | sigmaThetaYRad = 1.0e-3 | |
| double | sigmaX_m = 0.0 | |
| double | sigmaY_m = 0.0 | |
| size_t | thetaBins = 80 | |
| double | thetaMaxRad = 0.0060 | |
| double | thetaMinRad = 0.0 | |
| double | wavelength_m = 1.0e-9 | |
| struct LinearBreitWheelerBenchmark::JointHistogram |
Definition at line 147 of file LinearBreitWheelerBenchmarkCommon.h.

| struct LinearBreitWheelerBenchmark::SampledPhotonBeamState |
Definition at line 174 of file LinearBreitWheelerBenchmarkCommon.h.

| Class Members | ||
|---|---|---|
| Vector_t< double, 3 > | direction | |
| double | energyGeV = 0.0 | |
| double | s_m = 0.0 | |
| double | slopeXRad = 0.0 | |
| double | slopeYRad = 0.0 | |
| double | x_m = 0.0 | |
| double | y_m = 0.0 | |