Quantum Phenomena Explorer 7.9.8
Interactive quantum-phenomena Explorer Tutor — source documentation
Loading...
Searching...
No Matches
qpe::PotentialScene2D Class Reference

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
 

Detailed Description

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.

Member Function Documentation

◆ add()

std::uint64_t qpe::PotentialScene2D::add ( PotentialObject2D object)

Performs add.

Parameters
objectThe 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().

◆ allocateId()

std::uint64_t qpe::PotentialScene2D::allocateId ( )
privatenoexcept

Performs allocate id.

Definition at line 142 of file potentialscene2d.cpp.

References nextId_.

Referenced by add().

◆ clear()

void qpe::PotentialScene2D::clear ( )
noexcept

◆ empty()

◆ find() [1/2]

const PotentialObject2D * qpe::PotentialScene2D::find ( std::uint64_t id) const
noexcept

Performs find.

Parameters
idStable identifier of the requested object.

Definition at line 233 of file potentialscene2d.cpp.

◆ find() [2/2]

◆ objects()

◆ rasterize()

◆ remove()

bool qpe::PotentialScene2D::remove ( std::uint64_t id)

Performs remove.

Parameters
idStable identifier of the requested object.

Definition at line 190 of file potentialscene2d.cpp.

References objects_.

Referenced by MainWindow::deleteSelectedPotentialObject(), and qpe::tests::runPotentialScene2DTests().

◆ size()

std::size_t qpe::PotentialScene2D::size ( ) const
noexcept

◆ update()

bool qpe::PotentialScene2D::update ( std::uint64_t id,
const PotentialObject2D & object )

Performs update.

Parameters
idStable identifier of the requested object.
objectThe 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().

Member Data Documentation

◆ nextId_

std::uint64_t qpe::PotentialScene2D::nextId_ = 1
private

Definition at line 159 of file potentialscene2d.h.

Referenced by add(), allocateId(), and clear().

◆ objects_

std::vector<PotentialObject2D> qpe::PotentialScene2D::objects_
private

Definition at line 158 of file potentialscene2d.h.

Referenced by add(), clear(), empty(), objects(), rasterize(), remove(), and size().


The documentation for this class was generated from the following files: