7#ifndef _CCALIBRATIONCHARTSCENE_H
8#define _CCALIBRATIONCHARTSCENE_H
14#include <QGraphicsView>
25class QGraphicsItemGroup;
26class QGraphicsRectItem;
27class QGraphicsSimpleTextItem;
38double calculateR2Value(
double a,
double b, vector<double> xvalues, vector<double> yvalues);
48double calculateLOD(
double a, vector<double> xvalues, vector<double> yvalues);
58double calculateLOQ(
double a, vector<double> xvalues, vector<double> yvalues);
95 void exportToPDF(QString filename,
bool postscript);
128 void setLineParameters(
int equationtype,
double a,
double b, vector<double> xvalues, vector<double> yvalues, vector<double> sd);
139 void setData(vector<double> datax, vector<double> datay, vector<double> datasd, vector<string> datagroups, vector<int> datatimevalues);
211 QGraphicsScene* scene;
212 QMatrix originalmatrix;
214 QGraphicsItemGroup* zoomgroup;
215 QGraphicsRectItem* zoomrect;
216 QGraphicsSimpleTextItem* zoomsimpletextitem;
218 QGraphicsSimpleTextItem* cursorsimpletextitem;
230 bool calledbyresizeevent;
232 deque<int> oldheight;
249 bool enablemousexvalueselection;
256 vector<double> xvalues;
257 vector<double> yvalues;
261 vector<double> datax;
262 vector<double> datay;
264 vector<double> datasd;
265 vector<string> datagroups;
267 vector<int> datatimevalues;
272 double getValueFromXPosition(
int x,
int w);
275 int getXPositionFromValue(
double value,
int w);
278 double getValueFromYPosition(
int y,
int h);
281 int getYPositionFromValue(
double intensity,
int h);
287 void updateZoomGroup();
290 void calculateMinMaxXValue();
293 double getMaximumYValue();
319 void setXValueInterval(
double minxvalue,
double maxxvalue);
322 void resetXValueInterval();
double calculateLOD(double a, vector< double > xvalues, vector< double > yvalues)
Calculate limit of detection.
Definition: cCalibrationChartScene.cpp:48
double calculateLOQ(double a, vector< double > xvalues, vector< double > yvalues)
Calculate limit of quantitation.
Definition: cCalibrationChartScene.cpp:89
double calculateR2Value(double a, double b, vector< double > xvalues, vector< double > yvalues)
Calculate the coefficient of determination R^2.
Definition: cCalibrationChartScene.cpp:20
The implementation of an isotopic pattern simulator (graphics).
Definition: cCalibrationChartScene.h:65
void setData(vector< double > datax, vector< double > datay, vector< double > datasd, vector< string > datagroups, vector< int > datatimevalues)
Set parameters of calibration curve.
Definition: cCalibrationChartScene.cpp:295
void setGraphType(int type)
Set graph type.
Definition: cCalibrationChartScene.cpp:325
void updateXValueInterval(double minxvalue, double maxxvalue)
The signal is emitted when the range of x value has been changed.
void setLineParameters(int equationtype, double a, double b, vector< double > xvalues, vector< double > yvalues, vector< double > sd)
Set parameters of calibration curve.
Definition: cCalibrationChartScene.cpp:280
void initialize()
Initialize the widget.
Definition: cCalibrationChartScene.cpp:160
void resizeEvent(QResizeEvent *event)
Handle the widget resize event.
Definition: cCalibrationChartScene.cpp:528
void wheelEvent(QWheelEvent *event)
Handle the mouse wheel event.
Definition: cCalibrationChartScene.cpp:358
~cCalibrationChartScene()
The destructor.
Definition: cCalibrationChartScene.cpp:155
int getMaximumCollectionTime()
Get the maximum collection time.
Definition: cCalibrationChartScene.cpp:347
cCalibrationChartScene(QWidget *parent=0)
The constructor.
Definition: cCalibrationChartScene.cpp:94
void hideLabels(bool state)
Hide labels of calibration points.
Definition: cCalibrationChartScene.cpp:274
double getMaximumConcentration()
Get the maximum concentration.
Definition: cCalibrationChartScene.cpp:331
void exportToPNG(QString filename)
Export spectrum scene into a PNG file.
Definition: cCalibrationChartScene.cpp:255
void mousePressEvent(QMouseEvent *event)
Handle the mouse press event.
Definition: cCalibrationChartScene.cpp:478
void mouseReleaseEvent(QMouseEvent *event)
Handle the mouse release event.
Definition: cCalibrationChartScene.cpp:433
void mouseMoveEvent(QMouseEvent *event)
Handle the mouse move event.
Definition: cCalibrationChartScene.cpp:384
void exportToSVG(QString filename)
Export spectrum scene into a SVG file.
Definition: cCalibrationChartScene.cpp:234
void showEvent(QShowEvent *event)
Handle the widget show event.
Definition: cCalibrationChartScene.cpp:518
void exportToPDF(QString filename, bool postscript)
Export spectrum scene into a PDF or a PS file.
Definition: cCalibrationChartScene.cpp:203