diff --git a/docs/src/api.md b/docs/src/api.md
index ff63f9b30520e01b7a4b0eb22be82a26c9443eac..11b3ac01508fb78438b5a999eb21b7146af69da7 100644
--- a/docs/src/api.md
+++ b/docs/src/api.md
@@ -82,6 +82,7 @@ read(filename::AbstractString, T::Type{AcousticsTriggerParameter})
 ## Calibration
 ```@docs
 calibrate
+combine
 floordist
 slew
 ```
diff --git a/src/KM3io.jl b/src/KM3io.jl
index 9cbf6fd2ff4b6428d21dbcd7b57f3389ba269dce..0bf122078027bf9440621873f1e378b24d853f5d 100644
--- a/src/KM3io.jl
+++ b/src/KM3io.jl
@@ -37,7 +37,7 @@ export Evt, Hit, TriggeredHit, Trk, CalibratedHit, XCalibratedHit, MCTrk, Calibr
 
 export K40Rates
 
-export calibrate, floordist, slew
+export calibrate, floordist, slew, combine
 
 export besttrack, bestjppmuon, bestjppshower, bestaashower,
        RecStageRange, hashistory, hasjppmuonprefit, hasjppmuonsimplex, hasjppmuongandalf,
diff --git a/src/calibration.jl b/src/calibration.jl
index 6fc3fe791d12bbb63fbaeadfe9755d3bb399c62b..4bc63d5eee574c0be4fe01890ce45aadf185738b 100644
--- a/src/calibration.jl
+++ b/src/calibration.jl
@@ -25,6 +25,32 @@ function calibrate(det::Detector, hits)
     calibrated_hits
 end
 
+"""
+Combine snapshot and triggered hits to a single hits-vector.
+
+This should be used to transfer the trigger information to the
+snapshot hits from a DAQEvent. The triggered hits are a subset
+of the snapshot hits.
+
+"""
+function combine(snapshot_hits::Vector{KM3io.SnapshotHit}, triggered_hits::Vector{KM3io.TriggeredHit})
+    triggermasks = Dict{Tuple{UInt8, Int32, Int32, UInt8}, Int64}()
+    for hit ∈ triggered_hits
+        triggermasks[(hit.channel_id, hit.dom_id, hit.t, hit.tot)] = hit.trigger_mask
+    end
+    n = length(snapshot_hits)
+    hits = sizehint!(Vector{TriggeredHit}(), n)
+    for hit in snapshot_hits
+        channel_id = hit.channel_id
+        dom_id = hit.dom_id
+        t = hit.t
+        tot = hit.tot
+        triggermask = get(triggermasks, (channel_id, dom_id, t, tot), 0)
+        push!(hits, TriggeredHit(dom_id, channel_id, t, tot, triggermask))
+    end
+    hits
+end
+
 
 """
 Calculates the average floor distance between neighboured modules.