17namespace qpe {
namespace tests {
44 errorMessage =
"Klein height scan zero-barrier reference failed";
57 errorMessage =
"Klein height scan regime classification failed";
66 errorMessage =
"Klein height scan result metadata failed";
70 int conservationCount = 0;
72 if (!point.
valid)
continue;
76 errorMessage =
"Klein height scan probability conservation failed";
81 if (conservationCount < 239) {
82 errorMessage =
"Klein height scan has too many invalid points";
static QuantumKleinHeightScan2DResult scan(const QuantumKleinTunneling2DConfig &baseConfig, double minimumBarrierHeight=0.0, double maximumBarrierHeight=4.0, int samples=241, double hbar=1.0) noexcept
Performs scan.
static QuantumKleinHeightPoint2D evaluate(const QuantumKleinTunneling2DConfig &baseConfig, double barrierHeight, double hbar=1.0) noexcept
Performs evaluate.
static double incidentEnergy(const QuantumKleinTunneling2DConfig &config) noexcept
Performs incident energy.
static double normalIncidenceUpperThreshold(const QuantumKleinTunneling2DConfig &config) noexcept
Returns normal incidence upper threshold.
static double normalIncidenceLowerThreshold(const QuantumKleinTunneling2DConfig &config) noexcept
Returns normal incidence lower threshold.
bool runQuantumKleinHeightScan2DTests(std::string &errorMessage)
Runs quantum klein height scan2 d tests.
@ PositiveBranchPropagation
Declares the quantumkleinheightscan2d physics/numerical component used by QPE experiments.
Declares regression and invariant tests for quantumkleinheightscan2d tests.
Data structure used by the Quantum Klein Height Point2D component.
QuantumKleinBarrierRegime2D regime
Data record containing Quantum Klein Height Scan2D Result.
std::vector< QuantumKleinHeightPoint2D > points
Configuration values for Quantum Klein Tunneling2D Config.