#include "Physics/LinearCompton.h"
#include "Physics/Physics.h"
#include <algorithm>
#include <cmath>
#include <cstdint>
#include <filesystem>
#include <fstream>
#include <iomanip>
#include <sstream>
#include <stdexcept>
#include <string>
#include <vector>
Go to the source code of this file.
|
| SpectrumHistogram | LinearComptonBenchmark::integrateLabSpectrum (const SpectrumConfig &config) |
| |
| SpectrumHistogram | LinearComptonBenchmark::sampleLabSpectrum (const SpectrumConfig &config, std::size_t sampleCount, std::uint64_t streamIndex=0) |
| |
| void | LinearComptonBenchmark::writeSpectrumCSV (const SpectrumHistogram &histogram, const std::filesystem::path &outputPath) |
| |
| SpectrumHistogram | LinearComptonBenchmark::readSpectrumCSV (const std::filesystem::path &inputPath) |
| |
| double | LinearComptonBenchmark::histogramMeanEnergyGeV (const SpectrumHistogram &histogram) |
| |
| double | LinearComptonBenchmark::histogramArea (const SpectrumHistogram &histogram) |
| |
| double | LinearComptonBenchmark::histogramL1Distance (const SpectrumHistogram &lhs, const SpectrumHistogram &rhs) |
| |
| double | LinearComptonBenchmark::photonPolarAngleRad (const Vector_t< double, 3 > &photonDirection, const Vector_t< double, 3 > &beamDirection) |
| |
| AngleHistogram | LinearComptonBenchmark::integrateLabAngularSpectrum (const AngleConfig &config) |
| |
| AngleHistogram | LinearComptonBenchmark::sampleLabAngularSpectrum (const AngleConfig &config, std::size_t sampleCount, std::uint64_t streamIndex=0) |
| |
| void | LinearComptonBenchmark::writeAngleCSV (const AngleHistogram &histogram, const std::filesystem::path &outputPath) |
| |
| AngleHistogram | LinearComptonBenchmark::readAngleCSV (const std::filesystem::path &inputPath) |
| |
| double | LinearComptonBenchmark::angleHistogramMeanRad (const AngleHistogram &histogram) |
| |
| double | LinearComptonBenchmark::angleHistogramArea (const AngleHistogram &histogram) |
| |
| double | LinearComptonBenchmark::angleHistogramL1Distance (const AngleHistogram &lhs, const AngleHistogram &rhs) |
| |
| std::size_t | LinearComptonBenchmark::jointHistogramIndex (const JointHistogram &histogram, std::size_t energyBin, std::size_t thetaBin) |
| |
| JointHistogram | LinearComptonBenchmark::integrateLabJointSpectrum (const JointConfig &config) |
| |
| JointHistogram | LinearComptonBenchmark::sampleLabJointSpectrum (const JointConfig &config, std::size_t sampleCount, std::uint64_t streamIndex=0) |
| |
| void | LinearComptonBenchmark::writeJointCSV (const JointHistogram &histogram, const std::filesystem::path &outputPath) |
| |
| JointHistogram | LinearComptonBenchmark::readJointCSV (const std::filesystem::path &inputPath) |
| |
| double | LinearComptonBenchmark::jointHistogramArea (const JointHistogram &histogram) |
| |
| double | LinearComptonBenchmark::jointHistogramMeanEnergyGeV (const JointHistogram &histogram) |
| |
| double | LinearComptonBenchmark::jointHistogramMeanThetaRad (const JointHistogram &histogram) |
| |
| double | LinearComptonBenchmark::jointHistogramL1Distance (const JointHistogram &lhs, const JointHistogram &rhs) |
| |
◆ LinearComptonBenchmark::SpectrumConfig
| struct LinearComptonBenchmark::SpectrumConfig |
| Class Members |
|
int |
azimuthPanels = 720 |
|
|
Vector_t< double, 3 > |
beamDirection |
|
|
size_t |
bins = 80 |
|
|
int |
cosinePanels = 720 |
|
|
double |
electronTotalEnergyGeV = 1.0 |
|
|
double |
energyMaxGeV = 0.01 |
|
|
double |
energyMinGeV = 0.0 |
|
|
Vector_t< double, 3 > |
laserDirection |
|
|
double |
wavelength_m = 1.03e-6 |
|
◆ LinearComptonBenchmark::SpectrumHistogram
| struct LinearComptonBenchmark::SpectrumHistogram |
| Class Members |
|
double |
binWidthGeV = 0.0 |
|
|
vector< double > |
centersGeV |
|
|
vector< double > |
counts |
|
|
vector< double > |
densityPerGeV |
|
|
double |
totalWeight = 0.0 |
|
◆ LinearComptonBenchmark::AngleConfig
| struct LinearComptonBenchmark::AngleConfig |
| Class Members |
|
int |
azimuthPanels = 720 |
|
|
Vector_t< double, 3 > |
beamDirection |
|
|
size_t |
bins = 80 |
|
|
int |
cosinePanels = 720 |
|
|
double |
electronTotalEnergyGeV = 1.0 |
|
|
Vector_t< double, 3 > |
laserDirection |
|
|
double |
thetaMaxRad = 0.02 |
|
|
double |
thetaMinRad = 0.0 |
|
|
double |
wavelength_m = 1.03e-6 |
|
◆ LinearComptonBenchmark::AngleHistogram
| struct LinearComptonBenchmark::AngleHistogram |
| Class Members |
|
double |
binWidthRad = 0.0 |
|
|
vector< double > |
centersRad |
|
|
vector< double > |
counts |
|
|
vector< double > |
densityPerRad |
|
|
double |
totalWeight = 0.0 |
|
◆ LinearComptonBenchmark::JointConfig
| struct LinearComptonBenchmark::JointConfig |
| Class Members |
|
int |
azimuthPanels = 720 |
|
|
Vector_t< double, 3 > |
beamDirection |
|
|
int |
cosinePanels = 720 |
|
|
double |
electronTotalEnergyGeV = 1.0 |
|
|
size_t |
energyBins = 60 |
|
|
double |
energyMaxGeV = 0.01 |
|
|
double |
energyMinGeV = 0.0 |
|
|
Vector_t< double, 3 > |
laserDirection |
|
|
size_t |
thetaBins = 60 |
|
|
double |
thetaMaxRad = 0.02 |
|
|
double |
thetaMinRad = 0.0 |
|
|
double |
wavelength_m = 1.03e-6 |
|
◆ LinearComptonBenchmark::JointHistogram
| struct LinearComptonBenchmark::JointHistogram |
| Class Members |
|
vector< double > |
counts |
|
|
vector< double > |
densityPerGeVRad |
|
|
double |
energyBinWidthGeV = 0.0 |
|
|
vector< double > |
energyCentersGeV |
|
|
double |
thetaBinWidthRad = 0.0 |
|
|
vector< double > |
thetaCentersRad |
|
|
double |
totalWeight = 0.0 |
|