โปรเจ็กต์นี้ใช้การประมวลผลข้อมูลเหตุการณ์เครื่องตรวจจับนิวตรอนไปเป็นเหตุการณ์นิวตรอน ไปป์ไลน์สำหรับการประมวลผลข้อมูลดิบจาก Gd-GEM, Muli-Grid, Multi-Blade, SoNDe รวมถึงตัวตรวจจับอื่นๆ สองสามตัวได้ถูกนำมาใช้แล้ว ส่วนใหญ่ใช้งานใน C/C++
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับโครงสร้างไฟล์ สถาปัตยกรรม พื้นฐาน โปรดดูที่เอกสารประกอบ/README.md
พื้นที่เก็บข้อมูล essdaq มีสคริปต์สำหรับการดาวน์โหลดและคอมไพล์โปรเจ็กต์นี้โดยอัตโนมัติ ทำตามคำแนะนำสำหรับการคอมไพล์ซอฟต์แวร์หน่วยการสร้างเหตุการณ์ด้วยตนเอง
ในการสร้างและรันซอฟต์แวร์นี้จำเป็นต้องมีการขึ้นต่อกันดังต่อไปนี้
$PATH
ปัจจุบัน ใช้เวอร์ชันล่าสุดที่เล็กกว่า 2Conan ใช้เพื่อดาวน์โหลดการอ้างอิง เพื่อให้โคนันทราบว่าสามารถดาวน์โหลดการอ้างอิงได้จากที่ใด ต้องเพิ่มที่เก็บแพ็กเกจ 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
เมื่อใช้โคนันเพื่อให้การขึ้นต่อกัน จะต้องจัดเตรียมตัวเลือกพิเศษ: --settings compiler.libcxx=libstdc++11
ดังนั้นการเรียกโคนันจึงกลายเป็น:
conan install --build=outdated .. --settings compiler.libcxx=libstdc++11
หากต้องการรันการทดสอบหน่วยสำหรับโปรเจ็กต์นี้ ให้รันคำสั่งต่อไปนี้:
make runtest
นอกจากนี้ยังสามารถรับรายงานความครอบคลุมการทดสอบได้ หากมีการติดตั้งข้อกำหนดเบื้องต้นที่จำเป็นแล้ว สำหรับสิ่งนี้ คุณต้องเปิดใช้งานการทดสอบความครอบคลุมใน makefile ด้วย cmake หากต้องการเปิดใช้งานการทดสอบความครอบคลุมสำหรับ makefiles ให้รัน
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 โปรดดูรายละเอียดในไฟล์ใบอนุญาต