В этом проекте реализована обработка данных о событиях нейтронного детектора в нейтронные события. Реализованы конвейеры обработки необработанных данных с Gd-GEM, Muli-Grid, Multi-Blade, SoNDe, а также некоторых других детекторов. В основном реализовано на C/C++.
Подробнее о файловой структуре, архитектуре, примитивах см. в документации/README.md.
В репозитории essdaq есть скрипты для автоматической загрузки и компиляции этого проекта. Ниже приведены инструкции по ручной компиляции программного обеспечения блока формирования событий.
Для сборки и запуска этого программного обеспечения необходимы следующие зависимости.
$PATH
. Используйте последнюю версию меньше 2.Conan используется для загрузки зависимостей. Чтобы Конан знал, откуда можно загрузить зависимости, необходимо добавить репозиторий пакетов ecdc, выполнив следующую команду:
conan remote add ecdc-conan-release https://artifactory.esss.lu.se/artifactory/api/conan/ecdc-conan-release
Также обратите внимание, что для получения дополнительной функциональности вам может потребоваться вручную установить следующие зависимости:
Выполните следующие команды:
git clone https://github.com/ess-dmsc/event-formation-unit.git
cd event-formation-unit
mkdir build
cd build
cmake ..
make
При использовании conan для предоставления зависимостей необходимо предоставить дополнительную опцию: --settings compiler.libcxx=libstdc++11
. Таким образом, вызов conan превращается в:
conan install --build=outdated .. --settings compiler.libcxx=libstdc++11
Чтобы запустить модульные тесты для этого проекта, выполните следующие команды:
make runtest
Также можно получить отчет о тестовом покрытии, если установлены необходимые предварительные условия. Для этого вам необходимо включить тест покрытия в make-файле с помощью cmake. Чтобы включить тест покрытия для make-файлов, запустите
cmake -DCOV=Y
Затем, чтобы получить отчет о покрытии, запустите
make coverage
Чтобы запустить тест на утечку памяти (с использованием Valgrind), запустите:
make valgrind
Ниже приведен пример команд, необходимых для запуска конвейера формирования событий (в данном случае конвейера Freia ):
make efu freia
cd bin
./efu -d ../modules/freia --nohwcheck
Обратите внимание, что вам также необходимо будет предоставить файл конфигурации в случае модуля Freia .
Чтобы получить доступные аргументы командной строки, используйте -h
или --help
. Это работает и при предоставлении аргумента модуля детектора. Например:
./efu -d ../modules/freia -h
Пожалуйста, прочтите файл CONTRIBUTING.md для получения подробной информации о нашем кодексе поведения и процессе отправки нам запросов на включение.
См. также список участников на Github.
Этот проект лицензируется по лицензии BSD-2. Подробности см. в файле ЛИЦЕНЗИИ.