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

Implements the Quantum Moshinsky2D component. More...

#include <quantummoshinsky2d.h>

Static Public Member Functions

static bool validateInitialState (const QuantumMoshinskyInitialState2DConfig &config, const char **reason=nullptr) noexcept
 Validates initial state.
 
static bool initialize (ComplexField2D &field, const QuantumMoshinskyInitialState2DConfig &config, double hbar, std::string *reason=nullptr)
 Initializes ialize.
 
static bool identifyShutter (const PotentialScene2D &scene, std::uint64_t shutterObjectId, QuantumMoshinskyGeometry2D &geometry, const char **reason=nullptr) noexcept
 Returns identify shutter.
 
static bool validateConfig (const PotentialScene2D &scene, const QuantumMoshinsky2DConfig &config, QuantumMoshinskyGeometry2D *geometry=nullptr, const char **reason=nullptr) noexcept
 Validates config.
 
static QuantumMoshinskyPotentialState2D rasterize (const PotentialScene2D &scene, const QuantumMoshinsky2DConfig &config, double time, PotentialField2D &target) noexcept
 Performs rasterize.
 
static bool marginalX (const ComplexField2D &field, std::vector< float > &out) noexcept
 Performs marginal x.
 
static double detectorSignal (const ComplexField2D &field, const std::vector< float > &marginal, double detectorX) noexcept
 Performs detector signal.
 
static double frontProbability (const ComplexField2D &field, const std::vector< float > &marginal, double shutterX) noexcept
 Performs front probability.
 
static double meanX (const ComplexField2D &field, const std::vector< float > &marginal) noexcept
 Performs mean x.
 

Detailed Description

Implements the Quantum Moshinsky2D component.

The class provides one focused service within the QPE architecture and is documented here independently of the experiment-level Help.

Definition at line 109 of file quantummoshinsky2d.h.

Member Function Documentation

◆ detectorSignal()

double qpe::QuantumMoshinsky2D::detectorSignal ( const ComplexField2D & field,
const std::vector< float > & marginal,
double detectorX )
staticnoexcept

Performs detector signal.

Parameters
fieldField data to read or modify.
marginalThe marginal value used by the operation.
detectorXThe detector x value used by the operation.

Definition at line 269 of file quantummoshinsky2d.cpp.

References qpe::GaussianPacket2D::xCoordinate().

Referenced by qpe::QuantumMoshinskyHistory2D::append().

◆ frontProbability()

double qpe::QuantumMoshinsky2D::frontProbability ( const ComplexField2D & field,
const std::vector< float > & marginal,
double shutterX )
staticnoexcept

Performs front probability.

Parameters
fieldField data to read or modify.
marginalThe marginal value used by the operation.
shutterXThe shutter x value used by the operation.

Definition at line 286 of file quantummoshinsky2d.cpp.

References qpe::GaussianPacket2D::xCoordinate().

Referenced by qpe::QuantumMoshinskyHistory2D::append().

◆ identifyShutter()

bool qpe::QuantumMoshinsky2D::identifyShutter ( const PotentialScene2D & scene,
std::uint64_t shutterObjectId,
QuantumMoshinskyGeometry2D & geometry,
const char ** reason = nullptr )
staticnoexcept

Returns identify shutter.

Parameters
sceneThe scene value used by the operation.
shutterObjectIdStable identifier of the requested object.
geometryThe geometry value used by the operation.
reasonThe reason value used by the operation.

Definition at line 151 of file quantummoshinsky2d.cpp.

References qpe::Barrier, qpe::PotentialObject2D::enabled, qpe::Rectangle, qpe::PotentialObject2D::type, qpe::PotentialObject2D::valid(), and qpe::PotentialObject2D::value.

◆ initialize()

◆ marginalX()

bool qpe::QuantumMoshinsky2D::marginalX ( const ComplexField2D & field,
std::vector< float > & out )
staticnoexcept

Performs marginal x.

Parameters
fieldField data to read or modify.
outThe out value used by the operation.

Definition at line 252 of file quantummoshinsky2d.cpp.

Referenced by qpe::QuantumMoshinskyHistory2D::append().

◆ meanX()

double qpe::QuantumMoshinsky2D::meanX ( const ComplexField2D & field,
const std::vector< float > & marginal )
staticnoexcept

Performs mean x.

Parameters
fieldField data to read or modify.
marginalThe marginal value used by the operation.

Definition at line 301 of file quantummoshinsky2d.cpp.

References qpe::GaussianPacket2D::xCoordinate().

Referenced by qpe::QuantumMoshinskyHistory2D::append().

◆ rasterize()

QuantumMoshinskyPotentialState2D qpe::QuantumMoshinsky2D::rasterize ( const PotentialScene2D & scene,
const QuantumMoshinsky2DConfig & config,
double time,
PotentialField2D & target )
staticnoexcept

Performs rasterize.

Parameters
sceneThe scene value used by the operation.
configConfiguration to apply.
timeSimulation time in solver units.
targetThe target value used by the operation.

Definition at line 223 of file quantummoshinsky2d.cpp.

References qpe::QuantumMoshinskyGeometry2D::closedHeight, qpe::PotentialScene2D::find(), qpe::QuantumMoshinskyPotentialState2D::opened, qpe::PotentialScene2D::rasterize(), qpe::QuantumMoshinskyPotentialState2D::shutterHeight, qpe::QuantumMoshinskyPotentialState2D::valid, and qpe::PotentialObject2D::value.

Referenced by qpe::tests::runQuantumMoshinsky2DTests(), and MainWindow::updateQuantumMoshinskyPotential().

◆ validateConfig()

bool qpe::QuantumMoshinsky2D::validateConfig ( const PotentialScene2D & scene,
const QuantumMoshinsky2DConfig & config,
QuantumMoshinskyGeometry2D * geometry = nullptr,
const char ** reason = nullptr )
staticnoexcept

Validates config.

Parameters
sceneThe scene value used by the operation.
configConfiguration to apply.
geometryThe geometry value used by the operation.
reasonThe reason value used by the operation.

Definition at line 199 of file quantummoshinsky2d.cpp.

References qpe::QuantumMoshinskyGeometry2D::shutterX.

Referenced by qpe::anonymous_namespace{experimentdocument2d.cpp}::quantumMoshinskyFromJson(), MainWindow::resetSimulation(), qpe::tests::runQuantumMoshinsky2DTests(), and MainWindow::updateQuantumMoshinskyPotential().

◆ validateInitialState()

bool qpe::QuantumMoshinsky2D::validateInitialState ( const QuantumMoshinskyInitialState2DConfig & config,
const char ** reason = nullptr )
staticnoexcept

Validates initial state.

Parameters
configConfiguration to apply.
reasonThe reason value used by the operation.

Definition at line 73 of file quantummoshinsky2d.cpp.

Referenced by initialize(), and qpe::anonymous_namespace{experimentdocument2d.cpp}::moshinskyInitialStateFromJson().


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