// Created with MonoDevelop
//
//    Copyright (C) 2024 Hiperscan GmbH Dresden, Germany
//
//    This program is free software: you can redistribute it and/or modify
//    it under the terms of the GNU General Public License as published by
//    the Free Software Foundation, either version 3 of the License, or
//    (at your option) any later version.
//
//    This program is distributed in the hope that it will be useful,
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//    GNU General Public License for more details.
//
//    You should have received a copy of the GNU General Public License
//    along with this program.  If not, see <http://www.gnu.org/licenses/>.

using System;

namespace Hiperscan.Spectroscopy.Processing
{
    public enum ReferenceWheelVersion : byte
    {
        TitaniumDioxide = 0,
        BariumSulfate = 1,
        ZenithApoIdent1 = 2,
        ZenithOEM1 = 3,
        ZenithApoIdent2 = 4,
        ZenithOEM2 = 5,
        TitaniumDioxideZenithApoIdent = 6,
        TitaniumDioxideZenithOEMSD = 7,
        TitaniumDioxideZenithOEM = 8,
        TitaniumDioxideZenithOEMSD2 = 9,
        TitaniumDioxideZenithApoIdent2 = 10,
        TitaniumDioxideZenithFinder2 = 11,
        TitaniumDioxideZenithFinderX = 12,
        TitaniumDioxideZenithApoIdentES20 = 13,
        TitaniumDioxideOEM = 254,
        Auto = 255
    }

    public enum WhiteReferenceConversionMode
    {
        None,
        TitaniumdioxideToZenith,
        ZenithToTitaniumdioxide
    }

    public enum ExternalWhiteReferenceType
    {
        Unknown,
        Titaniumdioxide,
        Labsphere,
        Zenith
    }

    public enum ExternalBackgroundType
    {
        Unknown,
        White,
        SampleInsertWhite,
        TransflectanceWhite
    }

    public enum LimitBandwidthMode
    {
        ForceSwitchOn,
        Unchangend,
        ForcedSwitchOff
    }

    public enum InstrumentReferenceSystem
    {
        Unknown,
        ReferenceWheel,
        ReferenceBlock
    }
}
