OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
LinearComptonSpectrumBenchmark.cpp File Reference
#include "Distribution/MultiVariateGaussian.h"
#include "Ippl.h"
#include "LinearComptonSpectrumCommon.h"
#include "Physics/Physics.h"
#include "Utilities/Options.h"
#include <algorithm>
#include <array>
#include <cmath>
#include <filesystem>
#include <iostream>
#include <memory>
#include <stdexcept>
#include <string>
Include dependency graph for LinearComptonSpectrumBenchmark.cpp:

Go to the source code of this file.

Functions

int main (int argc, char **argv)
 Entry point for the standalone linear-Compton benchmark executable.
 

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

Entry point for the standalone linear-Compton benchmark executable.

The executable is used in two ways:

  • directly from the command line to regenerate CSV benchmark references,
  • indirectly from TestLinearComptonSpectrum, where it acts as a small regression-data generator for the finite-beam cases.

Single-electron modes stay purely local. Finite-beam modes initialize IPPL, build a temporary particle container, and reduce histogram counts across MPI ranks before writing the normalized CSV output.

Definition at line 641 of file LinearComptonSpectrumBenchmark.cpp.

References LinearComptonBenchmark::angleHistogramArea(), LinearComptonBenchmark::angleHistogramMeanRad(), LinearComptonBenchmark::SpectrumConfig::electronTotalEnergyGeV, LinearComptonBenchmark::AngleConfig::electronTotalEnergyGeV, LinearComptonBenchmark::JointConfig::electronTotalEnergyGeV, LinearComptonBenchmark::histogramArea(), LinearComptonBenchmark::histogramMeanEnergyGeV(), LinearComptonBenchmark::integrateLabAngularSpectrum(), LinearComptonBenchmark::integrateLabJointSpectrum(), LinearComptonBenchmark::integrateLabSpectrum(), LinearComptonBenchmark::jointHistogramArea(), LinearComptonBenchmark::jointHistogramMeanEnergyGeV(), LinearComptonBenchmark::jointHistogramMeanThetaRad(), Physics::m_e, LinearComptonBenchmark::sampleLabAngularSpectrum(), LinearComptonBenchmark::sampleLabJointSpectrum(), LinearComptonBenchmark::sampleLabSpectrum(), Options::seed, LinearComptonBenchmark::writeAngleCSV(), LinearComptonBenchmark::writeJointCSV(), and LinearComptonBenchmark::writeSpectrumCSV().

Here is the call graph for this function: