Quantum Phenomena Explorer 7.9.8
Interactive quantum-phenomena Explorer Tutor — source documentation
Loading...
Searching...
No Matches
mainwindow.cpp File Reference

Implements the main QPE desktop window and coordinates experiment configuration, simulation lifecycle, analysis, Help, and GUI persistence. More...

#include "mainwindow.h"
#include "core/quantum/quantumkleinanglescan2d.h"
#include "core/quantum/quantumkleinheightscan2d.h"
#include "core/quantum/quantumkleinmassscan2d.h"
#include "core/quantum/quantumdiracmasslesscomparison2d.h"
#include "ui_mainwindow.h"
#include "core/quantum/gaussianpacket2d.h"
#include "core/experiments/experimenthelp2d.h"
#include "core/experiments/consolidationaudit2d.h"
#include "core/quantum/wavepacketobservables2d.h"
#include "core/quantum/energyobservables2d.h"
#include "core/quantum/wavepacketkinematics.h"
#include "core/quantum/probabilitycurrent2d.h"
#include "core/quantum/positionmeasurement2d.h"
#include "core/quantum/positioncollapse2d.h"
#include "core/quantum/detectorscreenmeasurement2d.h"
#include "core/quantum/detectortemporalflux2d.h"
#include "core/quantum/detectorfluxanalysis2d.h"
#include "core/quantum/potentialcontours2d.h"
#include "core/quantum/probabilitycontours2d.h"
#include "core/quantum/momentumspace2d.h"
#include "core/quantum/resonanttunneling2d.h"
#include "core/quantum/boundstates1d.h"
#include "core/quantum/landauzener2d.h"
#include "core/quantum/wavefunctioncrosssection2d.h"
#include "graphics/renderer/wavefunctionimagerenderer.h"
#include "graphics/renderer/quantumdisplaytransfer.h"
#include "graphics/renderer/quantumgraphicspreset.h"
#include "graphics/renderer/quantumtonemapping.h"
#include "graphics/renderer/quantumpotentialeditor2d.h"
#include "graphics/renderer/quantumcrosssectionplotwidget.h"
#include "graphics/renderer/quantumtimeseriesplotwidget.h"
#include "graphics/renderer/quantumresonanceplotwidget.h"
#include "graphics/renderer/quantumboundstateplotwidget.h"
#include <QAction>
#include <QCoreApplication>
#include <QDesktopServices>
#include <QDir>
#include <QFile>
#include <QMenu>
#include <QStandardPaths>
#include <QTextStream>
#include <QUrl>
#include <QCheckBox>
#include <QCloseEvent>
#include <QDockWidget>
#include <QEvent>
#include <QFont>
#include <QFileDialog>
#include <QFileInfo>
#include <QJsonDocument>
#include <QList>
#include <QListWidget>
#include <QListWidgetItem>
#include <QComboBox>
#include <QDoubleSpinBox>
#include <QPushButton>
#include <QMessageBox>
#include <QSignalBlocker>
#include <QSettings>
#include <QSpinBox>
#include <QTimer>
#include <QVariant>
#include <QWindowStateChangeEvent>
#include <QTableWidget>
#include <QTableWidgetItem>
#include <QTextBrowser>
#include <QTabWidget>
#include <QHeaderView>
#include <QStatusBar>
#include <QStringList>
#include <algorithm>
#include <cmath>
#include <vector>
#include <string>

Go to the source code of this file.

Namespaces

namespace  anonymous_namespace{mainwindow.cpp}
 

Enumerations

