Quantum Phenomena Explorer 7.9.8
Interactive quantum-phenomena Explorer Tutor — source documentation
Loading...
Searching...
No Matches
quantumrabiplotwidget.h
Go to the documentation of this file.
1/**
2 * @file quantumrabiplotwidget.h
3 * @brief Declares the quantumrabiplotwidget visualization component used by QPE.
4 * @ingroup qpe_graphics
5 *
6 * Source: @c graphics/renderer/quantumrabiplotwidget.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
16
17#include <QWidget>
18
19class QPaintEvent;
20
21/**
22 * @brief Qt visualization component for Quantum Rabi Plot Widget.
23 *
24 * The class presents computed state to the user and does not alter the propagated physical state.
25 */
26class QuantumRabiPlotWidget final : public QWidget
27{
28public:
29 /**
30 * @brief Performs quantum rabi plot widget.
31 * @param parent Optional Qt parent object/widget.
32 */
33 explicit QuantumRabiPlotWidget(QWidget *parent = nullptr);
34
35 /**
36 * @brief Sets samples.
37 * @param samples The samples value used by the operation.
38 */
39 void setSamples(const std::vector<qpe::ObservablesTimeSeries2DSample> &samples);
40 /**
41 * @brief Sets theory.
42 * @param theory The theory value used by the operation.
43 */
44 void setTheory(const qpe::DrivenTwoLevelTheory2D &theory);
45 /**
46 * @brief Performs clear.
47 */
48 void clear();
49
50 /**
51 * @brief Performs minimum size hint.
52 */
53 QSize minimumSizeHint() const override;
54
55protected:
56 /**
57 * @brief Paints event.
58 * @param event Qt event being handled.
59 */
60 void paintEvent(QPaintEvent *event) override;
61
62private:
63 std::vector<qpe::ObservablesTimeSeries2DSample> samples_;
65};
Qt visualization component for Quantum Rabi Plot Widget.
void clear()
Performs clear.
void setTheory(const qpe::DrivenTwoLevelTheory2D &theory)
Sets theory.
qpe::DrivenTwoLevelTheory2D theory_
std::vector< qpe::ObservablesTimeSeries2DSample > samples_
QSize minimumSizeHint() const override
Performs minimum size hint.
QuantumRabiPlotWidget(QWidget *parent=nullptr)
Performs quantum rabi plot widget.
void paintEvent(QPaintEvent *event) override
Paints event.
void setSamples(const std::vector< qpe::ObservablesTimeSeries2DSample > &samples)
Sets samples.
Declares the driventwolevel2d physics/numerical component used by QPE experiments.
Declares the observablestimeseries2d physics/numerical component used by QPE experiments.
Data structure used by the Driven Two Level Theory2D component.