diff options
author | Thomas White <taw@physics.org> | 2024-02-06 16:41:33 +0100 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2024-02-06 16:59:35 +0100 |
commit | 55c02192fad40514a9dd8456aac9381561641cfe (patch) | |
tree | 1571fae033b94d36206fc53fb1355a209cf0139c | |
parent | 5398ff3bc10439b8e4642256b7d8b21e17ae7ce2 (diff) |
Julia: Add "savereflist!"
-rw-r--r-- | julia/CrystFEL/src/CrystFEL.jl | 2 | ||||
-rw-r--r-- | julia/CrystFEL/src/reflists.jl | 15 |
2 files changed, 15 insertions, 2 deletions
diff --git a/julia/CrystFEL/src/CrystFEL.jl b/julia/CrystFEL/src/CrystFEL.jl index 91af5d19..95b2a61d 100644 --- a/julia/CrystFEL/src/CrystFEL.jl +++ b/julia/CrystFEL/src/CrystFEL.jl @@ -55,7 +55,7 @@ export PeakList include("reflists.jl") using .RefLists -export RefList, loadreflist +export RefList, loadreflist, savereflist! export Reflection, MergedReflection, UnmergedReflection include("crystal.jl") diff --git a/julia/CrystFEL/src/reflists.jl b/julia/CrystFEL/src/reflists.jl index c5edb794..e1766f83 100644 --- a/julia/CrystFEL/src/reflists.jl +++ b/julia/CrystFEL/src/reflists.jl @@ -3,7 +3,7 @@ module RefLists using Printf import ..CrystFEL: libcrystfel import ..CrystFEL.Symmetry: SymOpList, InternalSymOpList, symmetry_name -export RefList, loadreflist +export RefList, loadreflist, savereflist! export Reflection, UnmergedReflection, MergedReflection export InternalRefList @@ -123,6 +123,19 @@ function loadreflist(filename::AbstractString) end +function savereflist!(reflist::RefList{MergedReflection}, filename::AbstractString) + + r = @ccall libcrystfel.write_reflist_2(filename::Cstring, + reflist.internalptr::Ptr{InternalRefList}, + reflist.symmetry.internalptr::Ptr{InternalSymOpList})::Cint + + if r != 0 + throw(ErrorException("Failed to save reflection list")) + end + +end + + function Base.show(io::IO, ::MIME"text/plain", reflist::RefList{MergedReflection}) println(io, "Merged reflection list in point group ", symmetry_name(reflist.symmetry)) print(io, " h k l intensity σ(intens) nmeas") |