# OnlineDetectorSimulator This little tool will simulate the online capabilities of the new detector. Therefore, a dataset has been created which offers the same structure as the data from the new detector. The software sends out the packages via UDP. ## Build instructions 1. Dependencies: - Boost >= 1.58.0 - libconfig - cmake - A C++11 compiler like gcc On debian-based systems install using the given commands: `$ sudo apt-get install libboost-all-dev libconfig++-dev` 2. Clone the repository: `$ git clone git@github.com:HZDR-FWDF/OnlineDetectorSimulator.git && cd OnlineDetectorSimulator` 3. Run cmake: ```bash # Create build directory $ mkdir build && cd build $ cmake -DCMAKE_BUILD_TYPE=Release ../src/. ``` 4. Build the software `$ make` 5. In the `bin` directory there will be two executables (`onlineDetectorSimulatorClient`, `onlineDetectorSimulatorServer`). ## Usage The executable `onlineDetectorSimulatorClient` sends the UDP packages and `onlineDetectorSimulatorServer` receives them. The usage of the program will be shown using `localhost`: 1. Copy the file `config.cfg` into the binary directory of your executables and make sure you have test data around. 2. Start `onlineDetectorSimulatorServer`: ```bash $ ./onlineDetectorSimulatorServer
``` In case of localhost it would be: ```bash $ ./onlineDetectorSimulatorServer localhost ``` 3. Start `onlineDetectorSimulatorClient`: ```bash $ ./onlineDetectorSimulatorClient
``` Take into account, that currently `packets_per_secon`d value is not equal to the images per second sent out. If you reduce the packet size in `config.cfg` you need to increase the `packets_per_second` value by the same factor to keep the same images per second rate. ```bash $ ./onlineDetectorSimulatorClient 1000 localhost ``` The above command using the standard configuration in the repository sends approximately 1000 images per second via UDP. After some time, quit the client program using `ctrl+c`. The server program will stop after a timeout of `10 s`