Dieses Projekt implementiert die Verarbeitung von Neutronendetektor-Ereignisdaten in Neutronenereignisse. Pipelines zur Verarbeitung von Rohdaten von Gd-GEM, Muli-Grid, Multi-Blade, SoNDe sowie einigen anderen Detektoren wurden implementiert. Größtenteils in C/C++ implementiert.
Weitere Einzelheiten zur Dateistruktur, Architektur und Grundelementen finden Sie in der Dokumentation/README.md
Das essdaq-Repository verfügt über Skripte zum automatischen Herunterladen und Kompilieren dieses Projekts. Es folgen Anweisungen zum manuellen Kompilieren der Software für die Ereignisbildungseinheit.
Um diese Software zu erstellen und auszuführen, sind die folgenden Abhängigkeiten erforderlich.
$PATH
verfügbar sein. Verwenden Sie die neueste Version kleiner als 2.Conan wird zum Herunterladen von Abhängigkeiten verwendet. Damit Conan weiß, woher die Abhängigkeiten heruntergeladen werden können, muss das ecdc-Paket-Repository durch Ausführen des folgenden Befehls hinzugefügt werden:
conan remote add ecdc-conan-release https://artifactory.esss.lu.se/artifactory/api/conan/ecdc-conan-release
Beachten Sie auch, dass Sie für zusätzliche Funktionen möglicherweise die folgenden Abhängigkeiten manuell installieren möchten:
Führen Sie die folgenden Befehle aus:
git clone https://github.com/ess-dmsc/event-formation-unit.git
cd event-formation-unit
mkdir build
cd build
cmake ..
make
Wenn Conan zum Bereitstellen der Abhängigkeiten verwendet wird, muss eine zusätzliche Option bereitgestellt werden: --settings compiler.libcxx=libstdc++11
. So wird aus dem Aufruf an Conan:
conan install --build=outdated .. --settings compiler.libcxx=libstdc++11
Führen Sie die folgenden Befehle aus, um die Komponententests für dieses Projekt auszuführen:
make runtest
Es ist auch möglich, einen Testabdeckungsbericht zu erhalten, wenn die erforderlichen Voraussetzungen installiert wurden. Dazu müssen Sie den Coverage Test im Makefile mit cmake aktivieren. Führen Sie Folgendes aus, um den Abdeckungstest für Makefiles zu aktivieren:
cmake -DCOV=Y
Führen Sie dann Folgendes aus, um den Abdeckungsbericht zu erhalten:
make coverage
Führen Sie Folgendes aus, um einen Speicherlecktest (mit Valgrind) durchzuführen:
make valgrind
Es folgt ein Beispiel für die Befehle, die zum Ausführen einer Ereignisformationspipeline (in diesem Fall der Freia -Pipeline) erforderlich sind:
make efu freia
cd bin
./efu -d ../modules/freia --nohwcheck
Beachten Sie, dass Sie auch im Fall des Freia -Moduls eine Konfigurationsdatei bereitstellen müssen.
Um die verfügbaren Befehlszeilenargumente abzurufen, verwenden Sie -h
oder --help
. Dies funktioniert auch, wenn ein Detektormodulargument bereitgestellt wird. Zum Beispiel:
./efu -d ../modules/freia -h
Bitte lesen Sie die Datei CONTRIBUTING.md, um Einzelheiten zu unserem Verhaltenskodex und dem Verfahren zur Übermittlung von Pull-Anfragen an uns zu erfahren.
Siehe auch die Liste der Mitwirkenden auf Github.
Dieses Projekt ist unter der BSD-2-Lizenz lizenziert. Weitere Informationen finden Sie in der LIZENZ-Datei.