此專案實作將中子探測器事件資料處理為中子事件。用於處理來自 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 許可證的許可,有關詳細信息,請參閱許可證文件。