このプロジェクトは、中性子検出器イベント データを中性子イベントに処理する実装です。 Gd-GEM、Muli-Grid、Multi-Blade、SoNDe、およびその他のいくつかの検出器からの生データを処理するためのパイプラインが実装されています。主に C/C++ で実装されています。
ファイル構造、アーキテクチャ、プリミティブの詳細については、documentation/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 のカバレッジ テストを有効にするには、次のコマンドを実行します。
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 ライセンスに基づいてライセンスされています。詳細については、LICENSE ファイルを参照してください。