Files
Jungfraujoch/common/ROIBox.h
2025-05-12 14:17:24 +02:00

30 lines
937 B
C++

// SPDX-FileCopyrightText: 2024 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
// SPDX-License-Identifier: GPL-3.0-only
#ifndef JUNGFRAUJOCH_ROIBOX_H
#define JUNGFRAUJOCH_ROIBOX_H
#include "ROIElement.h"
class ROIBox : public ROIElement {
int64_t x_min;
int64_t x_max;
int64_t y_min;
int64_t y_max;
public:
ROIBox(const std::string &name, int64_t x_min, int64_t x_max, int64_t y_min, int64_t y_max);
~ROIBox() override = default;
[[nodiscard]] int64_t GetXMin() const;
[[nodiscard]] int64_t GetXMax() const;
[[nodiscard]] int64_t GetYMin() const;
[[nodiscard]] int64_t GetYMax() const;
[[nodiscard]] int64_t GetWidth() const;
[[nodiscard]] int64_t GetHeight() const;
[[nodiscard]] int64_t GetArea() const;
bool CheckROI(int64_t x, int64_t y, float resolution) const override;
ROIConfig ExportMetadata() const override;
};
#endif //JUNGFRAUJOCH_ROIBOX_H