OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
LinearComptonBenchmark Namespace Reference

Classes

struct  AngleConfig
 
struct  AngleHistogram
 
struct  JointConfig
 
struct  JointHistogram
 
struct  SpectrumConfig
 
struct  SpectrumHistogram
 

Functions

SpectrumHistogram integrateLabSpectrum (const SpectrumConfig &config)
 
SpectrumHistogram sampleLabSpectrum (const SpectrumConfig &config, std::size_t sampleCount, std::uint64_t streamIndex=0)
 
void writeSpectrumCSV (const SpectrumHistogram &histogram, const std::filesystem::path &outputPath)
 
SpectrumHistogram readSpectrumCSV (const std::filesystem::path &inputPath)
 
double histogramMeanEnergyGeV (const SpectrumHistogram &histogram)
 
double histogramArea (const SpectrumHistogram &histogram)
 
double histogramL1Distance (const SpectrumHistogram &lhs, const SpectrumHistogram &rhs)
 
double photonPolarAngleRad (const Vector_t< double, 3 > &photonDirection, const Vector_t< double, 3 > &beamDirection)
 
AngleHistogram integrateLabAngularSpectrum (const AngleConfig &config)
 
AngleHistogram sampleLabAngularSpectrum (const AngleConfig &config, std::size_t sampleCount, std::uint64_t streamIndex=0)
 
void writeAngleCSV (const AngleHistogram &histogram, const std::filesystem::path &outputPath)
 
AngleHistogram readAngleCSV (const std::filesystem::path &inputPath)
 
double angleHistogramMeanRad (const AngleHistogram &histogram)
 
double angleHistogramArea (const AngleHistogram &histogram)
 
double angleHistogramL1Distance (const AngleHistogram &lhs, const AngleHistogram &rhs)
 
std::size_t jointHistogramIndex (const JointHistogram &histogram, std::size_t energyBin, std::size_t thetaBin)
 
JointHistogram integrateLabJointSpectrum (const JointConfig &config)
 
JointHistogram sampleLabJointSpectrum (const JointConfig &config, std::size_t sampleCount, std::uint64_t streamIndex=0)
 
void writeJointCSV (const JointHistogram &histogram, const std::filesystem::path &outputPath)
 
JointHistogram readJointCSV (const std::filesystem::path &inputPath)
 
double jointHistogramArea (const JointHistogram &histogram)
 
double jointHistogramMeanEnergyGeV (const JointHistogram &histogram)
 
double jointHistogramMeanThetaRad (const JointHistogram &histogram)
 
double jointHistogramL1Distance (const JointHistogram &lhs, const JointHistogram &rhs)
 

Class Documentation

◆ LinearComptonBenchmark::AngleConfig

struct LinearComptonBenchmark::AngleConfig

Definition at line 241 of file LinearComptonSpectrumCommon.h.

Collaboration diagram for LinearComptonBenchmark::AngleConfig:
Collaboration graph
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

Definition at line 261 of file LinearComptonSpectrumCommon.h.

Collaboration diagram for LinearComptonBenchmark::AngleHistogram:
Collaboration graph
Class Members
double binWidthRad = 0.0
vector< double > centersRad
vector< double > counts
vector< double > densityPerRad
double totalWeight = 0.0

◆ LinearComptonBenchmark::JointConfig

struct LinearComptonBenchmark::JointConfig

Definition at line 481 of file LinearComptonSpectrumCommon.h.

Collaboration diagram for LinearComptonBenchmark::JointConfig:
Collaboration graph
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

Definition at line 504 of file LinearComptonSpectrumCommon.h.

Collaboration diagram for LinearComptonBenchmark::JointHistogram:
Collaboration graph
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

◆ LinearComptonBenchmark::SpectrumConfig

struct LinearComptonBenchmark::SpectrumConfig

Definition at line 20 of file LinearComptonSpectrumCommon.h.

Collaboration diagram for LinearComptonBenchmark::SpectrumConfig:
Collaboration graph
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

Definition at line 40 of file LinearComptonSpectrumCommon.h.

Collaboration diagram for LinearComptonBenchmark::SpectrumHistogram:
Collaboration graph
Class Members
double binWidthGeV = 0.0
vector< double > centersGeV
vector< double > counts
vector< double > densityPerGeV
double totalWeight = 0.0

Function Documentation

◆ angleHistogramArea()

double LinearComptonBenchmark::angleHistogramArea ( const AngleHistogram histogram)
inline

◆ angleHistogramL1Distance()

