Skip to content
Snippets Groups Projects
Commit 8c875d94 authored by Tamas Gal's avatar Tamas Gal :speech_balloon:
Browse files

Merge branch '25-using-threads-while-looping-on-events' into 'main'

Resolve "Using threads while looping on events"

Closes #25

See merge request !14
parents 9e9bd865 3c79edf3
No related branches found
No related tags found
1 merge request!14Resolve "Using threads while looping on events"
name = "KM3io"
uuid = "2cab5852-6f21-4982-99b0-6a4792870cfb"
authors = ["Tamas Gal", "Johannes Schumann"]
version = "0.12.5"
version = "0.12.6"
[deps]
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
......
......@@ -208,6 +208,8 @@ OfflineTree(filename::AbstractString) = OfflineTree(UnROOT.ROOTFile(filename))
Base.close(f::OfflineTree) = close(f._fobj)
Base.length(f::OfflineTree) = length(f._t.Evt_id)
Base.firstindex(f::OfflineTree) = 1
Base.lastindex(f::OfflineTree) = length(f)
Base.eltype(::OfflineTree) = Evt
function Base.iterate(f::OfflineTree, state=1)
state > length(f) ? nothing : (f[state], state+1)
......
......@@ -53,6 +53,8 @@ Base.getindex(c::EventContainer, idx::Integer) = DAQEvent(c.headers[idx], c.snap
Base.getindex(c::EventContainer, r::UnitRange) = [c[idx] for idx r]
Base.getindex(c::EventContainer, mask::BitArray) = [c[idx] for (idx, selected) enumerate(mask) if selected]
Base.length(c::EventContainer) = length(c.headers)
Base.firstindex(c::EventContainer) = 1
Base.lastindex(c::EventContainer) = length(c)
Base.eltype(::EventContainer) = DAQEvent
function Base.iterate(c::EventContainer, state=1)
state > length(c) ? nothing : (DAQEvent(c.headers[state], c.snapshot_hits[state], c.triggered_hits[state]), state+1)
......@@ -104,6 +106,8 @@ Base.getindex(c::SummarysliceContainer, idx::Integer) = Summaryslice(c.headers[i
Base.getindex(c::SummarysliceContainer, r::UnitRange) = [c[idx] for idx r]
Base.getindex(c::SummarysliceContainer, mask::BitArray) = [c[idx] for (idx, selected) enumerate(mask) if selected]
Base.length(c::SummarysliceContainer) = length(c.headers)
Base.firstindex(c::SummarysliceContainer) = 1
Base.lastindex(c::SummarysliceContainer) = length(c)
Base.eltype(::SummarysliceContainer) = Summaryslice
function Base.iterate(c::SummarysliceContainer, state=1)
state > length(c) ? nothing : (c[state], state+1)
......
......@@ -18,6 +18,7 @@ const USRFILE = datapath("offline", "usr-sample.root")
@test 56 == length(t[1].trks)
@test 0 == length(t[1].w)
@test 17 == length(t[1].trks[1].fitinf)
@test 0.009290906625313346 == t[end].trks[1].fitinf[1]
close(f)
f = ROOTFile(datapath("offline", "numucc.root"))
......@@ -110,6 +111,8 @@ end
@test [26, 29, 30, 23, 30] == [h.tot for h in hits[3][1:5]]
@test [28, 11, 27, 24, 23] == [h.tot for h in hits[3][end-4:end]]
@test 808447186 == f.online.events[end].triggered_hits[1].dom_id
thits = f.online.events.triggered_hits
@test 3 == length(thits)
@test 18 == length(thits[1])
......@@ -139,6 +142,12 @@ end
@test headers[2].overlays == 21
@test headers[3].overlays == 0
events = []
Threads.@threads for event in f.online.events
push!(events, event)
end
@test 3 == length(events)
events = []
for event in f.online.events
push!(events, event)
......@@ -162,6 +171,8 @@ end
@test 68 == length(s[3].frames)
@test 44 == s[1].header.detector_id == s[2].header.detector_id == s[3].header.detector_id
@test 68 == length(s[end].frames)
module_values = Dict(
808981510 => (fifo = true),
808981523 => (fifo = false),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment