File indexing completed on 2024-05-19 14:58:12

0001 /*
0002     SPDX-FileCopyrightText: 2023 Joseph McGee <joseph.mcgee@sbcglobal.net>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #ifndef OPTIMALEXPOSUREDETAIL_H
0010 #define OPTIMALEXPOSUREDETAIL_H
0011 #include <QAbstractItemModel>
0012 #include <QVector>
0013 #include "optimalexposurestack.h"
0014 
0015 QT_BEGIN_NAMESPACE
0016 namespace OptimalExposure
0017 {
0018 class OptimalExposureDetail
0019 {
0020     public:
0021         OptimalExposureDetail() {}
0022         OptimalExposureDetail(int selectedGain, double subExposureTime, double exposurePollutionElectrons, double exposureShotNoise,
0023                               double exposureTotalNoise, const QVector<OptimalExposureStack> &stackSummary);
0024 
0025         int getSelectedGain() const;
0026         void setSelectedGain(int newSelectedGain);
0027         double getSubExposureTime() const;
0028         void setSubExposureTime(double newSubExposureTime);
0029         double getExposurePollutionElectrons() const;
0030         void setExposurePollutionElectrons(double newExposurePollutionElectrons);
0031         double getExposureShotNoise() const;
0032         void setExposureShotNoise(double newExposureShotNoise);
0033         double getExposureTotalNoise() const;
0034         void setExposureTotalNoise(double newExposureTotalNoise);
0035         const QVector<OptimalExposureStack> &getStackSummary() const;
0036         void setStackSummary(const QVector<OptimalExposureStack> &newStackSummary);
0037 
0038 
0039     private:
0040         int selectedGain;
0041         double subExposureTime;
0042         double exposurePollutionElectrons;
0043         double exposureShotNoise;
0044         double exposureTotalNoise;
0045         QVector<OptimalExposureStack> stackSummary ;
0046 };
0047 }
0048 QT_END_NAMESPACE
0049 
0050 #endif // OPTIMALEXPOSUREDETAIL_H