enum  anonymous_namespace{mainwindow.cpp}::DiagnosticRow {
  anonymous_namespace{mainwindow.cpp}::RowExperimentLibrary = 0 , anonymous_namespace{mainwindow.cpp}::RowTransportState , anonymous_namespace{mainwindow.cpp}::RowTransportSpeed , anonymous_namespace{mainwindow.cpp}::RowTransportTimer ,
  anonymous_namespace{mainwindow.cpp}::RowSimulationTime , anonymous_namespace{mainwindow.cpp}::RowSimulationStep , anonymous_namespace{mainwindow.cpp}::RowSimulationNorm , anonymous_namespace{mainwindow.cpp}::RowAbsorbedProbability ,
  anonymous_namespace{mainwindow.cpp}::RowUniverseSize , anonymous_namespace{mainwindow.cpp}::RowBoundaryCondition , anonymous_namespace{mainwindow.cpp}::RowGridSize , anonymous_namespace{mainwindow.cpp}::RowGridSpacing ,
  anonymous_namespace{mainwindow.cpp}::RowSolverDt , anonymous_namespace{mainwindow.cpp}::RowPacketCenter , anonymous_namespace{mainwindow.cpp}::RowPacketSigma , anonymous_namespace{mainwindow.cpp}::RowPacketMomentum ,
  anonymous_namespace{mainwindow.cpp}::RowPacketMass , anonymous_namespace{mainwindow.cpp}::RowPacketEnergy , anonymous_namespace{mainwindow.cpp}::RowPacketEnergyX , anonymous_namespace{mainwindow.cpp}::RowSpatialMean ,
  anonymous_namespace{mainwindow.cpp}::RowSpatialSigma , anonymous_namespace{mainwindow.cpp}::RowPotentialGeometry , anonymous_namespace{mainwindow.cpp}::RowPotentialEditor , anonymous_namespace{mainwindow.cpp}::RowPotentialHeight ,
  anonymous_namespace{mainwindow.cpp}::RowPotentialPosition , anonymous_namespace{mainwindow.cpp}::RowPotentialDimensions , anonymous_namespace{mainwindow.cpp}::RowPotentialAperture , anonymous_namespace{mainwindow.cpp}::RowPotentialRange ,
  anonymous_namespace{mainwindow.cpp}::RowPotentialContours , anonymous_namespace{mainwindow.cpp}::RowProbabilityContours , anonymous_namespace{mainwindow.cpp}::RowMomentumMean , anonymous_namespace{mainwindow.cpp}::RowMomentumSigma ,
  anonymous_namespace{mainwindow.cpp}::RowMomentumGrid , anonymous_namespace{mainwindow.cpp}::RowTunnelingRegime , anonymous_namespace{mainwindow.cpp}::RowTunnelingTheory , anonymous_namespace{mainwindow.cpp}::RowScatteringState ,
  anonymous_namespace{mainwindow.cpp}::RowScatteringProbabilities , anonymous_namespace{mainwindow.cpp}::RowResonanceGeometry , anonymous_namespace{mainwindow.cpp}::RowResonanceState , anonymous_namespace{mainwindow.cpp}::RowBoundSpectrum ,
  anonymous_namespace{mainwindow.cpp}::RowBoundPreparation , anonymous_namespace{mainwindow.cpp}::RowCoherentTunneling , anonymous_namespace{mainwindow.cpp}::RowWellPopulations , anonymous_namespace{mainwindow.cpp}::RowDrivenTwoLevel ,
  anonymous_namespace{mainwindow.cpp}::RowLandauZener , anonymous_namespace{mainwindow.cpp}::RowStueckelberg , anonymous_namespace{mainwindow.cpp}::RowRamsey , anonymous_namespace{mainwindow.cpp}::RowBerryPhase ,
  anonymous_namespace{mainwindow.cpp}::RowLoschmidt , anonymous_namespace{mainwindow.cpp}::RowMoshinsky , anonymous_namespace{mainwindow.cpp}::RowKapitzaDirac , anonymous_namespace{mainwindow.cpp}::RowAharonovBohm ,
  anonymous_namespace{mainwindow.cpp}::RowLandauMagnetic , anonymous_namespace{mainwindow.cpp}::RowQuantumHallEdge , anonymous_namespace{mainwindow.cpp}::RowQuantumBackflow , anonymous_namespace{mainwindow.cpp}::RowZitterbewegung ,
  anonymous_namespace{mainwindow.cpp}::RowKleinTunneling , anonymous_namespace{mainwindow.cpp}::RowCurrentMax , anonymous_namespace{mainwindow.cpp}::RowCurrentIntegrated , anonymous_namespace{mainwindow.cpp}::RowCrossSection ,
  anonymous_namespace{mainwindow.cpp}::RowTimeSeries , anonymous_namespace{mainwindow.cpp}::RowEnergyKinetic , anonymous_namespace{mainwindow.cpp}::RowEnergyPotential , anonymous_namespace{mainwindow.cpp}::RowEnergyTotal ,
  anonymous_namespace{mainwindow.cpp}::RowEnergyDrift , anonymous_namespace{mainwindow.cpp}::RowMeasurementTotal , anonymous_namespace{mainwindow.cpp}::RowMeasurementBatch , anonymous_namespace{mainwindow.cpp}::RowCollapseOutcome ,
  anonymous_namespace{mainwindow.cpp}::RowCollapseSpreads , anonymous_namespace{mainwindow.cpp}::RowDetectorScreen , anonymous_namespace{mainwindow.cpp}::RowDetectorFlux , anonymous_namespace{mainwindow.cpp}::RowDetectorConvergence ,
  anonymous_namespace{mainwindow.cpp}::RowRenderingPreset , anonymous_namespace{mainwindow.cpp}::RowRenderingView , anonymous_namespace{mainwindow.cpp}::RowRenderingDisplay , anonymous_namespace{mainwindow.cpp}::RowRenderingPost ,
  anonymous_namespace{mainwindow.cpp}::RowRenderingPipeline , anonymous_namespace{mainwindow.cpp}::RowCount
}
 

