/* * Copyright 2016 Tobias Frust * * DetectorModule.h * * Created on: 29.06.2016 * Author: Tobias Frust */ #ifndef DETECTORMODULE_H_ #define DETECTORMODULE_H_ #include "../UDPClient/UDPClient.h" #include #include #include #include #include void timer_start(std::function func, unsigned int interval){ std::thread([func, interval]() { while (true) { func(); std::this_thread::sleep_for(std::chrono::milliseconds(interval)); } }).detach(); } template class DetectorModule { public: DetectorModule(const int detectorID, const std::string& address, const std::string& configPath); auto sendPeriodically(unsigned int timeIntervall) -> void; private: std::vector buffer_; int detectorID_; UDPClient client_; int numberOfDetectors_; int numberOfPlanes_; int numberOfProjections_; int numberOfDetectorsPerModule_; std::size_t numberOfFrames_; std::string path_, fileName_, fileEnding_; std::size_t index_; auto readConfig(const std::string& configFile) -> bool; auto readInput() -> void; }; #endif