Files
Jungfraujoch/acquisition_device/AcquisitionDeviceGroup.h

24 lines
779 B
C++

// Copyright (2019-2023) Paul Scherrer Institute
#ifndef JUNGFRAUJOCH_ACQUISITIONDEVICEGROUP_H
#define JUNGFRAUJOCH_ACQUISITIONDEVICEGROUP_H
#include <vector>
#include "AcquisitionDevice.h"
#include "../common/JFJochException.h"
class AcquisitionDeviceGroup {
std::vector<std::unique_ptr<AcquisitionDevice>> aq_devices;
public:
AcquisitionDevice& operator[](int idx);
size_t size();
void Add(std::unique_ptr<AcquisitionDevice> &&device);
void AddPCIeDevice(const std::string &device_name);
void AddHLSDevice(int64_t buffer_size_modules);
std::vector<AcquisitionDeviceNetConfig> GetNetworkConfig();
void SetDefaultDataSource(AcquisitionDeviceSource id);
void EnableLogging(Logger *logger);
};
#endif //JUNGFRAUJOCH_ACQUISITIONDEVICEGROUP_H