fbgsense 0.1
Generic FBG spectrum analysis tool
peak.h
1/*
2 * This file is a part of the project "fbgsense", which is released under MIT license.
3 * Copyright (c) 2022 Daniel Múčka, Masaryk University, Faculty of Informatics
4 * See file LICENSE or visit https://opensource.org/licenses/MIT for full license details.
5 */
6
7#pragma once
8
9#include <cstdint>
10#include <vector>
11
12#include "spectrum_types.h"
13
17class peak
18{
19 size_t m_position{ 0 };
20 size_t m_index{ 0 };
21 uint8_t m_channel{ 0 };
22 spectrum_unit_t m_wavelength{ 0 };
23 spectrum_unit_t m_intensity{ 0 };
24 spectrum_unit_t m_asymmetry{ 0 };
25 bounds_t m_bounds;
26public:
27 peak(size_t position, size_t index, spectrum_unit_t wavelength, spectrum_unit_t intensity);
28 peak(size_t position, size_t index, uint8_t channel, spectrum_unit_t wavelength, spectrum_unit_t intensity);
29 peak(size_t position, size_t index, uint8_t channel, spectrum_unit_t wavelength, spectrum_unit_t intensity, spectrum_unit_t asymmetry);
30
31 uint8_t channel();
32 size_t position();
33 size_t index();
34 spectrum_unit_t wavelength();
35 spectrum_unit_t intensity();
36 spectrum_unit_t asymmetry();
37 bounds_t bounds();
38
39 void index(uint8_t index);
40 void bounds(bounds_t bounds);
41};
42
44{
45 int left{ -1 };
46 int right{ -1 };
47 std::vector<peak> peaks;
48};
49
Data structure holding information about peak's properties.
Definition: peak.h:18
Definition: spectrum_types.h:81
Definition: peak.h:44