Este proyecto implementa el procesamiento de datos de eventos de detectores de neutrones en eventos de neutrones. Se han implementado tuberías para el procesamiento de datos sin procesar de Gd-GEM, Muli-Grid, Multi-Blade, SoNDe y algunos otros detectores. Implementado principalmente en C/C++.
Para obtener más detalles sobre la estructura del archivo, la arquitectura y las primitivas, consulte la documentación/README.md.
El repositorio de essdaq tiene scripts para descargar y compilar automáticamente este proyecto. A continuación se incluyen instrucciones para compilar manualmente el software de la unidad de formación de eventos.
Para construir y ejecutar este software se requieren las siguientes dependencias.
$PATH
actual. Utilice la última versión inferior a 2.Conan se utiliza para descargar dependencias. Para que conan sepa desde dónde se pueden descargar las dependencias, se debe agregar el repositorio de paquetes ecdc ejecutando el siguiente comando:
conan remote add ecdc-conan-release https://artifactory.esss.lu.se/artifactory/api/conan/ecdc-conan-release
Tenga en cuenta también que para obtener funciones adicionales es posible que desee instalar las siguientes dependencias manualmente:
Ejecute los siguientes comandos:
git clone https://github.com/ess-dmsc/event-formation-unit.git
cd event-formation-unit
mkdir build
cd build
cmake ..
make
Cuando se usa conan para proporcionar las dependencias, se debe proporcionar una opción adicional: --settings compiler.libcxx=libstdc++11
. Así la llamada a conan se convierte en:
conan install --build=outdated .. --settings compiler.libcxx=libstdc++11
Para ejecutar las pruebas unitarias para este proyecto, ejecute los siguientes comandos:
make runtest
También es posible obtener un informe de cobertura de prueba si se han instalado los requisitos previos requeridos. Para esto debes habilitar la prueba de cobertura en el archivo MAKE con cmake. Para habilitar la prueba de cobertura para archivos MAKE, ejecute
cmake -DCOV=Y
Luego, para obtener el informe de cobertura, ejecute
make coverage
Para ejecutar una prueba de pérdida de memoria (usando Valgrind), ejecute:
make valgrind
A continuación se muestra un ejemplo de los comandos necesarios para ejecutar una canalización de formación de eventos (en este caso, la canalización freia ):
make efu freia
cd bin
./efu -d ../modules/freia --nohwcheck
Tenga en cuenta que también deberá proporcionar un archivo de configuración en el caso del módulo freia .
Para obtener los argumentos de línea de comando disponibles, use -h
o --help
. Esto también funciona cuando se proporciona un argumento de módulo detector. Por ejemplo:
./efu -d ../modules/freia -h
Lea el archivo CONTRIBUTING.md para obtener detalles sobre nuestro código de conducta y el proceso para enviarnos solicitudes de extracción.
Consulte también la lista de contribuyentes en Github.
Este proyecto tiene la licencia BSD-2; consulte el archivo de LICENCIA para obtener más detalles.