36 lines
1.3 KiB
C++
36 lines
1.3 KiB
C++
// Copyright (2019-2023) Paul Scherrer Institute
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
#ifndef JUNGFRAUJOCH_DETECTORSETUP_H
|
|
#define JUNGFRAUJOCH_DETECTORSETUP_H
|
|
|
|
#include "DetectorGeometry.h"
|
|
#include "../jungfrau/JFModuleGainCalibration.h"
|
|
|
|
class DetectorSetup {
|
|
std::string description;
|
|
DetectorGeometry geometry;
|
|
std::vector<std::string> det_modules_hostname;
|
|
std::vector<JFModuleGainCalibration> gain_calibration;
|
|
public:
|
|
DetectorSetup(const DetectorGeometry& geom);
|
|
DetectorSetup(const DetectorGeometry& geom,
|
|
const std::string &description,
|
|
const std::vector<std::string> &det_modules_hostname);
|
|
|
|
void LoadGain(const std::vector<std::string> &filenames);
|
|
|
|
[[nodiscard]] const DetectorGeometry& GetGeometry() const;
|
|
[[nodiscard]] const std::vector<std::string>& GetDetectorModuleHostname() const;
|
|
[[nodiscard]] uint64_t GetModulesNum() const;
|
|
[[nodiscard]] std::string GetDescription() const;
|
|
[[nodiscard]] JFJochProtoBuf::DetectorType GetDetectorType() const;
|
|
[[nodiscard]] float GetPixelSize_mm() const;
|
|
[[nodiscard]] const std::vector<JFModuleGainCalibration> &GetGainCalibration() const;
|
|
|
|
operator JFJochProtoBuf::Detector() const;
|
|
};
|
|
|
|
|
|
#endif //JUNGFRAUJOCH_DETECTORSETUP_H
|