double LinearComptonBenchmark::angleHistogramL1Distance ( const AngleHistogram lhs,
const AngleHistogram rhs 
)
inline

◆ angleHistogramMeanRad()

double LinearComptonBenchmark::angleHistogramMeanRad ( const AngleHistogram histogram)
inline

◆ histogramArea()

double LinearComptonBenchmark::histogramArea ( const SpectrumHistogram histogram)
inline

◆ histogramL1Distance()

double LinearComptonBenchmark::histogramL1Distance ( const SpectrumHistogram lhs,
const SpectrumHistogram rhs 
)
inline

◆ histogramMeanEnergyGeV()

double LinearComptonBenchmark::histogramMeanEnergyGeV ( const SpectrumHistogram histogram)
inline

◆ integrateLabAngularSpectrum()

◆ integrateLabJointSpectrum()

JointHistogram LinearComptonBenchmark::integrateLabJointSpectrum ( const JointConfig config)
inline

Definition at line 519 of file LinearComptonSpectrumCommon.h.

References LinearComptonBenchmark::JointConfig::azimuthPanels, LinearComptonBenchmark::JointConfig::beamDirection, LinearComptonBenchmark::JointConfig::cosinePanels, LinearComptonBenchmark::JointHistogram::counts, LinearComptonBenchmark::JointHistogram::densityPerGeVRad, Physics::LinearCompton::differentialCrossSectionSolidAngleERF(), LinearComptonBenchmark::JointConfig::electronTotalEnergyGeV, LinearComptonBenchmark::JointConfig::energyBins, LinearComptonBenchmark::JointHistogram::energyBinWidthGeV, LinearComptonBenchmark::JointHistogram::energyCentersGeV, LinearComptonBenchmark::JointConfig::energyMaxGeV, LinearComptonBenchmark::JointConfig::energyMinGeV, jointHistogramIndex(), Physics::LinearCompton::labPhotonDirection(), Physics::LinearCompton::labPhotonEnergyGeV(), LinearComptonBenchmark::JointConfig::laserDirection, Physics::LinearCompton::photonEnergyFromWavelengthGeV(), photonPolarAngleRad(), Physics::LinearCompton::restFrameIncomingPhotonEnergyGeV(), LinearComptonBenchmark::JointConfig::thetaBins, LinearComptonBenchmark::JointHistogram::thetaBinWidthRad, LinearComptonBenchmark::JointHistogram::thetaCentersRad, LinearComptonBenchmark::JointConfig::thetaMaxRad, LinearComptonBenchmark::JointConfig::thetaMinRad, LinearComptonBenchmark::JointHistogram::totalWeight, Physics::two_pi, and LinearComptonBenchmark::JointConfig::wavelength_m.

Referenced by main(), and TEST().

Here is the call graph for this function:

◆ integrateLabSpectrum()

◆ jointHistogramArea()

◆ jointHistogramIndex()

std::size_t LinearComptonBenchmark::jointHistogramIndex ( const JointHistogram histogram,
std::size_t  energyBin,
std::size_t  thetaBin 
)
inline

◆ jointHistogramL1Distance()

◆ jointHistogramMeanEnergyGeV()

◆ jointHistogramMeanThetaRad()

◆ photonPolarAngleRad()

double LinearComptonBenchmark::photonPolarAngleRad ( const Vector_t< double, 3 > &  photonDirection,
const Vector_t< double, 3 > &  beamDirection 
)
inline

Definition at line 269 of file LinearComptonSpectrumCommon.h.

References dot().

Referenced by integrateLabAngularSpectrum(), integrateLabJointSpectrum(), sampleLabAngularSpectrum(), and sampleLabJointSpectrum().

Here is the call graph for this function:

◆ readAngleCSV()

◆ readJointCSV()

◆ readSpectrumCSV()

◆ sampleLabAngularSpectrum()

◆ sampleLabJointSpectrum()

◆ sampleLabSpectrum()

◆ writeAngleCSV()

void LinearComptonBenchmark::writeAngleCSV ( const AngleHistogram histogram,
const std::filesystem::path &  outputPath 
)
inline

◆ writeJointCSV()

void LinearComptonBenchmark::writeJointCSV ( const JointHistogram histogram,
const std::filesystem::path &  outputPath 
)
inline

◆ writeSpectrumCSV()

void LinearComptonBenchmark::writeSpectrumCSV ( const SpectrumHistogram histogram,
const std::filesystem::path &  outputPath 
)
inline