Quantum Phenomena Explorer 7.9.8
Interactive quantum-phenomena Explorer Tutor — source documentation
Loading...
Searching...
No Matches
quantumkleinmassscan2d.h
Go to the documentation of this file.
1/**
2 * @file quantumkleinmassscan2d.h
3 * @brief Declares the quantumkleinmassscan2d physics/numerical component used by QPE experiments.
4 * @ingroup qpe_quantum
5 *
6 * Source: @c core/quantum/quantumkleinmassscan2d.h. This file is part of Quantum Phenomena Explorer (QPE),
7 * maintained by Officina Turini. See LICENSE_IT.txt / LICENSE.txt for the
8 * QPE freeware source-available terms and THIRD_PARTY_NOTICES.txt for
9 * third-party components.
10 */
11
12#pragma once
13
15
16#include <vector>
17
18namespace qpe {
19
20/**
21 * @brief Data structure used by the Quantum Klein Mass Point2D component.
22 *
23 * The structure keeps related values explicit and testable across the QPE physics, analysis, or persistence layers.
24 */
37
38/**
39 * @brief Data record containing Quantum Klein Mass Scan2D Result.
40 *
41 * The structure carries computed data without coupling the numerical component to the GUI or renderer.
42 */
44{
45 bool valid = false;
46 double hbar = 1.0;
47 double fixedIncidentEnergy = 0.0;
49 double barrierHeight = 0.0;
50 double barrierWidth = 0.0;
51 double minimumRestMass = 0.005;
52 double maximumRestMass = 1.4;
54 double kinematicMassLimit = 0.0;
55 std::vector<QuantumKleinMassPoint2D> points;
56};
57
58// Stationary plane-wave reference T(m) for the same two-component Dirac
59// square barrier used by QuantumKleinTunneling2D. The incident TOTAL energy
60// and angle are held fixed while the rest mass changes; |p| is adjusted so
61// sqrt((c|p|)^2 + (mc^2)^2) remains constant. This isolates the opening of
62// the relativistic gap from the trivial effect of changing incident energy.
63/**
64 * @brief Implements the Quantum Klein Mass Scan2D component.
65 *
66 * The class provides one focused service within the QPE architecture and is documented here independently of the experiment-level Help.
67 */
69{
70public:
71 /**
72 * @brief Performs evaluate.
73 * @param baseConfig Configuration values used by the operation.
74 * @param restMass The rest mass value used by the operation.
75 * @param hbar The hbar value used by the operation.
76 */
78 double restMass,
79 double hbar = 1.0) noexcept;
80
81 /**
82 * @brief Performs scan.
83 * @param baseConfig Configuration values used by the operation.
84 * @param minimumRestMass The minimum rest mass value used by the operation.
85 * @param maximumRestMass The maximum rest mass value used by the operation.
86 * @param samples The samples value used by the operation.
87 * @param hbar The hbar value used by the operation.
88 */
90 double minimumRestMass = 0.005,
91 double maximumRestMass = 1.4,
92 int samples = 181,
93 double hbar = 1.0) noexcept;
94};
95
96} // namespace qpe
Implements the Quantum Klein Mass Scan2D component.
static QuantumKleinMassScan2DResult scan(const QuantumKleinTunneling2DConfig &baseConfig, double minimumRestMass=0.005, double maximumRestMass=1.4, int samples=181, double hbar=1.0) noexcept
Performs scan.
static QuantumKleinMassPoint2D evaluate(const QuantumKleinTunneling2DConfig &baseConfig, double restMass, double hbar=1.0) noexcept
Performs evaluate.
QuantumKleinBarrierRegime2D
Enumerates the supported Quantum Klein Barrier Regime2D values.
Declares the quantumkleintunneling2d physics/numerical component used by QPE experiments.
Data structure used by the Quantum Klein Mass Point2D component.
QuantumKleinBarrierRegime2D regime
Data record containing Quantum Klein Mass Scan2D Result.
std::vector< QuantumKleinMassPoint2D > points
Configuration values for Quantum Klein Tunneling2D Config.