File indexing completed on 2024-05-12 03:44:32

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 CAMERAEXPOSUREENVELOPE_H
0010 #define CAMERAEXPOSUREENVELOPE_H
0011 #include <QAbstractItemModel>
0012 #include <QVector>
0013 #include "calculatedgainsubexposuretime.h"
0014 
0015 QT_BEGIN_NAMESPACE
0016 namespace OptimalExposure
0017 {
0018 class CameraExposureEnvelope
0019 {
0020     public:
0021         CameraExposureEnvelope() {}
0022         CameraExposureEnvelope(double lightPollutionElectronBaseRate, double lightPollutionForOpticFocalRatio,
0023                                const QVector<CalculatedGainSubExposureTime> &aSubExposureVector, double exposureTimeMin, double exposureTimeMax);
0024 
0025         double getLightPollutionElectronBaseRate() const;
0026         double getLightPollutionForOpticFocalRatio() const;
0027         const QVector<CalculatedGainSubExposureTime> &getASubExposureVector() const;
0028         double getExposureTimeMin() const;
0029         double getExposureTimeMax() const;
0030 
0031     private:
0032         double lightPollutionElectronBaseRate;
0033         double lightPollutionForOpticFocalRatio;
0034         QVector<CalculatedGainSubExposureTime> aSubExposureVector;
0035         double exposureTimeMin;
0036         double exposureTimeMax;
0037 };
0038 
0039 }
0040 QT_END_NAMESPACE
0041 
0042 #endif // CAMERAEXPOSUREENVELOPE_H