#include #include #include #include #include "globals.h" class qwtSpectrumDisplay { QwtPlot* mainPlot; QwtPlotCurve* simSpectrum; public: qwtSpectrumDisplay() { mainPlot = new QwtPlot(); simSpectrum = new QwtPlotCurve("Simulated Spectrum"); //set colors mainPlot->setCanvasBackground(QBrush(Qt::black)); simSpectrum->setPen(QPen(Qt::white)); //attach curves simSpectrum->attach(mainPlot); //display the plot mainPlot->show(); } void updateCurves() { //create qVectors to store curve values QVector qNu; QVector qV; //update the simulation for(int i = 0; i < SimSpectrum.size(); i++) { qNu.push_back(SimSpectrum[i].nu); qV.push_back(SimSpectrum[i].A); } simSpectrum->setSamples(qNu, qV); } void replot() { //set the appropriate axis title mainPlot->setAxisTitle(2, "Wavenumber (cm^-1)"); if(dispSimType == AbsorbanceSpecType) mainPlot->setAxisTitle(0, "Absorbance (a.u.)"); else if(dispSimType == IntensitySpecType) mainPlot->setAxisTitle(0, "Intensity (a.u.)"); updateCurves(); mainPlot->replot(); } };