该项目实现将中子探测器事件数据处理为中子事件。用于处理来自 Gd-GEM、Muli-Grid、Multi-Blade、SoNDe 以及其他一些探测器的原始数据的管道已经实施。主要用 C/C++ 实现。
有关文件结构、体系结构、原语的更多详细信息,请参阅文档/README.md
essdaq 存储库有用于自动下载和编译该项目的脚本。下面是手动编译事件形成单元软件的说明。
要构建和运行该软件,需要以下依赖项。
$PATH
中可用。使用小于 2 的最新版本。Conan 用于下载依赖项。为了让 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
如果已安装所需的先决条件,还可以获得测试覆盖率报告。为此,您必须使用 cmake 在 makefile 中启用覆盖率测试。要启用 makefile 的覆盖率测试,请运行
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 许可证的许可,有关详细信息,请参阅许可证文件。