11#include "../MetaInstruments/DataStreamInstrument.h"
12#include "../MetaInstruments/Spectrometer.h"
51 bool ProcessSamples(QList<QPointF> RawSamples, QList<QPointF>& Samples,
const size_t SeriesIndex);
62 QList<QPointF>& Samples,
const size_t SeriesIndex);
73 QList<QPointF>& Samples,
const size_t SeriesIndex);
86 void ReprocessSamples(
const QList<QPointF>& Samples,
const size_t SeriesIndex);
std::vector< BasicSample > BasicSampleListType
Type of a list containing data stream samples of type BasicSample.
Type describing a spectrum as acquired by the Spectrometer instrument.
UnitType
Units which can be used with DynExp instruments.
@ Arbitrary
Arbitrary units (a.u.)
Accumulates include statements to provide a precompiled header.
QPointF LastMinValues
Lower axes limits of x and y axes from previous graph update.
size_t MaxSampleCountPerSeries
Indicates the number of samples contained in the longest data series to plot. A value of 0 indicates ...
decltype(std::declval< QPointF >().x()) QPointFValueType
Data type of sample values for plotting.
DynExp::Units::UnitType XUnit
Joint unit of the plot's x axis.
QPointF CursorPosition
Relative position of the mouse cursor inside the coordinate system (between 0. and 1....
void AdjustAxesLimits()
Adjusts MinValues and MaxValues to best display all data series.
QPointF HoveredPoint
Hovered point belonging to any series in normalized coordinate system coordinates (between 0....
size_t HoveredSeries
Index of the data series the hovered point belongs to.
void CheckSampleHovered(const QPointFValueType X, const QPointFValueType Y, const size_t SeriesIndex)
Checks whether the given sample is close to the mouse cursor (hovered).
bool ProcessSpectrum(DynExpInstr::SpectrometerData::SpectrumType Spectrum, QList< QPointF > &Samples, const size_t SeriesIndex)
Converts Spectrum to displayable format and stores its minimal and maximal values in this DynExpLineG...
QPointF MinValues
Current lower axes limits of x and y axes.
void ReprocessSamples(const QList< QPointF > &Samples, const size_t SeriesIndex)
If data plotting is not enabled (running), the available and already plotted samples have to be repro...
QString YLabel
If empty, the y label is constructed from YUnit. Otherwise, YLabel is used.
double ApplyXLog(double Value) const
QPointF LastMaxValues
Upper axes limits of x and y axes from previous graph update.
QString GetMultiplierLabel() const
Returns the multiplier prefix associated with Multiplier.
QPointFValueType HoveredDistance
Distance between the mouse cursor and the hovered point.
bool XIsLogarithmic
Determines whether x axis is logarithmic.
void ResetHoveredSample()
Removes the stored hovered sample.
void Reset()
Resets the instance to generate information from new sample series.
unsigned int Multiplier
Best order of magnitude to scale the plot's joint time axis with.
bool ProcessBasicSamples(DynExpInstr::DataStreamBase::BasicSampleListType BasicSamples, QList< QPointF > &Samples, const size_t SeriesIndex)
Converts BasicSamples to displayable format and stores their minimal and maximal values in this DynEx...
void GenerateSampleTimingInfo(std::vector< DynExpInstr::DataStreamBase::BasicSampleListType > &BasicSamplesSeries)
Extracts sample timing information for x axis scaling from BasicSamples and stores the results in thi...
double ApplyYLog(double Value) const
QPointF HoveredSample
Hovered sample belonging to any series in the graphs's real coordinate system.
bool YIsLogarithmic
Determines whether y axis is logarithmic.
DynExp::Units::UnitType YUnit
Joint unit of the plot's y axis.
bool ProcessSamples(QList< QPointF > RawSamples, QList< QPointF > &Samples, const size_t SeriesIndex)
Converts RawSamples to displayable format and stores their minimal and maximal values in this DynExpL...
QString XLabel
If empty, the x label is constructed from XUnit. Otherwise, XLabel is used.
QPointF MaxValues
Current upper axes limits of x and y axes.