Functions

QString anonymous_namespace{mainwindow.cpp}::formatIndicativeDuration (double seconds)
 Performs format indicative duration.
 
QString anonymous_namespace{mainwindow.cpp}::formatIndicativeLength (double meters)
 Performs format indicative length.
 
QString anonymous_namespace{mainwindow.cpp}::formatIndicativeEnergyFromTime (double seconds)
 Performs format indicative energy from time.
 
QString anonymous_namespace{mainwindow.cpp}::formatIndicativeFrequencyFromTime (double seconds)
 Performs format indicative frequency from time.
 
QString anonymous_namespace{mainwindow.cpp}::realWorldScaleHelpIt (const qpe::RealWorldScale2D &scale)
 Performs real world scale help it.
 
QString anonymous_namespace{mainwindow.cpp}::realWorldScaleHelpEn (const qpe::RealWorldScale2D &scale)
 Performs real world scale help en.
 
QVariant anonymous_namespace{mainwindow.cpp}::persistedWidgetValue (QWidget *widget)
 Performs persisted widget value.
 
bool anonymous_namespace{mainwindow.cpp}::applyPersistedWidgetValue (QWidget *widget, const QVariant &value)
 Applies persisted widget value.
 
bool anonymous_namespace{mainwindow.cpp}::isDomainControlName (const QString &name)
 Returns whether domain control name.
 
QString anonymous_namespace{mainwindow.cpp}::safeExperimentFileStem (QString text)
 Performs safe experiment file stem.
 

Variables

const int anonymous_namespace{mainwindow.cpp}::kGuiStateVersion = 1
 
const char anonymous_namespace{mainwindow.cpp}::kGuiSettingsGroup [] = "MainWindow"
 
const char *const anonymous_namespace{mainwindow.cpp}::kExperimentDomainControlNames []
 
const char *const anonymous_namespace{mainwindow.cpp}::kExperimentControlNames []
 

Detailed Description

Implements the main QPE desktop window and coordinates experiment configuration, simulation lifecycle, analysis, Help, and GUI persistence.

Source: mainwindow.cpp. This file is part of Quantum Phenomena Explorer (QPE), maintained by Officina Turini. See LICENSE_IT.txt / LICENSE.txt for the QPE freeware source-available terms and THIRD_PARTY_NOTICES.txt for third-party components.

Definition in file mainwindow.cpp.