|
Quantum Phenomena Explorer 7.9.8
Interactive quantum-phenomena Explorer Tutor — source documentation
|
Implements the Potential Scene2D component. More...
#include <potentialscene2d.h>
Public Member Functions | |
| std::uint64_t | add (PotentialObject2D object) |
| Performs add. | |
| bool | update (std::uint64_t id, const PotentialObject2D &object) |
| Performs update. | |
| bool | remove (std::uint64_t id) |
| Performs remove. | |
| void | clear () noexcept |
| Performs clear. | |
| bool | empty () const noexcept |
| Performs empty. | |
| std::size_t | size () const noexcept |
| Returns size. | |
| const std::vector< PotentialObject2D > & | objects () const noexcept |
| Performs objects. | |
| PotentialObject2D * | find (std::uint64_t id) noexcept |
| Performs find. | |
| const PotentialObject2D * | find (std::uint64_t id) const noexcept |
| Performs find. | |
| void | rasterize (PotentialField2D &target) const |
| Performs rasterize. | |
Private Member Functions | |
| std::uint64_t | allocateId () noexcept |
| Performs allocate id. | |
Private Attributes | |
| std::vector< PotentialObject2D > | objects_ |
| std::uint64_t | nextId_ = 1 |
Implements the Potential Scene2D component.
The class provides one focused service within the QPE architecture and is documented here independently of the experiment-level Help.
Definition at line 96 of file potentialscene2d.h.
| std::uint64_t qpe::PotentialScene2D::add | ( | PotentialObject2D | object | ) |
Performs add.
| object | The object value used by the operation. |
Definition at line 154 of file potentialscene2d.cpp.
References allocateId(), find(), nextId_, and objects_.
Referenced by MainWindow::addCurrentPotentialObject(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeAndersonLocalization(), qpe::tests::anonymous_namespace{quantumbilliards2d_tests.cpp}::makeBilliard(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeBlochOscillation(), qpe::tests::anonymous_namespace{quantumrevivals2d_tests.cpp}::makeBox(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeCoherentDoubleWell(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeDrivenDoubleWell(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeDrivenHarmonicTrap(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeFiniteQuantumWell(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeGaussianWellBreathing(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeHarmonicTrap(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeLandauZenerSweep(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeMoshinskyShutter(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeQuantumBerryPhase(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeQuantumBilliard(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeQuantumBouncer(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeQuantumKickedRotor(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeQuantumLoschmidt(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeQuantumQuench(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeQuantumScars(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeQuantumVortex(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeQuantumZeno(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeRamseyInterferometer(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeResonantTunneling(), qpe::tests::anonymous_namespace{blochoscillations2d_tests.cpp}::makeScene(), qpe::tests::anonymous_namespace{coherenttunneling2d_tests.cpp}::makeScene(), qpe::tests::anonymous_namespace{quantumberryphase2d_tests.cpp}::makeTrap(), qpe::anonymous_namespace{experimentpreset2d.cpp}::makeWavePacketRevival(), qpe::anonymous_namespace{experimentdocument2d.cpp}::potentialSceneFromJson(), qpe::tests::runBlochOscillations2DTests(), qpe::tests::runCoherentTunneling2DTests(), qpe::tests::runExperimentDocument2DTests(), qpe::tests::runPotentialScene2DTests(), qpe::tests::runQuantumAnderson2DTests(), qpe::tests::runQuantumBilliards2DTests(), qpe::tests::runQuantumBouncer2DTests(), qpe::tests::runQuantumMoshinsky2DTests(), qpe::tests::runQuantumRevivals2DTests(), qpe::tests::runQuantumScar2DTests(), qpe::tests::runQuantumVortex2DTests(), qpe::tests::runResonantTunneling2DTests(), and qpe::tests::runTimeDependentPotential2DTests().
|
privatenoexcept |
Performs allocate id.
Definition at line 142 of file potentialscene2d.cpp.
References nextId_.
Referenced by add().
|
noexcept |
Performs clear.
Definition at line 202 of file potentialscene2d.cpp.
References nextId_, and objects_.
Referenced by MainWindow::applyExperimentPreset(), MainWindow::clearPotentialScene(), and qpe::tests::runPotentialScene2DTests().
|
noexcept |
Performs empty.
Definition at line 208 of file potentialscene2d.cpp.
References objects_.
Referenced by MainWindow::applyExperimentDocument(), MainWindow::applyExperimentPreset(), qpe::ConsolidationAudit2D::auditGuidedPresets(), MainWindow::buildSelectedPotential(), MainWindow::captureExperimentDocument(), MainWindow::clearPotentialScene(), MainWindow::deleteSelectedPotentialObject(), qpe::anonymous_namespace{experimentdocument2d.cpp}::potentialSceneFromJson(), MainWindow::rebuildLandauZenerReference(), MainWindow::rebuildRamseyReference(), MainWindow::recordTimeSeriesSample(), MainWindow::refreshPotentialSceneControls(), MainWindow::resetSimulation(), qpe::tests::runExperimentDocument2DTests(), qpe::tests::runExperimentPreset2DTests(), MainWindow::selectedGeometryName(), MainWindow::updateCoherentTunnelingAnalysis(), MainWindow::updateLinearSweepPotential(), MainWindow::updatePeriodicDrivePotential(), MainWindow::updateQuantumBerryPotential(), MainWindow::updateQuantumMoshinskyPotential(), MainWindow::updateQuantumQuenchPotential(), MainWindow::updateRamseyPotential(), MainWindow::updateResonanceAnalysis(), MainWindow::updateScatteringReadout(), and MainWindow::updateStatusText().
|
noexcept |
Performs find.
| id | Stable identifier of the requested object. |
Definition at line 233 of file potentialscene2d.cpp.
|
noexcept |
Performs find.
| id | Stable identifier of the requested object. |
Definition at line 223 of file potentialscene2d.cpp.
Referenced by add(), qpe::QuantumMoshinsky2D::rasterize(), qpe::TimeDependentPotential2D::rasterize(), qpe::TimeDependentPotential2D::rasterizePeriodic(), qpe::TimeDependentPotential2D::rasterizeRamsey(), qpe::TimeDependentPotential2D::rasterizeSweep(), MainWindow::rebuildLandauZenerReference(), MainWindow::rebuildRamseyReference(), MainWindow::refreshPotentialSceneControls(), MainWindow::refreshPotentialSceneUi(), qpe::tests::runExperimentDocument2DTests(), qpe::tests::runPotentialScene2DTests(), qpe::tests::runTimeDependentPotential2DTests(), update(), MainWindow::updatePeriodicDriveAnalysis(), MainWindow::updateSelectedPotentialObject(), and MainWindow::updateStatusText().
|
noexcept |
Performs objects.
Definition at line 218 of file potentialscene2d.cpp.
References objects_.
Referenced by MainWindow::applyExperimentPreset(), qpe::ConsolidationAudit2D::auditGuidedPresets(), qpe::QuantumAnderson2D::identifyLattice(), qpe::CoherentTunneling2D::identifySymmetricDoubleWell(), qpe::QuantumVortex2D::identifyTrap(), qpe::anonymous_namespace{experimentdocument2d.cpp}::potentialSceneToJson(), MainWindow::refreshLinearSweepTargetUi(), MainWindow::refreshPeriodicDriveTargetUi(), MainWindow::refreshPotentialSceneUi(), MainWindow::refreshQuantumMoshinskyTargetUi(), MainWindow::refreshQuenchTargetUi(), MainWindow::refreshRamseyTargetUi(), qpe::tests::runExperimentPreset2DTests(), and qpe::tests::runResonantTunneling2DTests().
| void qpe::PotentialScene2D::rasterize | ( | PotentialField2D & | target | ) | const |
Performs rasterize.
| target | The target value used by the operation. |
Definition at line 243 of file potentialscene2d.cpp.
References qpe::PotentialField2D::accumulate(), qpe::PotentialField2D::clear(), qpe::PotentialField2D::dx(), qpe::PotentialField2D::dy(), qpe::PotentialField2D::empty(), qpe::PotentialField2D::height(), objects_, and qpe::PotentialField2D::width().
Referenced by MainWindow::buildSelectedPotential(), qpe::QuantumBerryPhase2D::rasterize(), qpe::QuantumKapitzaDirac2D::rasterize(), qpe::QuantumMoshinsky2D::rasterize(), qpe::TimeDependentPotential2D::rasterize(), qpe::TimeDependentPotential2D::rasterizePeriodic(), qpe::TimeDependentPotential2D::rasterizeRamsey(), qpe::TimeDependentPotential2D::rasterizeSweep(), MainWindow::rebuildLandauZenerReference(), MainWindow::rebuildRamseyReference(), qpe::tests::runCoherentTunneling2DTests(), qpe::tests::runPotentialScene2DTests(), qpe::tests::runQuantumAnderson2DTests(), qpe::tests::runQuantumBouncer2DTests(), qpe::tests::runQuantumScar2DTests(), qpe::tests::runQuantumVortex2DTests(), and MainWindow::updateQuantumQuenchPotential().
| bool qpe::PotentialScene2D::remove | ( | std::uint64_t | id | ) |
Performs remove.
| id | Stable identifier of the requested object. |
Definition at line 190 of file potentialscene2d.cpp.
References objects_.
Referenced by MainWindow::deleteSelectedPotentialObject(), and qpe::tests::runPotentialScene2DTests().
|
noexcept |
Returns size.
Definition at line 213 of file potentialscene2d.cpp.
References objects_.
Referenced by qpe::tests::runExperimentDocument2DTests(), qpe::tests::runExperimentPreset2DTests(), qpe::tests::runPotentialScene2DTests(), MainWindow::selectedGeometryName(), and MainWindow::updateStatusText().
| bool qpe::PotentialScene2D::update | ( | std::uint64_t | id, |
| const PotentialObject2D & | object ) |
Performs update.
| id | Stable identifier of the requested object. |
| object | The object value used by the operation. |
Definition at line 173 of file potentialscene2d.cpp.
References find(), qpe::PotentialObject2D::id, and qpe::PotentialObject2D::valid().
Referenced by qpe::tests::runPotentialScene2DTests(), and MainWindow::updateSelectedPotentialObject().
|
private |
Definition at line 159 of file potentialscene2d.h.
Referenced by add(), allocateId(), and clear().
|
private |
Definition at line 158 of file potentialscene2d.h.
Referenced by add(), clear(), empty(), objects(), rasterize(), remove(), and size().