![]() |
SMILE
v2.5
Schwarzschild Modelling Interactive expLoratory Environment
|
The main GUI window class. More...
#include <gui.h>


Public Slots | |
| void | info (const QString &message) |
| show message in the information area | |
| void | error (const QString &message) |
| pop up an error message box | |
Signals | |
| void | stopOrbitLibrary () |
| raised if user pressed stop during orbit library integration | |
| void | stopExportNbody () |
| raised if user pressed stop during exporting to Nbody | |
Public Member Functions | |
| CSmileGUI (QWidget *parent=0, Qt::WFlags flags=0) | |
| create the CSmileCore object and various GUI elements, connect signals, load default settings | |
| ~CSmileGUI () | |
| save settings on exit if the corresponding checkbox is turned on | |
Private Slots | |
| void | on_ButtonStart_clicked () |
| start an orbit with the current initial conditions | |
| void | on_ButtonRandom_clicked () |
| start an orbit with the current value of energy and random initial conditions | |
| void | timerEventCore () |
| refresh the progress bar during orbit library integration | |
| void | redrawPotential () |
| replot the potential/density figure on the "Potential" tab | |
| void | redrawPotentialB (bool) |
| replot the potential/density figure if the parameter is true | |
| void | redrawOrbit (bool) |
| redraw the current figure on the "Orbit" tab (trajectory or pericenter distribution) | |
| void | redrawFreqMap (bool) |
| redraw the frequency map | |
| void | redrawSchwModel (bool) |
| redraw the current plot on the "Schwarzschild model" tab | |
| void | refreshOrbitAndSpectrum () |
| compute spectrum for a given sub-interval of the orbit and update data on the spectrum and trajectory plots | |
| void | on_pushButton_refresh3dmesh_clicked () |
| redraw 3d rendering of the orbit as a solid body | |
| void | on_checkBox_usePS_stateChanged (int) |
| toggle the usage of Poincare surface of section for integration of subsequent orbits | |
| void | on_ButtonClearPS_clicked () |
| clear Poincare plot | |
| void | on_ButtonFindPeriodic_clicked () |
| locate the periodic orbit closest to the current one, using the Poincare surface of section | |
| void | on_checkBox_freqLines_stateChanged (int) |
| toggle the display of spectral lines on the spectrum plot | |
| void | on_radioButton_2d_toggled (bool) |
| switch between 2d and 3d potentials | |
| void | on_comboBox_Lyapunov_currentIndexChanged (int) |
| toggle the computation of Lyapunov exponent | |
| void | intTime_changed () |
| update integration time or steps per period | |
| void | PScoordChanged () |
| modify Poincare section coordinates | |
| void | fmparams_changed () |
| update frequency map parameters on user input | |
| void | smparams_changed () |
| update Schwarzschild model parameters on user input | |
| void | ccparams_changed () |
| update criteria for labelling orbits as regular or chaotic, after user input | |
| void | potentialChanged () |
| re-initialize potential when user changes potential parameters (if potential type is not BSE/Spline/Nbody) | |
| void | potentialIndexChanged () |
| index of potential component in the parameters panel has changed | |
| void | refreshPotentialComponentList () |
| fill the list of components on the potential plot tab and the potential parameters panel | |
| void | showHidePotentialParams () |
| depending on the current potential and density model, show only the relevant parameters in the right panel | |
| void | on_buttonInitPotential_clicked () |
| initialize potential for a computationally-intensive types (BSE/Spline/Nbody) when user presses "init potential" button | |
| void | integratorChanged () |
| update ODE integrator parameters | |
| void | ICchanged () |
| update initial conditions on user input | |
| void | chooseNbodyFile () |
| display the dialog window to open a file with Nbody snapshot or potential coefficients | |
| void | typeinNbodyFile () |
| called when user presses Enter in the input line for the Nbody snapshot file; if the file doesn't exist, pop up dialog for choosing the file, otherwise use the name that was typed in | |
| void | assignNbodyFile (QString fileName) |
| initialize potential from an Nbody snapshot or coefficients file | |
| void | on_checkBox_fmExistingSS_stateChanged (int) |
| toggle the usage of an existing orbit library for the start space in the Frequency Map | |
| void | on_checkBox_fmConfigSpace_stateChanged (int) |
| in the Frequency map, toggle the display of orbits with nonzero weights only | |
| void | on_selectEnergyLevel_fm_valueChanged (int) |
| display orbits from a given energy shell only in the frequency map | |
| void | on_selectEnergyLevel_sm_valueChanged (int) |
| display orbits from a given energy shell only in the plot of Schwarzschild model coefficients | |
| void | on_spinBox_intervalCount_valueChanged (int) |
| change the number of segments that a single orbit is divided into | |
| void | on_spinBox_IntervalNum_valueChanged (int) |
| change the index of orbit segment | |
| void | on_radioButton_ICe_toggled (bool) |
| switch between using energy or coordinates/velocities for the initial conditions of a single orbit | |
| void | PSclicked (const QwtDoublePoint &pos) |
| assign the initial conditions by right-clicking Poincare plot | |
| void | FMclicked (const QwtDoublePoint &pos) |
| select the nearest orbit in the frequency map plot | |
| void | SMclicked (const QwtDoublePoint &pos) |
| display information about nearest coefficient of the Schwarzschild model | |
| void | SMHistoClicked (const QwtDoublePoint &pos) |
| select the nearest orbit from the plot displaying orbit weights in the Schwarzschild model | |
| void | on_ButtonFreqMap_clicked () |
| create the orbit library for the Frequency Map | |
| void | on_ButtonSchwOrbitLib_clicked () |
| create the orbit library for the Schwarzschild model | |
| void | on_ButtonSchwLP_clicked () |
| run linear optimization solver for the Schwarzschild model | |
| void | on_ButtonSchwQP_clicked () |
| run quadratic optimization solver | |
| void | on_ButtonSchwNbody_clicked () |
| run the export of Schwarzschild model to an Nbody snapshot | |
| void | on_ButtonExportModelStats_clicked () |
| export statistics of Schwarzschild model coefficients | |
| void | on_ButtonExportPS_clicked () |
| export the Poincare surface of section to a text file | |
| void | on_ButtonImportSM_clicked () |
| import Schwarzschild model (orbit library plus binary data) | |
| void | on_ButtonExportSM_clicked () |
| export Schwarzschild model | |
| void | on_ButtonImportFM_clicked () |
| import orbit library for the Frequency map | |
| void | on_ButtonExportFM_clicked () |
| export orbit library | |
| void | on_ButtonImportOrbit_clicked () |
| import a trajectory from a text file | |
| void | on_ButtonExportOrbit_clicked () |
| export orbit trajectory to a text file | |
| void | on_ButtonExportPotential_clicked () |
| export potential/density profile to a text file | |
| void | on_ButtonPrint_clicked () |
| export the currently visible plot to a PS or PDF file | |
| void | CalcFinished () |
| called after the integration of a single orbit is done | |
| void | OrbitLibraryFinished () |
| called after the orbit library integration is done | |
| void | SchwOptimizationFinished (const QString &message) |
| called when Schwarzschild optimization is finished with the given result message | |
| void | NbodyReintegrationFinished () |
| called when reintegration of high-weight orbits during the export to Nbody is finished | |
| void | NbodyExportFinished (const QString &message) |
| called when the export of Schwarzschild model to an Nbody snapshot is finished | |
Private Member Functions | |
| bool | eventFilter (QObject *target, QEvent *Event) |
| track 'Enter' keydown events and start single orbit integration in response | |
| bool | loadApplySettings (QString fileName="") |
| load ini file (at start or along with orbit library) and modify the content of GUI controls | |
| void | updatePotentialSettings () |
| fill the potential parameters tab when the component index of a composite potential is changed | |
| void | drawFreqMapResonances () |
| draw several most important resonance lines on the frequency map plot | |
| void | addPoincareCurve (const CPoincareInformation *tps) |
| add a new orbit to the Poincare surface of section | |
| QString | getOrbitPopulation (int numShell, bool useWeights) const |
| calls corresponding function from orbit library, if it exists | |
| void | enableOrbitLibControls (bool enable) |
| switch on or off some GUI controls for the duration of orbit library integration, optimization, or export to Nbody | |
| virtual void | timerEvent (QTimerEvent *) |
| update orbit trajectory plot if orbit integration is taking too long | |
Static Private Member Functions | |
| static void | XYZtoXY (const double X, const double Y, const double Z, double *x, double *y) |
| project start-space onto 2d plane | |
Private Attributes | |
| Ui::CSmileGUIClass | ui |
| window interface elements | |
| QwtPlot * | PlotOrbit |
| figure that displays single trajectory in 2d | |
| QwtPlotCurve * | CurveOrbit |
| orbit trajectory | |
| QwtPlotCurve * | CurveEquipotential |
| equipotential surface on the trajectory plot | |
| QwtPlotZoomer * | ZoomerOrbit |
| pan/zoom the trajectory plot | |
| QwtPlot * | PlotOrbitParam |
| figure that displays the distribution of pericenter radii for a single orbit | |
| QwtPlotCurve * | CurveOrbitParam |
| curve displaying the pericenter distribution | |
| QwtPlotZoomer * | ZoomerOrbitParam |
| pan/zoom the pericenter plot | |
| QwtPlot * | PlotPotential |
| figure that displays potential, density or circular velocity as a function of radius | |
| QwtPlotCurve * | CurvePotential |
| curve displaying the potential, density, circular velocity or one of frequencies | |
| QwtPlotCurve * | CurvePotential1 |
| additional curve displaying another frequency | |
| QwtPlotCurve * | CurvePotential2 |
| additional curve displaying third frequency | |
| QwtPlotZoomer * | ZoomerPotential |
| pan/zoom the potential plot | |
| QwtPlot * | PlotPoincare |
| figure that displays Poincare surface of section | |
| QwtPlotZoomer * | ZoomerPoincare |
| pan/zoom the Poincare plot | |
| QVector< QwtPlotCurve * > | CurvesPoincare |
| array of curves on the Poincare plot, one for each orbit previously displayed | |
| QwtPlot * | PlotFreq |
| figure that displays the frequency spectrum of an orbit and the lines | |
| QwtPlotCurve * | CurveFreqX |
| spectrum of oscillations in X direction | |
| QwtPlotCurve * | CurveFreqY |
| spectrum of oscillations in Y direction | |
| QwtPlotCurve * | CurveFreqZ |
| spectrum of oscillations in Z direction | |
| QwtPlotCurve * | CurveFreqPeaksP |
| spectral lines detected with Hunter's precise method | |
| QwtPlotCurve * | CurveFreqPeaks |
| spectral lines detected with more approximate method of Carpintero&Aguilar | |
| QwtPlotZoomer * | ZoomerFreq |
| pan/zoom the spectrum plot | |
| QwtPlot * | PlotLyapunov |
| figure that displays the estimate of the Lyapunov exponent of an orbit as a function of time | |
| QwtPlotCurve * | CurveDeviation |
| magnitude of the deviation vector divided by time | |
| QwtPlotCurve * | CurveLyapunov |
| finite-time estimate of Lyapunov exponent | |
| QwtPlot * | PlotFreqMap |
| figure that displays the frequency map for the orbit library | |
| QwtPlotCurve * | CurveFreqMapR |
| regular orbits on the frequency map | |
| QwtPlotCurve * | CurveFreqMapC |
| chaotic orbits on the frequency map | |
| QwtPlotZoomer * | ZoomerFreqMap |
| pan/zoom the frequency map | |
| QwtPlot * | PlotFreqMapHisto |
| figure that displays cumulative distribution of orbits as a function of frequency or Lyapunov exponent | |
| QwtPlotCurve * | CurveFreqMapHisto |
| cumulative distrubution of orbits | |
| QwtPlot * | PlotFreqMapSS |
| figure that shows the start space (a regular set of orbits with the same energy) | |
| QwtPlotCurve * | CurveFreqMapSSR |
| regular orbits on the start space plot | |
| QwtPlotCurve * | CurveFreqMapSSC |
| chaotic orbits on the start space plot | |
| QwtPlot * | PlotSchw |
| figure that shows coefficients of the Schwarzschild model | |
| QwtPlotCurve * | CurveSchwCellF |
| feasible coefficients in the model | |
| QwtPlotCurve * | CurveSchwCellI |
| infeasible coefficients in the model | |
| QwtPlot * | PlotSchwHisto |
| figure that displays orbit weights in the Schwarzschild model or their cumulative distribution | |
| QwtPlotCurve * | CurveSchwHistoR |
| weights of regular orbits | |
| QwtPlotCurve * | CurveSchwHistoC |
| weights of chaotic orbits | |
| Qwt3D::SurfacePlot * | Plot3d |
| 3d plot of orbit trajectory | |
| Qwt3D::TripleField | trjpos |
| 3d trajectory, points | |
| Qwt3D::CellField | trjcells |
| 3d trajectory defined as a set of polygons (with only one cell) | |
| CTriangThread * | TriangThr |
| the worker object to perform triangulation | |
| CSmileCore * | core |
| the instance of core object holding all non-gui data | |
| double | maxdist |
| max distance between adjacent points of trajectory (used in triangulation thread) | |
| bool | InternalRecalc |
| indicate that modification of GUI controls is done not by user but internally, so do not react on this | |
| double | Eprev |
| double | Lz2prev |
| previous value of orbit energy and z-axis angular momentum (if difference is > Eeps, clear the Poincare section) | |
| QString | SchwModelResult |
| text message returned by Schwarzschild modelling routine | |
| int | myTimerOrbit |
| timer for single orbit integration | |
| QTime | timeOI |
| measure time for orbit integration | |
| double | timeOIelapsed |
| keep track of time used for orbit integration (not including analysis) | |
| QTime | timeFM |
| measure time for frequency map calculation | |
| size_t | currentComponentIndex |
| index of selected potential component in the potential parameters panel | |
The main GUI window class.
1.8.8