aare/examples/multiport_example.cpp
Bechir Braham 91a628cd6c
pedestal (#67)
* add config files for multimodule receiving

* read subfiles with unordered and missing frames

* save work debugging

* Revert "save work debugging"

This reverts commit e791992a05efd754f93a80c980d17397eb4b6045.

* Revert "read subfiles with unordered and missing frames"

This reverts commit 1177fd129d3690db92e9597ccda62598e5a44d41.

* throw when two frames have different frame numbers

* write single part RawFile (working beta)

* correct total number of frames in master file

* add new mythen file with syncd frames

* save work

* save work for receive multimodule
multimodule config results in too much packet loss. needs more debugging.

* setup Task Distributiosn/ parallelization programming model

* read frames with same frame number

* clang-tidy fixes, formatting, add tests

* added second receiver

* Synchronize between zmq streams and merge frames

* improve readability in loop

* fix failing tests

* add simple test for merge frames

* restructure files and use top-level header

* working pedestal + tests

* test_pedestal statistics

* QA test pedestal, fix clang-tidy errors

---------

Co-authored-by: Bechir <bechir.brahem420@gmail.com>
Co-authored-by: Erik Frojdh <erik.frojdh@gmail.com>
2024-05-08 12:33:51 +02:00

27 lines
940 B
C++

#include "aare.hpp"
#include "aare/examples/defs.hpp"
#include <iostream>
using aare::File;
using aare::Frame;
void test(File &f, int frame_number) {
std::cout << "frame number: " << frame_number << '\n';
Frame frame = f.iread(frame_number);
std::cout << *(reinterpret_cast<uint16_t *>(frame.get(0, 0))) << '\n';
std::cout << *(reinterpret_cast<uint16_t *>(frame.get(0, 1))) << '\n';
std::cout << *(reinterpret_cast<uint16_t *>(frame.get(0, 1))) << '\n';
std::cout << *(reinterpret_cast<uint16_t *>(frame.get(255, 1023))) << '\n';
std::cout << *(reinterpret_cast<uint16_t *>(frame.get(511, 1023))) << '\n';
}
int main() {
auto PROJECT_ROOT_DIR = std::filesystem::path(getenv(AARE_ROOT_DIR));
std::filesystem::path const fpath(PROJECT_ROOT_DIR / "data" / "jungfrau" / "jungfrau_double_master_0.json");
std::cout << fpath << '\n';
File file(fpath, "r");
test(file, 0);
test(file, 9);
}