11 个不稳定版本 (5 个破坏性版本)
0.6.0 | 2023 年 7 月 18 日 |
---|---|
0.4.0 | 2021 年 9 月 17 日 |
0.3.4 | 2021 年 3 月 11 日 |
0.3.2 | 2020 年 8 月 29 日 |
0.2.1 | 2018 年 11 月 4 日 |
#2755 in 解析器实现
每月 24 次下载
用于 2 crate
215KB
986 行
lhef
LHEF 文件格式 (LHEF) 文件的交互库。
Lhef 支持通过 Reader
和 Writer
结构体进行读写。生成运行信息通过 HEPRUP
对象提供,每个事件存储在一个 HEPEUP
对象中。这些结构体对应于原始提案中同名 Fortran 公共块,但包含额外的 info
字段,对应于 LHEF 标准中指定的“可选信息”。
目前,完全支持 LHEF 格式的 1.0 版本。2.0 和 3.0 版本的文件与 1.0 版本完全相同地进行解析。这意味着需要从 HEPRUP
和 HEPEUP
对象的 info
字段中手动提取额外的 XML 标签。
示例
use lhef::Reader;
use std::fs::File;
use std::io::BufReader;
let input = BufReader::new(File::open("events.lhe")?);
let mut reader = Reader::new(input)?;
println!("Information in comment header:\n{}", reader.header());
println!("Information in xml header:\n{:?}", reader.xml_header());
println!("Generator run information:\n{:?}", reader.heprup());
let event = reader.hepeup()?;
if let Some(event) = event {
println!("Found an event: {:?}", event);
}
许可证:GPL-3.0 或更高版本
依赖项
~1.1–1.7MB
~35K SLoC