43 lines
1.3 KiB
C++
43 lines
1.3 KiB
C++
#ifndef ENERGYSCALEDATAMODEL_H
|
|
#define ENERGYSCALEDATAMODEL_H
|
|
|
|
#include <QString>
|
|
#include <QVariantMap>
|
|
|
|
class EnergyScaleDataModel
|
|
{
|
|
public:
|
|
EnergyScaleDataModel(const QString& filename = QString());
|
|
~EnergyScaleDataModel();
|
|
|
|
void SetDataFilename(const QString& filename);
|
|
|
|
bool LoadData();
|
|
bool SaveData();
|
|
bool IsValid();
|
|
|
|
void SetChannelEnergyScaleDataMap(const QString& channel_name, const QVariantMap& ch_energy_scale_data_map);
|
|
QVariantMap GetChannelEnergyScaleDataMap(const QString& channel_name);
|
|
|
|
void SetEnergyFitDegree(const QString& channel_name, int fit_degree);
|
|
int GetEnergyFitDegree(const QString& channel_name);
|
|
|
|
void SetEnergyFitResultCoeffs(const QString& channel_name, std::vector<double> coeffs);
|
|
std::vector<double> GetEnergyFitResultCoeffs(const QString& channel_name);
|
|
|
|
void SetFwhmFitResultCoeffs(const QString& channel_name, std::vector<double> coeffs);
|
|
std::vector<double> GetFwhmFitResultCoeffs(const QString& channel_name);
|
|
|
|
void SetFitData(const QString& channel_name, const std::vector<std::vector<double> >& fit_data);
|
|
std::vector<std::vector<double> > GetFitData(const QString& channel_name);
|
|
|
|
private:
|
|
void cleanEmptyItem();
|
|
|
|
private:
|
|
QString _data_filename;
|
|
QVariantMap _energy_scale_data_map;
|
|
};
|
|
|
|
#endif // ENERGYSCALEDATAMODEL_H
|